Үй роутерінің артында PPTP екі байланыспайтын жолмен істен шығады, ал оларды шатастыру тұтас бір кешті жоғалтады. Бір ақау — жіберудегі саңылау: роутер TCP 1723-ті өткізіп, IP протоколы 47-ні тастайды, сондықтан клиент 619 қатесінде тұрып қалады. Екіншісі — өлшем мәселесі: туннель көтеріледі, аутентификациядан өтеді, содан кейін толық өлшемді пакет өтуі керек болғанда қатып қалады. Қайсысы бар екенін анықтау — бірінші шынайы қадам; қалғаны сіздің роутеріңіз нені білдіре алатынын салыстырады, қай бренд жақсы екенін емес.

Екі тасымалдаушы, және тек біреуінде порт бар

PPTP екі тасымалдаушыға бөлінеді: TCP 1723-тегі басқару қосылымы және кеңейтілген GRE-ге оралған PPP кадрлары, яғни IP протоколы 47. GRE-де порт нөмірі жоқ, сондықтан 1723 портын жіберу деп жазылған ереже оны қамти алмайды, веб-интерфейс өрісті қалай атаса да. Тұтынушылық роутер әдетте протокол ережесінің орнына PPTP өткізу деп аталатын ұяшық ұсынады, және ол ұяшық екі іс атқарады: 47 протоколын өрт сөндіргіштен өткізеді және NAT-қа GRE ағынын бақылауды үйретеді. Linux роутерінде бұл істер жеке модульдер мен жеке ережелер, сондықтан жартылай конфигурацияланған өткізу әлі де жұмыс істейтін басқару арнасын береді. Бірдеңені өзгертуден бұрын қай жартысы бар екенін анықтаңыз.

Сервердің өз өрт сөндіргіші де роутер мекенжайынан 47 протоколына рұқсат беруі керек. Тек 1723/tcp қабылдайтын хост өрт сөндіргіші LAN ішінен 619 қатесін қайта жаңғыртады, сондықтан бұзылған жіберу мен бұзылған хост ережесі бірдей көрінеді.

sudo iptables -S FORWARD | grep -i gre
sudo nft list ruleset | grep -i gre
lsmod | grep -E 'nf_conntrack_proto_gre|nf_nat_proto_gre'

Модульдер болмаса, оларды sudo modprobe nf_conntrack_proto_gre nf_nat_proto_gre арқылы жүктеңіз және жүктеуді тұрақты етіңіз, өйткені көмекшіні ұмытатын қайта жүктеу жұмыс істеп тұрған туннельді қайтадан 619 қатесіне айналдырады. Жіберу ережесі 47 протоколын тек сервер мекенжайына қарай қабылдауы керек, бүкіл LAN-ға емес. RFC 2637 анықтамасы басқару мен деректер жолын бөледі, сондықтан ешбір бір портты жіберу экраны PPTP-ні толық сипаттамайды.

Өткізу ұяшығы немесе нақты протокол ережесі

Тек өрт сөндіргішті ашатын өткізу ұяшығы қоңырау идентификаторларын қайта жазатын ALG-ден дұрысқа жақын. Өрт сөндіргіш жартысы болжамды, өйткені 47 протоколы не қабылданады, не тасталады, ал санауыштар қайсысын көрсетеді. Қайта жазу жартысы — өндірушілердің ерекшеленетін жері, өйткені PPTP қоңырау идентификаторлары әр туннельге тән және оларды өңдейтін NAT тиіп кеткен әр қоңырауды бақылауы керек. Бір клиент қосылып, екеуі қосылмаса, ALG — бірінші күдікті.

1723 үшін межелі NAT ережесінің де иелік мәселесі бар. Ескі ереже әлі де серверді тоқтатқан хостқа 1723 жіберсе, пакеттер жабық портқа түседі және роутердің өз PPTP қызметі жауап беруді тоқтатады, бұл өрт сөндіргіш ақауы болып оқылады, бірақ шын мәнінде ескірген нысан. Ережені және оның межесін екіншісін қоспас бұрын оқыңыз. PPTP-ні өздері аяқтайтын роутерлерде WAN ережесі кіріктірілген қызметпен бәсекелеседі, сондықтан 1723 мен 47 протоколы үшін бір ие таңдаңыз.

Бір NAT-тың артындағы екі клиент — қарапайым жіберуді ақылдысынан ажырататын жағдай. Қоңырау идентификаторларын қайта жазбай 47 протоколын жіберу әдетте оларды түзетуге тырысатын көмекшіден жақсырақ әрекет етеді.

Роутерді кінәламас бұрын туннельді өлшеңіз

