Бүрэн туннелийн маршрут яагаад түүнийг зөөдөг серверийг тасалдаг вэ
Туннелээр гарах анхдагч маршрут түүнийг зөөдөг гадаад пакетуудыг ч барьдаг. Төгсгөлийн цэгийг хост маршрутаар бэхэлж, серверийн хариултыг түүнээс гадна байлгаарай.
Бүрэн туннелийг асаавал одоо бүх очих газар VPN интерфейст хамаарах бөгөөд үүнийг дуусгадаг машин ч мөн адил. Туннелийг зөөдөг гадаад пакетууд тэр машин руу хаяглагдсан тул маршрут эцэстээ өөрөө хамааралтай тээврийг зарцуулдаг. Нэг нэмэлт тодорхой маршрут үүнийг шийднэ, шалтгааныг ойлгох нь үнэ цэнэтэй. Тэр шалтгаангүйгээр дараагийн дахин бүтээлт алдааг дахин оруулна.
Өөрийн тээврийг иддэг маршрут
Инкапсуляци пакет бүрийг хоёр дахь толгойд ороодог. Гадаад толгой нь орон нутгийн физик хаягаас серверийн нийтийн хаяг руу хаяглагддаг бөгөөд ямар ч туннель бий болохоос өмнө физик холбоосыг давах ёстой.
Одоо тэр нийтийн хаягийн хайлт туннелийг сонгоорой. Пакетийг илгээхийн тулд машин үүнийг инкапсуляцлах ёстой бөгөөд энэ нь мөн хаяг руу маршрут шаардаж, тэр нь туннелийг буцаадаг. Клиентүүд үүнийг хоёр аргын нэгээр шийддэг. Болгоомжтой нь анхдагч маршрутыг суулгахаас татгалзаж алдаа мэдээлдэг бол бага болгоомжтой нь амжилт мэдээлээд дараа нь юу ч хөдөлгөдөггүй. Чимээгүй бүтэлгүйтэл л нэг үдээс хойшийг иддэг.
Хамгийн урт префиксийн таарал нь ямар ч хэмжүүр харахаас өмнө хайлтыг шийддэг тул нэг хаягийн маршрут машин дээрх бүх анхдагч маршрутаас илүү гардаг. Залруулгын ард байгаа бүх механизм энэ.
Анхдагчаас өмнө үл хамаарах зүйлийг суулга
Серверт зориулж нэг хаягийн маршрут үүсгэ, физик гарцыг дараагийн үсрэлт болгон авч, анхдагч маршрут хөдлөхөөс өмнө. Дараалал чухал: дараа нь суулгах нь бичих зуур эвдэрсэн туннелтэй амьдрах гэсэн үг.
Ихэнх клиентүүд үүнийг хүсэлгүйгээр хийдэг. OpenVPN алсын хаягийг хайж, анхдагч гарцыг дахин бичихээс өмнө түүнийг бэхэлдэг бөгөөд түүний route-delay сонголт нь энэ дараалал өрсөлддөг платформуудад зориулагдсан. wg-quick огт өөр замаар явдаг, пакетуудыг тэмдэглэж, бодлогын дүрэмтэй зөвлөлдөх замаар үл хамаарах зүйл нэмэхийн оронд. Өөр механизм, нэг шаардлага: гадаад пакет өөрийн үүсгэсэн туннелээс зугтах ёстой.
ip route add 203.0.113.10/32 via 192.168.1.1 dev eth0
ip route get 203.0.113.10
Хайлтын гаралт бол хүлээн авах тест. Тэр физик төхөөрөмж болон физик дараагийн үсрэлтийг нэрлэх ёстой. Тэр хариултад туннелийн төхөөрөмж байгаа нь үл хамаарах зүйл дутуу эсвэл түүнийг дарж байгаа зүйлийн дараа тавигдсаныг илтгэнэ.
Сервер дээрх толин тусгал
Мөн адил урхи нөгөө талд эсрэгээрээ хүлээж байна. Серверт өөр туннелээр анхдагч маршрут өг, эсвэл клиентүүдийн нийтийн хаягийг хамарсан маршрутыг түүн рүү түлх, тэгвэл түүний хариултууд буруу чиглэлийн дадалтай болно.
Холбогдож хүсэлт илгээдэг клиентийг төсөөл. Хариулт нь тэр клиентийн нийтийн хаяг руу хаяглагдсан бөгөөд энэ нь одоо туннелийн маршруттай таарч байгаа тул өөр интерфейсээс гарч, клиентийн хэзээ ч залгаж үзээгүй эх сурвалжийг зөөнө. Клиент тэр пакетыг хүлээж аваад ч хаяж болно, учир нь илгээсэн хүсэлттэй нь юу ч холбохгүй. Клиентийн хугацаа хэтэрсэнээс биш, серверийн маршрутжуулалтын шийдвэрээс эхэл, учир нь хоёрын зөвхөн нэг нь бодит сонголтыг харуулдаг.
ip route get 198.51.100.44 from 10.90.0.1
ip rule show
sudo tcpdump -ni any host 198.51.100.44
Гурван засвар байгаа бөгөөд тэд тэнцүү биш. Үйлчилгээг физик хаягт бэхлэх эсвэл эх сурвалжийг хөрвүүлэх хоёулаа маршрутжуулалтын шийдвэрийг засахын оронд нуудаг. Туннелийн сангийн хариу урсгалыг тусгай хүснэгтээр илгээх нь шалтгааныг засдаг бөгөөд бусад хоёр нь маршрутжуулалтын загвар хөлдсөн үед л хүлээн зөвшөөрөгдөнө.
Туннель байнга хулгайлдаг үл хамаарах зүйлс
Цөөн ажил туннель анхдагч маршрутыг эзэмшиж байсан ч нээлттэй интернет шаарддаг бөгөөд тус бүр өөрийн үл хамаарах зүйл хэрэгтэй. Динамик DNS шинэчлэгч ихэвчлэн хамгийн түрүүнд эвдэрдэг.
Тэр нийлүүлэгчийг шийдэж, холболт нээгээд, өөрийн пакетууд секундын өмнө хаяг нь өөрчлөгдсөн туннелээр явж байгааг олдог тул шинэчлэлт бүтэлгүйтнэ эсвэл буруу хаягийг нийтэлнэ. Гурван гарах зам: нийлүүлэгчийг физик гарцаар дамжсан хост маршрутаар бэхэл, туннель босохоос өмнө шинэчлэлтийг ажиллуул, эсвэл шинэчлэгчид туннель хэзээ ч хүрдэггүй бодлогын хүснэгт өг. Цаг синхрончлол нь шийдэгчгүй ачаалдаг төхөөрөмж дээр ижил өртөлттэй бөгөөд гэрчилгээ баталгаажуулалтын төгсгөлийн цэгүүд мөн адил шалтгаанаар жагсаалтад багтдаг.
Хэн ч бичээгүй үл хамаарах зүйл бол дараагийн дахин бүтээлт чимээгүй хаях үл хамаарах зүйл юм.
Дахин холбогдсоны дараа нотол, өмнө нь биш
Нэг биш гурван очих газрыг шалга: төгсгөлийн цэг, туннелийн ард байгаа хувийн хаяг, түүнээс цааш байгаа нийтийн хаяг. Нэг амжилттай хайлт нөгөө хоёрын талаар бараг юу ч хэлэхгүй.
ip route get 203.0.113.10
traceroute -n 203.0.113.10
ip route get 10.90.0.5
ip route get 1.1.1.1
Дараа нь холболтыг дахин асаа, учир нь дахин холбогдох үед хүснэгтээ дахин бүтээдэг клиент гараар бичсэн маршрутыг хаяна. Kill switch ажиллаж байвал төгсгөлийн цэг зөвшөөрөгдсөн эсэхийг шалга, эс бөгөөс сүлжээ өөрчлөгдсөний дараа туннель буцаж чадахгүй бөгөөд шинж тэмдэг тасалдал мэт харагдана. Үл хамаарах зүйлийг shell-ийн түүхэнд биш, профайл эсвэл unit файлд хадгал, дахин холболт түүнийг устгахын оронд дахин үүсгэх болно.