PPTP өткізу жоқ: Windows VPN 807 қатесін түзету
TCP 1723-ті ғана өткізу PPTP-нің 807 қатесін жоймайды. GRE — IP 47 протоколы, сондықтан маршрутизаторға өткізу немесе нақты протокол ережесі қажет.
TCP 1723-ті өткізу көбінесе PPTP-нің бірінші бөлігін ашады да, қалғанын сынған күйде қалдырады, сондықтан Windows әрекет кезінде 807 қатесін қайтара береді. Келесі инстинкт — 47 порты үшін ереже қосу, және дәл осы қадам жарты күнді жоғалтады: GRE — IP тақырыбындағы протокол нөмірі, ал өткізу кестесі сәйкестендіре алатын порт емес. Маршрутизатор 47 протоколын өткізіп, оны сол шақыруға байламайынша, туннель бастала алмайды. Төмендегі бөлімдер екі арнаны ажыратып, содан кейін оларды бір-бірлеп тексереді.
Порт кестесінде протокол нөмірі үшін жол жоқ
PPTP әртүрлі жолдармен сәтсіз аяқталатын екі әңгімені пайдаланады. TCP 1723-тегісі шақыруды бастайды, байланыс ақпаратын береді және пайдаланушы ажырағанда оны тоқтатады. Жүктеме жағы GRE ішінде жұмыс істейді, оны IP тақырыбы 47 протокол нөмірімен белгілейді, ал сол туннельдің ішінде PPP байланыс туралы келіседі, MS-CHAPv2 тіркелгі деректерін тексереді.
GRE ешқандай тасымалдау тақырыбын алып жүрмейтіндіктен, ол ешбір портты көрсетпейді, сондықтан порттар үшін жазылған ереженің сәйкестендіретін ештеңесі жоқ. 1723-ті өткізетін маршрутизатор сол TCP сессиясы үшін карта жасап, сонда тоқтайды. Екінші жартысын өңдейтін прошивка бұл функцияны PPTP өткізуі немесе PPTP ALG деп атайды, ал кейбір прошивкалар екеуін де ұсынбайды және бұл олқылықты ешқашан атамайды. Құсбелгідегі жазу 47 протоколының мүлде танылуынан гөрі маңызы аз.
Деректер жолы өлгенде Windows не хабарлайды
807 қатесі қосылымды аяқтау мүмкін болмағанын айтады, бұл іс жүзінде шақыру серверге жеткенін, ал деректер арнасы көтерілмегенін білдіреді. Бұл көлік туралы үкім, тіркелгі туралы емес. 691 қатесі тіркелгі деректеріне немесе аутентификация протоколының сәйкессіздігіне меңзейтін қате, сондықтан ол сізді мүлде басқа жерге жібереді.
Құпия сөзге тиместен бұрын көлікпен жұмыс істеңіз. 807-нің соңынан тіркелгі деректерін өзгерту нақты ақауды орнында қалдырады және келесі әрекетті оқуды қиындатады.
Неге екінші клиент жұмыс істеп тұрған туннельді бұзады
Оларды ажырататын порттар болмағандықтан, NAT құрылғысы екі HTTPS сессиясын ажыратқанындай екі PPTP клиентін ажырата алмайды. Сондықтан көптеген тұтыну құрылғылары бір ғана PPTP шақыруына рұқсат беріп, оны бастапқы мекенжай бойынша бақылайды. Жалғыз жұмыс істеген ноутбук екінші машина қоңырау шалған соң аяқталуды тоқтатады, ал клиент жағынан сәтсіздік кездейсоқ көрінеді. Бұл үлгі прошивкаға тән, және ешбір профиль өзгерісі оны өзгертпейді.
Екі клиент те қоңырау шалып жатқанда қосылымдар кестесін бақылаңыз. Егер әрдайым тек бірінші хост қана картаны ұстап тұрса, маршрутизатор қолдай алатынының шегіне жеткен және клиент жағындағы ешбір параметр оны жылжытпайды.
Қай жартысы сәтсіз екенін дәлелдеңіз
Маршрутизаторда бірдеңе өзгертуден бұрын TCP 1723 келіп жатқанын растаңыз, өйткені сол жауап қай жартысын тексеріп жатқаныңызды анықтайды. Осыларды Windows клиентінен өз сервер атауыңызға қарсы орындаңыз. Біріншісі порт жауап берді ме, соны басып шығарады, ал екіншісі диалогсыз қоңырау шалады, бұл қайталанатын әрекеттерді салыстыруға мүмкіндік береді.
Test-NetConnection vpn.example.com -Port 1723
rasdial "Work VPN"
Порт тестіндегі ақиқат нәтиже басқару арнасы ашық екенін және GRE қалған күдікті екенін білдіреді. Жалған нәтиже маршруттау, сүзгі немесе өткізу бұзылғанын білдіреді, және GRE-дегі ешбір өзгеріс оны құтқармайды. Деректер жағын ол көрінетін жерде, серверде немесе маршрутизаторда бақылау керек.
tcpdump -ni any proto 47
Wireshark-тағы балама — ip proto 47 көрсету сүзгісі, оны командалық жолда өзін жайлы сезінбейтін адамға беру оңайырақ. Жауапта ештеңе шықпай GRE келсе, қайту жолын түзету қажет деген сөз.
Қатені шын мәнінде не түзетеді
Маршрутизатор параметрді көрсететін жерде PPTP өткізуін қосыңыз немесе ережелерді қабылдайтын прошивкада 47 протоколына анық рұқсат беріңіз. RouterOS-та өткізу ережесі протоколмен тікелей сәйкестенеді, портқа негізделген өткізу мұны ешқашан істей алмас еді. Тұтыну прошивкасы әдетте сол шешімді құсбелгінің артына жасырады, кейде порт өткізуінің астында емес, қауіпсіздік параметрлерінің астында. Егер мұндай басқару болмаса, клиентте ешнәрсе оны өтемейді.
/ip firewall filter add chain=forward protocol=gre action=accept
/ip firewall filter print where protocol=gre
PPTP-ні ауыстыру — басқа нұсқа және көбінесе арзанырақ. VPN-ді өзі аяқтайтын маршрутизатор кіріс клиенттер үшін қос NAT-тан аулақ болады, ал портқа негізделген NAT өңдеп жатқан протоколға өткізу мүлде қажет емес: UDP үстінде OpenVPN, TCP 443 үстінде SSTP немесе ESP-ні UDP 4500 ішіне орайтын NAT-T-мен L2TP/IPsec. PPTP сондай-ақ MS-CHAPv2-ге тәуелді, оның құжатталған әлсіздіктері қате жойылғаннан кейін де оны жаңа орналастыру үшін нашар таңдау етеді.
Қай ереже айырмашылық жасағанын жазып қойыңыз, өйткені екінші пайдаланушы қатынас сұрағанда сол сайт сол шектеуге тап болады. Протокол деңгейіндегі түзету желі жазбаларына тиесілі, келесі инженер сонда қарайды.