PPTP пайдалы жүктемені азайтады, және бұл азаю — арифметика, жұмбақ емес. Әрбір туннель пакеті сыртқы IP тақырыбын, кеңейтілген GRE тақырыбын, PPP тақырыбын және шифрлау болса MPPE тақырыбын алып жүреді. Жол пайда болған кадрды тасымалдай алмаса, шағын пакеттер өтеді, кіру аяқталады және файл тасымалы немесе TLS қол алысуы толық өлшемді пакет жіберген сәтте сессия тоқтайды.

Санды болжамай, есептеңіз. Кеңейтілген GRE 8 байт, PPP 4 байт, MPPE 4 байт, сыртқы IP тақырыбы 20 байт, сондықтан туннель кез келген жүктемеге дейін 36 байт жейді. 1492-де аяқталатын PPPoE WAN-да сыятын ең үлкен PPP MTU — 1492 минус 36, яғни 1456. PPP параметрлерінде mtu мен mru-ті сол мәнге қойып, бөлшектемейтін ping-мен қайта сынаңыз.

ping -M do -s 1464 198.51.100.7
grep -E '^(mtu|mru)' /etc/ppp/options.pptpd

Ping жолды өлшейді, туннельді емес: 1464 байт жүктеме қосу 28 байт IP және ICMP тақырыптары 1492 байттық кадрды дәл толтырады. Егер бұл ping өтпесе, өткенше санды төмендетіп, нәтижеден 36 алыңыз. Жол шегінен жоғары қойылған туннель MTU өлшемді еске салатын бірде-бір журнал жолынсыз қатып қалуды тудырады.

Бір роутерде PPTP, L2TP/IPsec немесе OpenVPN

Сол роутер үш кәдімгі туннельдің кез келгенін тасымалдай алады, ал айырмашылық — оның нені білдіруі керектігінде. PPTP екі түрлі қабатта екі ереже қажет етеді. IPsec үстіндегі L2TP кілт алмасу үшін UDP 500 мен 4500-ді, ал NAT-T оны тасымалдамаса, жүктеме үшін 50 протоколын қажет етеді. OpenVPN бір UDP портын қажет етеді және мүлде көмекші қажет емес.

TunnelWhat the router must allowPractical note
PPTPTCP 1723 and IP protocol 47Two transports, two rules
L2TP/IPsecUDP 500, UDP 4500, protocol 50 without NAT-TESP has no port either
OpenVPNUDP 1194 or a chosen TCP portSingle rule, no helper

L2TP бағаны GRE-ден автоматты түрде достық емес. ESP — IP протоколы 50 және оның да порты жоқ, сондықтан 47 протоколымен қиналған роутер сол себептен 50 протоколымен де қиналуы мүмкін. NAT-T ESP-ні UDP 4500 ішіне орау үшін бар, және екі шеті де қолдаса, 50 протоколының ережесі артық болады. Бұл шеттердің қасиеті, роутердің PPTP ұяшығының емес. Екеуіне де ереже жазбас бұрын клиент шын мәнінде қандай инкапсуляцияны келіскенін растаңыз.

OpenVPN — роутер жағында ең аз қозғалмалы бөлігі бар нұсқа. Бір UDP порты, бір жіберу, қосылымдарды бақылайтын көмекші жоқ және қоңырау идентификаторларын қайта жазу жоқ. Айырбас — кіріктірілген тергіш орнына орнатылатын клиент, және PPTP-нің әңгімеде қалуының жалғыз себебі көбіне осы.

Нені жөндеу керек және нені ауыстыру керек

Жіберу мен MTU-ды түзету сізге жұмыс істейтін туннель береді, сақтауға тиіс туннель емес. PPTP-нің MSCHAPv2 аутентификациясы жылдар бойы шабуылға ашық, ал жұмыс істейтін туннель офлайн қалпына келтіруге болатын тіркелгі деректерін тасымалдайды. Егер қашықтағы құрылғы L2TP/IPsec немесе OpenVPN іске қоса алса, жөндеуді күні бар уақытша шара деп қараңыз.

Шешім қашықтағы шеттің нені қолдайтынына және келісім қаншаға созылуы керектігіне байланысты. Тек PPTP сөйлейтін ескі құрылғы жөндеу алады; клиент орнатуға болатынның бәрі көшіріледі.

Билетті жаппас бұрын клиенттің кіруге емес, үлкен тасымалға шыдайтынын және қайта жүктеуден кейін де роутер 47 протоколының ережесін ұстайтынын растаңыз. Бір файл көшірмесінен өтіп, келесі firmware жаңартуынан кейін өлетін туннель ешқашан аяқталмаған.

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