Гарц нь IKEv2-т UDP 4443 дээр ямар нэг шалтгаанаар хариулдаг, профайлд Server нэртэй талбар байдаг, та хостны нэр болон портыг бичдэг, утас нь серверт хүрч чадахгүй эсвэл хаягийг шийдэж чадахгүй гэж мэдээлдэг. Юу ч блоклогдохгүй байна. Android-ын үндсэн хэлбэр нь хост хүлээдэг бөгөөд Windows дээр ч мөн адил. Захиалгат порт нь серверийн тохиргоо болохоос өмнө клиентийн чадвар бөгөөд зөвхөн зарим клиент үүнийг илэрхийлэх боломж олгодог. Гурван хэсгийг дарааллаар нь үзээрэй: клиент юу хэлж чадах, сервер юуг сонсож байгаа, хоёр тал пакетуудыг ижил аргаар фрейм болгож байгаа эсэх.

Утас яг юу илгээсэн бэ

Нэрэнд зориулсан талбар дахь host:port мөр нь нэрээр шийдэгддэг. Шийдэгч vpn.example.net:4443-д юу ч буцаадаггүй бөгөөд таны харж буй алдаа нь порт дээрх хугацаа дуусах биш, харин нэр шийдэх эсвэл хүрч чадахгүй байх алдаа юм. Энэ ялгаа чухал, учир нь богино нэр эсвэл өөр сүлжээгээр дахин оролдох нь хэлбэр задлан шинжилж чадахгүй мөрийг хэзээ ч засахгүй.

Android дахь үндсэн IKEv2 профайл нь Windows-ын суулгасан VPN клиент шиг стандарт IKE портуудад бэхлэгдсэн. Аль нь ч портын талбар харуулахгүй бөгөөд профайл засварлахад нэмэгдэхгүй. Хэрэв операторын сонсогч үнэхээр 4443 дээр байгаа бол суулгасан клиент нь буруу тохируулсан бус, буруу хэрэгсэл юм.

Портыг харуулдаг клиент ашиглана уу

strongSwan-ы Android клиент нь өргөтгөсөн профайл тохиргоонд тохируулах боломжтой серверийн портыг баримтжуулдаг тул энэ загварт ажилладаг бараг бүх зааварт гарч ирдэг. Энэ дэмжлэг нь тэр клиентэд хамаарна: өөр IKEv2 апп эсвэл ижил аппын нийлүүлэгчийн салбар нь доод талын strongSwan демон дэмждэг ч ижил талбарыг харуулахгүй байж болно.

Оператороос бүхэл багцыг нэг дор хүсээрэй: гарцын нэр, UDP порт, нэвтрүүлэх арга, клиентийн хүлээх ёстой серверийн таних тэмдэг. Захиалгат порт нь гэрчилгээний шалгалтыг унтраах эсвэл протокол солих шалтгаан биш. Портыг суулгасан клиент хүлээж байгаа газарт оруулж, хэрэв тэр клиентэд ийм талбар байхгүй бол хариулт нь таамагласан арга бус, өөр зөвшөөрөгдсөн клиент юм.

Серверт хоёр порт байдаг бөгөөд хоёулаа таарах ёстой

IKE UDP 500 дээр эхэлдэг, NAT дамжуулалт нь IKE болон инкапсуллагдсан ESP-г ихэвчлэн UDP 4500 руу шилжүүлдэг. Эдгээр нь strongSwan-д тусдаа тохиргоо тул нэг захиалгат порт руу шилжсэн сервер хоёуланг нь ижил утгад өөрчлөх ёстой:

plugins {
  socket-default {
    port = 4443
    port_nat_t = 4443
  }
}

Нэг порт хоёр үүргийг гүйцэтгэх үед демон нэг сокет дээр IKE-г ESP-in-UDP-ээс ялгах ёстой бөгөөд үүнийг IKE мессежийн өмнө ирдэг дөрвөн байтын ESP бус маркераар хийдэг. Тиймээс клиент захиалгат порт дээр хэлэлцээд дараа нь 4500 дээр чимээгүй үргэлжлүүлж чадахгүй, тиймээс «портыг л соль» гэсэн хэллэг фреймийн шаардлагыг нуудаг.

Дамжуулалт нь сонсогч биш

4443-ыг энгийн IKE сонсогч руу дамжуулах нь бараг амжилттай харагдах бүтэлгүйтлийн горим юм. Эхний солилцоо ирж, сервер хариулж, дараа нь холболт зогсдог эсвэл түлхүүрүүдийг юу ч биш рүү шинэчилдэг, учир нь хариулт өөр портоос гарч, дараагийн инкапсуллагдсан урсгал хоёр талын үүсгэсэн төлөвтэй хэзээ ч таарахгүй. Сонсогчийг зөөхгүйгээр очих портыг дахин бичдэг дүрэм яг энэ хагас нээлттэй үр дүнг өгдөг.

Зам нь UDP-г ч гэсэн эхнээс эцэс хүртэл зөвшөөрөх ёстой. TCP 443 зочид буудал эсвэл операторын сүлжээгээр дамжих нь UDP порт дээрх IKEv2-ын талаар юу ч хэлэхгүй, дугаар нь ижил байсан ч. Зөвхөн TCP 443 зөвшөөрөгдсөн газар захиалгат UDP порт IKEv2-г HTTPS болгодоггүй бөгөөд зөв хариулт нь өөр портын туршилт бус, өөр нэвтрэх зам байж магадгүй.

Туршихдаа гурван үе шатыг тусгаарла

Клиент нэг удаа оролдох үед сервер дээр бичлэг хий. Хэзээ ч ирдэггүй хүсэлт нь төгсгөлийн цэг эсвэл галт хананы асуудал; хариултгүй ирдэг хүсэлт нь сонсогч эсвэл бодлогын асуудал; чимээгүй байдлаар үргэлжлэх хариулт нь фрейм эсвэл таних тэмдгийн асуудал.

tcpdump -ni eth0 -vv udp port 4443

Дараа нь клиентийн эргэлдэх заагч биш, түүний мессежийг унш. Саналын алдаа нь алгоритмууд таарахгүй байгааг илэрхийлнэ, нэвтрүүлэлтийн бүтэлгүйтэл нь таних тэмдэг эсвэл гэрчилгээ таарахгүй байгааг илэрхийлнэ, харин хариултгүй давтан дамжуулалт нь тэр порт дээр юу ч хариулахгүй байгааг илэрхийлнэ. Нэг удаад нэг үе шатыг туршиж, оролдлогын хооронд нэг талбарыг өөрчил; NAT дамжуулалт-ын талаарх strongSwan баримт бичиг нь бичлэг танд харуулж буй маркер болон портын зан төлөвийг тайлбарладаг.

Холбоотой нийтлэлүүд