Uy routeri orqasida PPTP ikki bog'lanmagan usulda ishlamay qoladi va ularni aralashtirish butun bir oqshomni yo'qotadi. Bitta nosozlik yo'naltirishdagi bo'shliq: router TCP 1723 ni o'tkazadi va IP protokoli 47 ni tashlab yuboradi, shuning uchun mijoz 619 xatosida osilib qoladi. Ikkinchisi o'lcham muammosi: tunnel ko'tariladi, autentifikatsiyadan o'tadi va keyin to'liq o'lchamli paket o'tishi kerak bo'lganda qotib qoladi. Qaysi biri sizda borligini aniqlash birinchi haqiqiy qadam; qolgani routeringiz nimani ifodalay olishini solishtiradi, qaysi brend yaxshiroq ekanini emas.

Ikki tashuvchi va faqat bittasida port bor

PPTP ikki tashuvchiga bo'linadi: TCP 1723 dagi boshqaruv aloqasi va kengaytirilgan GRE ichiga o'ralgan PPP kadrlari, ya'ni IP protokoli 47. GRE da port raqami yo'q, shuning uchun 1723 portini yo'naltirish deb yozilgan qoida uni qamrab olmaydi, veb-interfeys bu maydonni qanday nomlashidan qat'i nazar. Uy routeri odatda protokol qoidasi o'rniga PPTP o'tkazish deb nomlangan katakchani taklif qiladi va bu katak ikki ish qiladi: protokol 47 ni xavfsizlik devoridan o'tkazadi va NAT ga GRE oqimini kuzatishni o'rgatadi. Linux routerida bu ishlar alohida modullar va alohida qoidalardir, shuning uchun yarim sozlangan o'tkazish baribir ishlaydigan boshqaruv kanalini beradi. Biror narsani o'zgartirishdan oldin qaysi yarim borligini aniqlang.

Serverning o'z xavfsizlik devori ham router manzilidan protokol 47 ga ruxsat berishi kerak. Faqat 1723/tcp ni qabul qiladigan xost xavfsizlik devori LAN ichidan 619 xatosini qayta hosil qiladi, bu esa buzilgan yo'naltirish va buzilgan xost qoidasini bir xil ko'rsatadi.

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'

Agar modullar yo'q bo'lsa, ularni sudo modprobe nf_conntrack_proto_gre nf_nat_proto_gre bilan yuklang va yuklashni doimiy qiling, chunki yordamchini esdan chiqargan qayta yuklash ishlaydigan tunnelni yana 619 xatosiga aylantiradi. Yo'naltirish qoidasi protokol 47 ni faqat server manziliga qarab qabul qilishi kerak, butun LAN ga emas. RFC 2637 ta'rifi boshqaruv va ma'lumot yo'lini ajratadi, shuning uchun hech bir port yo'naltirish ekrani PPTP ni to'liq tasvirlamaydi.

O'tkazish katakchasi yoki aniq protokol qoidasi

Faqat xavfsizlik devorini ochadigan o'tkazish katakchasi qo'ng'iroq identifikatorlarini qayta yozadigan ALG dan to'g'riroqqa yaqinroq. Xavfsizlik devori yarmi oldindan aytiladi, chunki protokol 47 yo qabul qilinadi, yo tashlanadi va hisoblagichlar qaysi birini aytadi. Qayta yozish yarmi ishlab chiqaruvchilar farq qiladigan joy, chunki PPTP qo'ng'iroq identifikatorlari har bir tunnel uchun va ularni tahrirlaydigan NAT har bir teggan qo'ng'iroqni kuzatishi shart. Bitta mijoz ulanib, ikkitasi ulanmasa, ALG birinchi gumondor.

1723 uchun manzil NAT qoidasi ham egalik muammosiga ega. Agar eski qoida hali ham 1723 ni serverni ishga tushirishni to'xtatgan xostga yuborsa, paketlar yopiq portga tushadi va routerning o'z PPTP xizmati javob berishni to'xtatadi, bu xavfsizlik devori nosozligi kabi o'qiladi, aslida esa eskirgan nishon. Ikkinchisini qo'shishdan oldin qoidani va uning manzilini o'qing. PPTP ni o'zi tugatadigan routerlarda WAN qoidasi o'rnatilgan xizmat bilan raqobatlashadi, shuning uchun 1723 va protokol 47 uchun bitta egasini tanlang.

Bir NAT orqasidagi ikki mijoz oddiy yo'naltirishni aqllidan ajratadigan holat. Qo'ng'iroq identifikatorlarini qayta yozmasdan protokol 47 ni yo'naltirish odatda ularni tuzatishga urinadigan yordamchidan yaxshiroq tutadi.

