PPTP-ийн 800 ба 812 алдаа, нэг минутын дараах тасралт
800 алдаа, 812 алдаа, нэг минутын дараа үхдэг PPTP туннель нь гурван өөр гэмтэл юм. Симптом бүрийг бодитоор бүтэлгүйтсэн давхаргатай холбоно уу.
Нэг 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 файлыг засварлах нь юу ч өөрчлөхгүй.
Давхцсан дэд сүлжээнүүд өгөгдлийн замыг эвддэг
Хоёр тал ижил хувийн мужийг, жишээлбэл оффис болон гэрт 192.168.1.0/24-ийг ашиглаж байвал PPTP туннель цэвэр баталгаажиж, гэсэн хэдий ч хаашаа ч хүрэхгүй байж болно. Клиент өгөгдсөн хаяг аль хостод хамаарахыг хэлж чадахгүй бөгөөд зарим стек нэгийг сонгохын оронд маршрутыг огт суулгахаас татгалздаг.
Үүнийг зохиомжийн алдаа гэж үзэж нэг талыг дахин дугаарлана уу, эсвэл клиентэд санаатайгаар орчуулсан хандалтын мужийг өгнө үү. PPTP клиентийг дибаг хийх нь хоёр удаа оршиж буй хаягийн орон зайг засахгүй бөгөөд шинж тэмдэг санамсаргүй тасралт мэт харагдсаар байх болно.
Бүтэлгүйтсэн үе шатаас эхэл: 800-д GRE, 812-д арга ба бүртгэлийн мөр, хуваарийн дагуу үхдэг туннельд цуурайн тохиргоо.