VPN урсгал дахь клиентийн эх порт ба серверийн сонсогч
Нэг туннельд хоёр портын дугаарыг харьцуулна: серверийн тогтмол сонсогч ба клиентийн богино хугацааны эх, мөн тэдний хооронд чиглүүлэгчийн орчуулга хэрхэн байрлана.
Нэг ярианд хоёр дугаар гарч ирэх ба аль нь ч буруу биш. Серверийн лог үйлчилгээ үзүүлж буй сонсогчийг, зөөврийн компьютер датаграм илгээсэн сокетыг харуулах ба хоорондох чиглүүлэгч хоёр дахь дугаарыг гадагш гарахдаа дахин бичиж болно. Ярианы хоёр төгсгөлийг харьцуулах нь тоонуудыг харьцуулахаас илүү ашигтай. Доорх харьцуулалт сонсогч, клиентийн сокет, орчуулагдсан эхийг тус тусад нь барина, учир нь тэд өөр асуултад хариулдаг.
Эсрэг төгсгөлүүдийг тодорхойлсон хоёр тоо
Серверийн тохируулсан порт нь клиент дууддаг очих газар юм. Үүнийг бодлого тогтоодог, профайлд харагддаг, серверийн талд нээлттэй байх ёстой. Клиентийн эх портыг локалаар, ихэвчлэн богино хугацааны мужаас сонгодог бөгөөд хариулт буух газартай байхын тулд оршдог. Энэ нь дахин холбогдох бүрт өөрчлөгдөж болох ба загварт юу ч түүний тогтвортой байдалд хамааралгүй.
Хоорондох чиглүүлэгч тэр эхийг өөрийн 'NAT' зураглалд дахин бичиж болно. Тиймээс сервер дээр ажиглагдсан дугаар нь зөөврийн компьютер сонгосон дугаартай ихэвчлэн ямар ч холбоогүй байдаг.
Гадагш гарах үед эх дугаар хаана өөрчлөгддөг
Зохиомол IPv4 жишээ авч үзье: орчуулга хийж буй чиглүүлэгчийн ард байгаа клиент, нэг 'UDP' сонсогчтой сервер, хоёуланг нь дайран өнгөрөх нэг датаграм. Хүснэгт нь пакетыг гурван ажиглалтын цэгт дахин тоглуулахын оронд төгсгөл бүр болон түүнд юу тохиолдохыг нэрлэнэ.
| Endpoint | What stays fixed | What changes on reconnect | Who owns it |
|---|---|---|---|
| Server listener | The service port and the address the profile names | Nothing; the listener does not follow the client | The server operator |
| Client socket | The destination it dials | The local source port, chosen per socket | The client, or its operating system |
| Translated source | Usually the public address of the router | The port, and sometimes the address after a network switch | The NAT device or the upstream carrier |
Очих газар мөр бүрт тогтмол бөгөөд зөвхөн эхийн таних тэмдэг өөрчлөгдөнө. UDP NAT-ын шаардлага дотоод хаяг, портыг гадаад зураглалаас ялгадаг бөгөөд энэ нь яг хоёр ба гурав дахь мөрийн ялгаа юм. Чиглүүлэгч клиентийн эх портыг хадгалж эсвэл өөр порт сонгож болно; хадгалагдана гэж програмын таамаглах ёсгүй.
Гурван төгсгөлийг хостнуудаас нь уншина уу
Доорх жагсаалтууд гурван өөр машинаас ирсэн бөгөөд хамтдаа бүх яриаг харуулна. Эхнийх нь сервер дээр, хоёр дахь нь клиент дээр, гурав дахь нь зураглал байгаа газарт ажиллуулна. Нэг лог мөр хэзээ ч гурвыг бүгдийг харуулахгүй.
ss -lunp 'sport = :1194'
ss -unp | grep 1194
conntrack -L -p udp | grep 1194
Эхний жагсаалт сервер үйлчилгээний портод холбогдсоныг нотолж, түүнийг аль процесс эзэмшиж байгааг харуулна. Хоёр дахь нь клиентийн локал сокет болон дуудсан очих газрыг харуулна. Гурав дахь нь чиглүүлэгчийн үүсгэсэн зураглалыг харуулах бөгөөд орчуулагдсан эх гарч ирдэг цорын ганц газар нь энэ юм. Тэдгээрийг энэ дарааллаар уншаарай, хоёр тоо зөрчилтэй харагдахаа болино.
Дахин холбогдолт юу өөрчлөх, юу өөрчлөхгүй
Зарим чиглүүлэгч эх порт сул байхад нь хадгалдаг, зарим нь тус бүр өөр порт олгодог. Хоёр зан төлөв хоёулаа хэвийн бөгөөд эхнийхийг шаардсан програм хоёр дахь дээр эвдэрнэ. Дахин холбогдолт эсвэл сүлжээ солигдсоны дараах зураглалын өөрчлөлт нь серверийн доголдол биш: клиент шинэ сокет нээж, чиглүүлэгч өөрийн байгаа зүйлийг өгч, сервер мөн сонсогч дээр шинэ эх харна. Дурын клиентийн порт руу хаягласан урсгалыг сервер хүлээн авна гэж хүлээх нь доголдол байх болно.
Нийгэмлэгийн OpenVPN клиентүүд энэ зан төлөвийг nobind аркылуу авдаг бөгөөд энэ нь үйлдлийн системд локал порт сонгох боломж олгодог; алсын порт одоо ч профайлаас ирнэ. Ил тод холбох нь санаатай сонголт, протоколын шаардлага биш. Сервер нэг төгсгөлийг үргэлжлүүлэн санал болгож, клиентүүд өөрсдийн локал таних тэмдгийг сонгоно.
Бичлэгт давхаргуудыг тус тусад нь шошголно уу
Туннельд дотор өөрийн порттой хоёр дахь яриа байдаг. Туннельд зөөгдөх HTTPS хүсэлтийн очих газар TCP 443, харин гадаад шифрлэгдсэн холболт UDP 1194 ашигладаг тул гадаад эх портыг өөрчлөх нь дотоод үйлчилгээнд юу ч өөрчлөхгүй.
Гадаад давхарга дээр ч протокол чухал. UDP 1194 ба TCP 1194 нь өөр төгсгөл бөгөөд 'TCP' сонсогч дугаар таарснаас болж хэзээ ч UDP датаграм хүлээж авахгүй. Байршуулалтыг баримтжуулахдаа серверийн сонсогч, клиентийн сокет, орчуулагдсан эхийг гурван өөр зүйл гэж шошголж, тус бүрд нь тээврийг нэмнэ үү.
Дараа нь бодлого үүргийг дагаг. Сервер зорьсон тээврийг өөрийн сонсогч дээр нээж, түншийг баталгаажуулсаар байна; клиентийн галт хана нь орж ирэх үйлчилгээг зарлаагүйгээр өөрийн гарч буй солилцооны хариултыг нэвтрүүлнэ. Төлөвгүй шүүлтүүрт буцах чиглэлийг тодорхой бичих шаардлагатай бөгөөд энэ ялгаа цэвэрхэн диаграмаас гадна чухал байх практик шалтгаан нь энэ юм.