Нэг Azure VPN VM дээр хоёр нийтийн IP байх нь ховор биелдэг хүлээлт үүсгэдэг: клиентүүд холбогддог хаяг нь вэбсайтуудын хардаг хаяг болно. Энэ үр дүнг гурван бие даасан шийдвэр бий болгодог бөгөөд зөвхөн эхнийх нь туннелийн сонсогчид хамаарна. Хоёр дахь нь дамжуулсан клиентийн урсгалд ашигладаг зочны эх сурвалж, гурав дахь нь тэр эх сурвалжид хамаарах Azure-ын гарах арга юм. Нэгийг өөрчилбөл нөгөө хоёр нь байрандаа үлддэг тул тус бүрийг тодорхой шийд.

Шийдвэр 1: туннель хаана дуусдаг

Azure-ын нийтийн IP нь NIC дээрх хувийн IP тохиргоотой холбоотой; энэ нь зочны үйлдлийн систем дотор нэмдэг хаяг биш. Таамаглахын оронд зураглалыг унш: az network nic show --ids /subscriptions/.../networkInterfaces/vpn-nic --query 'ipConfigurations[].{private:privateIPAddress,public:publicIPAddress.id}'. Тэр асуулт ямар хувийн хаяг буцааса ч, зочин үнэхээр түүнийг байлгах ёстой.

Нэг NIC хэд хэдэн IP тохиргоог авч явах боломжтой тул хоёр нийтийн хаягт хоёр NIC шаардлагагүй. Хэрэв загвар нь үнэхээр хоёр NIC ашигладаг бол тус бүр өөрийн зочны маршрут, дараагийн алхмуудыг авчирдаг бөгөөд та хялбарчлахын оронд маршрутжуулалтын шийдвэр нэмсэн.

Тодорхой локал холболттой үйлчилгээний хувьд зочны бодит хувийн хаягт холбогдох хэрэгтэй, хэзээ ч нийтийн орлуулагчид биш. Бүх хаягыг хүлээн авдаг сонсогч өөрт нь хүрэх IP тохиргоо бүрээр урсгал хүлээн авдаг тул холболтын дараалал шийднэ гэж найдахын оронд сүлжээний аюулгүй байдлын бүлэг, хотын галт ханаар орохыг хязгаарла.

Шийдвэр 2: дамжуулсан клиент ямар эх сурвалж ашигладаг

Гарц клиентийн хүсэлтийг тайлсны дараа түүний дамжуулж буй пакет нь VPN сонсогчид ирсэн пакетаас өөр байна. Зочид дамжуулалт идэвхтэй, урсгалыг зөвшөөрөх галт хананы бодлого, үүлэн загвараас зөвшөөрсөн эх хаяг хэрэгтэй. Хэрэв клиентийн дотоод хаягыг хөрвүүлбэл Azure яг тэр хөрвүүлсэн эх сурвалжийг үнэлнэ, клиентийн дотоод хаягыг биш.

Нарийн SNAT дүрэм зочны хувийн эх сурвалжийг сонгож болох ч Azure-ын дараагийн хөрвүүлэлтийг даван туулж чадахгүй. VM дотор клиент бүрийн хариуцлага хэрэгтэй бол SNAT сонго; дэд сүлжээний гарах загвар аль хэдийн тогтвортой нийтийн эх сурвалж өгч, хоёр дахь хөрвүүлэлт зөвхөн төлөв нэмэх бол түүнийг алгас.

Шийдвэр 3: аль Azure гарах арга ялдаг

Microsoftгарахын давуу эрхийн дараалал-ыг баримтжуулдаг: төхөөрөмж эсвэл гарц руу хэрэглэгдэх маршрут давуу эрхтэй бөгөөд холбогдох замд дэд сүлжээний NAT Gateway холболт нь инстанцын түвшний нийтийн IP-ээс давуу. Энэ дарааллаас болж 10.20.0.5 руу хөрвүүлэх нь вэбсайт 198.51.100.20-ыг харахыг нотлохгүй. Гарах загварыг хүлээн авахаас өмнө үр дүнтэй маршрутын хүснэгт, NAT Gateway холбоос, NIC-ийн нийтийн IP-г хамт унш.

ДараахыгAzure NIC дамжуулалтын тохиргоо-ноос Linux дамжуулалтаас тусдаа байлга. Үүлэн туг эх эсвэл очих газрыг NIC-д оноогоогүй пакетыг зөвшөөрдөг; энэ нь net.ipv4.ip_forward-г идэвхжүүлэхгүй бөгөөд зочны тохиргоо үүлэн зөвшөөрөл өгөхгүй.

Туннелийн сокет өөрийн эх сурвалжийн шийдвэртэй

wg-quick-ийн доорх WireGuard-ын Address WireGuard интерфейсд хаяг оноодог; энэ нь гадаад UDP холболтын заавар биш. Шифрлэгдсэн сокетын эх сурвалж маршрутын хүснэгтийг дагадаг тул бодлогын маршрут эсвэл хоёр дахь өгөгдмөл маршрут интерфейсийн хаягт хүрэлгүйгээр түүнийг зөөж чадна.OpenVPN-ын local сонголт болон UDP multihome мөн адил ажиллана: тэдгээр нь сонсогч, түүний хариултад хамаарах бөгөөд дамжуулсан клиент бүрийн интернэт эх сурвалжид биш.

Туннелийг зөөдөг доод түвшний маршрутыг хадгалж, клиент хүлээгдэж буй орох байрлалаас баталгаажсан хариулт авснаа батал. Хаягийн жагсаалтын дарааллыг байнгын эх сурвалж сонгох бодлого гэж найдаж болохгүй, учир нь NIC-д нэмэгдэх дараагийн хаяг аль нь ялахыг өөрчилж болно.

Юуг, ямар дарааллаар хүлээн авах вэ

Гурван үр дүнг тусад нь хүлээн ав. Нэгд, гадаад клиент зориулсан VPN орох хэсэгт хүрнэ. Хоёрт, тэр VPN клиентийн шинээр зөвшөөрөгдсөн хүсэлт баримтжуулсан интернэт гарах замаар гарна. Гуравт, зориулаагүй сонсогч болон дамжуулалтын зам татгалзагдсан хэвээр үлдэнэ. Нийтийнээс хувийн руу зураглал болон шийдвэр бүрийн зочин, үүлэн хариуцсан этгээдийг нэг дор бич.

Амжилттай туннель зөвхөн эхний хэсгийг нотолно. Гарахыг шинэ урсгалаар шалга, учир нь кэшлэсэн холболт маршрут өөрчлөгдсөний дараа ч хуучин эх сурвалжийг удаан ашиглаж болно.

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