Интерфейс өргөгдөж, хамтрагчийн тохиргоо зөв харагдаж байгаа ч нэг ч гар барилт хэзээ ч дуусдаггүй. Туннелээр дамжуулан өгөгдмөл маршрут нэмэх нь үүнийг ихэвчлэн үүсгэдэг алхам: мөнөөх маршрутын хүснэгт одоо туннелийн өөрийнх нь шифрлэсэн пакетууд хаашаа явахыг шийдэж, түүний өгч буй хариулт буцаад туннел руу явдаг. Дотоод пакетыг зөөх гадаад пакетыг зөөх юу ч байхгүй тул холболт эхлэхээс өмнө зогсдог. Засвар нь бага боловч дараалалтай бөгөөд баталгаажуулалт засвараас илүү чухал.

Маршрут өөрчлөхөөс өмнө гогцоог баталгаажуул

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

sudo wg show wg1 endpoints
ip route get 198.51.100.20
ip rule show

Тухайн бүртгэлд бодлогын дүрмийг оруул. Үндсэн хүснэгтэд зөв харагдах өгөгдмөл маршрут нь тэмдэглэсэн эсвэл тэмдэглээгүй урсгалд өөр хүснэгт сонгодог дүрмээс ердөө ч хожигдож болох бөгөөд маршрутын хүснэгт эмх цэгцтэй харагдаж байсан ч гогцоо дахин гарч ирнэ.

Төгсгөлийн цэгийн замыг унш, туннелийн замыг биш

Төгсгөлийн цэгийн зам гэдэг нь шифрлэсэн датаграммууд хамтрагчийн нийтийн хаяг руу явах зам бөгөөд туннель оршин байх хугацаанд туннелээс гадна байх ёстой. Туннелийн зам гэдэг нь хамтрагчид зөөхийг зөвшөөрсөн бүхэн юм. Эдгээр хоёр зам нэг маршрутын хүснэгтийг хуваалцдаг бөгөөд яг үүнээс болж нэг бүгдийг барих бичлэг тэднийг бие биен рүү нь нурааж чадна. Туннелийн урсгалыг туннелийн өөрийн тээврээс салгах нь бүхэл дизайны асуудал бөгөөд дэмжигдсэн хэрэгсэл бүр үүнийг хаа нэгтээ арай өөрөөр шийддэг.

Интерфейс хоёуланг нь зөөж байвал хоёр хаягийн гэр бүлийг тус тусад нь шалга. Ажиллаж буй IPv4 хасалт нь IPv6 төгсгөлийн цэгт одоо ч хүрч болох эсэхийг юу ч хэлэхгүй бөгөөд холимог тохиргоо нь хамтрагчийн IPv6 хаягийг сонгох хүртэл ажиллаж байгаа мэт харагдаж болно.

Төгсгөлийн цэгийн замыг нэг уялдаатай өөрчлөлтөөр сэргээ

Дэмжигдсэн хоёр арга байдаг бөгөөд тэдгээрийг холих нь ажиллаж буй тохиргоог урьдчилан таамаглашгүй болгодог зам юм. Эхнийх нь интерфейсийг эзэмшдэг хэрэгсэлд бүхэл туннелийг удирдуулахыг зөвшөөрөх: wg-quick нь өгөгдмөл хамтрагчийн мужид зориулсан тусгай боловсруулалттай бөгөөд энэ нь тусдаа хүснэгт, бодлогын дүрэм, сокетын тэмдэг суулгадаг, энэ нь гадаад пакетуудыг туннелээс гадна барина. Тэр механизмыг бүхэлд нь үлдээ, хагасыг нь гараар дахин бүтээхийн оронд. Гараар нэмсэн өгөгдмөлийг тэмдэг, дүрмийг аль хэдийн суулгадаг менежертэй холих тохиргоо дахин холбогдсоны дараа бүтэлгүйтдэг, учир нь менежер гарын алхамын таамагласан төлөвийг дахин бичдэг.

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

sudo ip route replace 198.51.100.20/32 via 192.0.2.1 dev eth0
ip route get 198.51.100.20
sudo ip route add default dev wg1

Баталгаажуулаад, дараа нь буцах замаа үлдээ

Урагшилж буй гар барилтын цагийн тэмдэг нь эхний нотолгоо бөгөөд зүгээр л оршин байгаа интерфейсээс илүү хүчтэй. Туннелээр дамжуулсан програмын туршилтаар үргэлжлүүл, дараа нь интерфейсийг санаатайгаар буулгаж, хост юу ч заахгүй өгөгдмөл маршрутыг барьж байхын оронд ашиглах боломжтой төлөвт буцаж байгааг баталгаажуул. Тэр сүүлийн алхмыг хүмүүс алгасдаг бөгөөд дахин ачаалах нь машиныг холбоогүй орхих эсэхийг яг тэр шийддэг.

sudo wg show wg1 latest-handshakes
sudo wg-quick down wg1
ip route show default
ip route get 198.51.100.20

Энэ бүхнээс өмнө одоогийн маршрутжуулалтын төлөвийг хадгалаад, туннелээс хамааралгүй нэвтрэх зам байгаа эсэхийг шалга: консол, гадуур удирдлагын хаяг эсвэл газар дээрх хамт олон. Өгөгдмөл маршрутаа алдсан алсын машин нь дөнгөж алдсан холболтоор сэргээгдэхгүй бөгөөд runbook-ийн хамгийн аюулгүй алхам нь эхний командын өмнө хийгддэг алхам юм.

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