Routerni ayblashdan oldin tunnelni o'lchang

PPTP foydali yukni kichraytiradi va bu kichrayish sir emas, arifmetika. Har bir tunnel paketi tashqi IP sarlavhasi, kengaytirilgan GRE sarlavhasi, PPP sarlavhasi va shifrlash bilan MPPE sarlavhasini olib yuradi. Yo'l hosil bo'lgan kadrni olib o'ta olmasa, kichik paketlar o'tadi, kirish tugaydi va fayl uzatish yoki TLS qo'l berish to'liq o'lchamli paket yuborgan birinchi paytda sessiya to'xtaydi.

Taxmin qilish o'rniga sonni hisoblang. Kengaytirilgan GRE 8 bayt, PPP 4 bayt, MPPE 4 bayt va tashqi IP sarlavhasi 20 bayt turadi, shuning uchun tunnel har qanday yukdan oldin 36 bayt yeydi. 1492 da tugaydigan PPPoE WAN da sig'adigan eng katta PPP MTU 1492 minus 36, ya'ni 1456. PPP parametrlarida mtu va mru ni shu qiymatga o'rnating va bo'linishsiz ping bilan qayta sinab ko'ring.

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

Ping yo'lni o'lchaydi, tunnelni emas: 1464 bayt yuk va 28 bayt IP hamda ICMP sarlavhalari 1492 baytli kadrni aniq to'ldiradi. Agar bu ping o'tmasa, o'tguncha sonni kamaytiring va natijadan 36 ni ayiring. Yo'l chegarasidan yuqori o'rnatilgan tunnel MTU o'lchamni eslatuvchi birorta jurnal satrisiz qotishni keltirib chiqaradi.

Bir routerda PPTP, L2TP/IPsec yoki OpenVPN

Xuddi shu router uchta oddiy tunneldan birini olib yura oladi va farq nimani ifodalashi kerakligida. PPTP ikki xil qatlamda ikki qoida talab qiladi. IPsec ustidagi L2TP kalit almashinuvi uchun UDP 500 va 4500 talab qiladi va NAT-T uni olib yurmasa yuk uchun protokol 50 talab qiladi. OpenVPN bitta UDP port talab qiladi va umuman yordamchi talab qilmaydi.

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 ustuni avtomatik ravishda GRE dan do'stroq emas. ESP IP protokoli 50 va uning ham porti yo'q, shuning uchun protokol 47 bilan qiynaladigan router xuddi shu sabab bilan protokol 50 bilan ham qiynalishi mumkin. NAT-T ESP ni UDP 4500 ichiga o'rash uchun bor va ikkala uchi ham qo'llasa protokol 50 qoidasi keraksiz bo'ladi. Bu uchlarning xususiyati, routerdagi PPTP katakchasining emas. Ikkisi uchun qoidalar yozishdan oldin mijoz haqiqatda qaysi inkapsulyatsiyani kelishganini tasdiqlang.

OpenVPN router tomonida eng kam harakatlanuvchi qismlarga ega variant. Bitta UDP port, bitta yo'naltirish, ulanish kuzatuvchi yordamchi yo'q va qo'ng'iroq identifikatorlarini qayta yozish yo'q. Almashinuv o'rnatilgan teruvchi o'rniga o'rnatilishi kerak bo'lgan mijoz va PPTP suhbatda qolishining yagona sababi ko'pincha shu.

Nimani tuzatish va nimani almashtirish

Yo'naltirish va MTU ni tuzatish ishlaydigan tunnel beradi, saqlanishi kerak bo'lganini emas. PPTP ning MSCHAPv2 autentifikatsiyasi yillar davomida hujumga ochiq va ishlaydigan tunnel oflayn tiklanishi mumkin bo'lgan hisob ma'lumotlarini o'tkazadi. Agar uzoqdagi qurilma L2TP/IPsec yoki OpenVPN ishga tushira olsa, tuzatishni sanali vaqtinchalik chora deb biling.

Qaror uzoq uchi nimani qo'llashiga va kelishuv qancha turishi kerakligiga bog'liq. Faqat PPTP gapiradigan eski qurilma tuzatish oladi; mijoz o'rnatish mumkin bo'lgan hamma narsa ko'chiriladi.

Chiptani yopishdan oldin mijoz faqat kirishni emas, katta uzatishni yengib o'tishini va qayta yuklashdan keyin ham router protokol 47 qoidasini saqlashini tasdiqlang. Bitta fayl nusxasidan o'tib, keyingi firmware yangilanishidan keyin o'ladigan tunnel hech qachon tugallanmagan.

O'xshash maqolalar