Бір PPTP клиентінен келген үш қате хабарламасы әдетте үш түрлі ақауды сипаттайды. 800 қатесі туннельдің ешқашан құрылмағанын білдіреді, 812 қатесі сервердің аутентификация әдісін қабылдамағанын білдіреді, ал бір минуттан кейінгі үзіліс — дені сау серіктестің кеткенін шешетін keepalive таймері. Әр кезең өз себебінен сәтсіз болады, сондықтан әрқайсысына өз тексерісі қажет.

800 қатесі туннельдің ешқашан құрылмағанын білдіреді

Windows 800 қатесін туннельді мүлдем сала алмағанда шығарады, ал жетуге болмайтын сервер немесе жарамсыз қауіпсіздік параметрлері туралы мәтін диагноз емес, қорытынды. PPTP кез келген есептік деректерді тексеруден бұрын желіден екі бөлек нәрсе талап етеді. TCP 1723 басқару арнасын тасымалдайды, ал IP 47 протоколы, яғни GRE, инкапсуляцияланған жүктемені тасымалдайды.

Бұл сыртқы жолды өз LAN-ыңыздан тыс жерден тексеріңіз, өйткені кеңседе жұмыс істейтін қосылым шет туралы ештеңе дәлелдемейді:

$ nc -vz vpn.example.net 1723
Connection to vpn.example.net 1723 port [tcp/*] succeeded!
$ sudo tcpdump -ni eth0 proto gre
tcpdump: listening on eth0, link-type EN10MB

Егер 1723 жауап беріп, клиент қосылуға тырысқанда түсірім бос қалса, жол 47 протоколын тастап отыр. 1723 бағытталған, бірақ PPTP өткізуі өшірулі маршрутизатор дәл осы суретті береді: TCP қол алысуы аяқталады, содан кейін GRE пакеттері жоғалады, сондықтан ақау есептік деректер мәселесіне ұқсайды, бірақ кіру әрекеті жасалмаған.

Бағыттауды сервердің ағымдағы LAN мекенжайына бағыттаңыз, маршрутизатор ұсынатын жерде PPTP өткізуін қосыңыз және сол сыртқы нүктеден қайта көріңіз. GRE жоғарыда сүзілсе және оны өзгерте алмасаңыз, TCP 443 үстіндегі SSTP немесе UDP 500 және 4500 үстіндегі L2TP/IPsec Windows жағында жасай алатын кез келген өзгерістен гөрі мүмкіндігі мол.

812 қатесі — сервердің сіздің аутентификация әдісіңізді қабылдамауы

812 қатесі туннель көтерілгеннен кейін қайтады, сондықтан құпия сөз мәселесіндей сезіледі. Сервер қосылым үшін келісілген аутентификация әдісін қабылдамайды, міндетті түрде құпия сөздің өзін емес. Клиентте VPN жазбасын ашыңыз, қауіпсіздік қойындысына өтіңіз, түрін Point-to-Point Tunneling Protocol етіп орнатыңыз, айқын протоколдар тізімін таңдаңыз және Microsoft CHAP 2-нұсқасын белгілеңіз.

Ағымдағы параметрді диалогты басып шықпай-ақ оқуға болады:

$ Get-VpnConnection -Name "Office" | Select-Object -ExpandProperty AuthenticationMethod
MsChapv2

MS-CHAP v2 талап ететін сервер PAP-та немесе әлсіздеу нәрсеге келісетін автоматты түрде қалдырылған клиентті қабылдамайды, ал қате кез келген пайдаланушы құпия сөзін бағалауға дейін келеді. Есептік жазба пішімі сол қабылдамаудың екінші жартысы. Бір жағдайда Windows MicrosoftAccount\[email protected] түріндегі Microsoft есептік жазба сәйкестігін жіберді, ал сервер жергілікті немесе домендік есептік жазбаны қалады. SERVERNAME\username теру Windows-қа қай есептік жазба қоймасына жүгіну керектігін айтып, қатені жойды. Атауды қолмен енгізіңіз, сақталған есептік деректерге бұрынғы пішімді қайталауға жол бермей.

Бір минуттан кейінгі үзілістер — keepalive шешімі

Туннель қосылып, аздап трафик өткізіп, содан кейін ажыратылса, клиентке тиіспес бұрын сервердің LCP жаңғырық мінез-құлқын қараңыз. Демон серіктестен әлі бар екенін растауды мезгіл-мезгіл сұрайды. Белгіленген бюджет ішінде тым аз жауап келсе, пайдаланушының әлі жұмыс істейтін байланысы болса да, сессия бұзылады.

Linux pptpd серверінде бұл мәндер /etc/ppp/options.pptpd ішінде тұрады, ал әдеттегі жөндеу интервалды қысқарту емес, бюджетті кеңейту:

# /etc/ppp/options.pptpd
lcp-echo-failure 30
lcp-echo-interval 5
# then
sudo systemctl restart pptpd

Бес секунд аралықтағы отыз өткізіп алу қысқа кідірісті кешіреді, серіктесті кетті деп жариялаудың орнына. Санды бір немесе екіге төмендету аударылған жолдағы әдеттегі дірілді шамамен әр минут сайын ажыратуға айналдырады. Егер серверіңіз pptpd емес, Windows RRAS болса, оның орнына PPP сессиясының тайм-аутын және бос тұрғанда ажырату саясатын қараңыз. Олар басқа жерде тұрады, ал жоқ pppd файлын өңдеу ештеңені өзгертпейді.

Қабаттасқан ішкі желілер деректер жолын бұзады

PPTP туннелі таза аутентификацияланып, бәрібір еш жерге жетпеуі мүмкін, егер екі алаң бірдей жеке диапазонды пайдаланса, мысалы кеңседе және үйде 192.168.1.0/24. Клиент берілген мекенжайдың қай хостқа қатысты екенін айта алмайды, ал кейбір стектер біреуін таңдаудың орнына маршрутты мүлдем орнатпайды.

Мұны жобалау ақауы деп қарап, бір жағын қайта нөмірлеңіз немесе клиентке әдейі аударылған қатынау диапазонын беріңіз. PPTP клиентін жөндеу екі рет бар мекенжай кеңістігін түзете алмайды, ал симптом кездейсоқ үзіліс сияқты көріне береді.

Сәтсіз болған кезеңнен бастаңыз: 800 үшін GRE, 812 үшін әдіс және есептік жазба жолы, кесте бойынша өлетін туннель үшін жаңғырық параметрлері.

Қатысты мақалалар