route-gateway бол redirect-gateway биш: үнэндээ юу өөрчлөгддөг
Энэ сонголт нь OpenVPN суулгадаг маршрутуудад зөвхөн дараагийн үсрэлт өгдөг. Үүнийг устгах нь түлхэгдсэн бүрэн туннелийг унтраахгүй бөгөөд засвар нь дахин чиглүүлэлтэд хамаарна.
Таны туннель босч, хувийн дэд сүлжээ хариу үйлдэл үзүүлж, хэн нэгэн профайлаас гарцын мөрийг устгасан ч энгийн вэб үзэлт VPN дотор алга болсоор байна. Энэ хослол буруу зааврыг зассан хурууны хээ юм. Устсан зүйл клиентэд өөрөө суулгадаг маршрутуудад дараагийн үсрэлт өгч байсан; харин урсгалыг барьж үргэлжилсэн зүйл өөр газраас ирж, сервер түлхсэн. Хамрах хүрээ ба дараагийн үсрэлт нь тусдаа ажлууд бөгөөд зөвхөн нэг нь нийтийн очих газрууд туннелийг ашиглах эсэхийг шийддэг.
Таны устгасан мөр дараагийн үсрэлт байсан, бодлогын унтраалга биш
Клиентийн суулгадаг маршрут бүрт зааж өгөх гарцын хаяг хэрэгтэй бөгөөд маршрут өөрөө хаяг заахгүй бол гарцын заавар нь тэр хаягийн эх сурвалж болно. Үүнийг устгавал тэдгээр маршрутад өлгөх газар байхгүй тул тэд суухгүй эсвэл хаашаа ч хүрэхгүй замд бууна. Хувийн дэд сүлжээ бол яг ийм маршрутын зөөж явсан зүйл юм.
Энэ хооронд амьд үлдсэн зан төлөв өөр зохиогчтой: түлхэгдсэн блок дахь дахин чиглүүлэлтийн сонголт, энэ нь тугийнхаа дагуу энгийн гарч буй урсгалыг туннель руу зөөдөг. Гарцыг устгах нь түүнийг унтраахгүй, сулруулахгүй. Үр дүн нь хоёр төлөвийн хамгийн муу нь: нийтийн урсгал одоо ч баригдаж, туннелийг зөвтгөсөн хувийн очих газар одоо хүрэхгүй байна. Тиймээс ижил сүнсээр хийсэн хоёр дахь засвар ч юу ч өөрчлөхгүй.
Дөрвөн хөшүүрэг, дөрвөн өөр ажил
Энэ хэлэлцүүлэгт дөрвөн зааврыг бие биенийхээ оронд иш татдаг бөгөөд зөвхөн нэг нь хамрах хүрээг удирддаг, өөрөөр хэлбэл аль очих газрууд туннелээр явдгийг. Хоёр дахь нь маршрутуудын ашигладаг дараагийн үсрэлтийг тогтоодог, гурав дахь нь нэг префикс суулгадаг, дөрөв дэх нь серверийн түлхсэн бүхнийг, тэр дундаа байршуулалтад хэрэгтэй хувийн маршрутуудыг хаядаг. Хүснэгт тэдгээрийг нэрээр нь биш, админ юу өөрчлөхийг хүсч байгаагаар нь эрэмбэлдэг, учир нь төөрөгдөл үүсгэдэг нь яг нэрс юм. Тэдгээрийг дөрвөн тусдаа шийдвэр гэж үзэж, үнэхээр буцаахыг хүсч байгаагаа сонгоно уу.
Практикт дөрөв нь ихэвчлэн нэг түлхэгдсэн блокт, мөр мөрөөр ирдэг нь тэдгээрийг нэг тохиргооны хэсэг мэт харагдуулдаг. Тийм биш бөгөөд OpenVPN-ийн лавлах яг ийм учраас тэдгээрийг өөр өөр механизм гэж бичдэг. Аль шийдвэрийг буцааж байгаагаа олж мэдэх нь ажил, харин засвар нь нэг мөр.
| What you are trying to change | Directive that decides it | What it leaves alone |
|---|---|---|
| Which destinations use the tunnel | redirect-gateway | Per-prefix routes and resolver choice |
| The next hop a pushed route points at | route-gateway | Coverage of public destinations |
| One reachable prefix | route | Every other destination, default path included |
| All pushed routing and DNS at once | route-nopull | Nothing, which is the problem |
Түлхэгдсэн мөрийг шүүж, дараагийн үсрэлтийг үлдээ
Хэрэв таны эсэргүүцэж буй хамрах хүрээ түлхэгдсэн сонголтоор ирвэл нарийн хариу нь тэр сонголтыг нэрээр нь үл тоомсорлож, түлхэгдсэн блокийн үлдсэнийг хөндөхгүй орхих явдал юм. Шүүлтүүр гэж бичвэл доорх мөр шиг харагдах бөгөөд түүний байр нь нөлөөлөгдсөн клиентийн профайлд, серверийн тохиргоонд биш.
pull-filter ignore "redirect-gateway"
Нарийн байдал нь гол зүйл. Шүүлтүүр текстэн префиксийг харьцуулдаг тул богино хэв маяг дараагийн үсрэлтийн зааварт ч тохирч, хувийн маршрутуудын найдаж буй мэдээллийг яг түүнийг хуулж, анхны алдааг шинэ хувцастай давтана. Шүүлтүүр нь зөвхөн түлхэгдсэн сонголтуудад үйлчилдэг тул локал бичигдсэн эсвэл сүлжээний менежерийн тулгасан ижил мөрийг хэзээ ч хөндөхгүй. Дараа нь дахин холбогдоно уу, учир нь амьд сесс серверийн түлхсэнийг дахин үнэлдэггүй.
Хүснэгтийг биш, хайлтыг унш
Профайлыг дахин ачаалсны дараа цөмөөс хоёр очих газар үнэндээ хаашаа явахыг асуу: нэг нь хувийн префикс дотор, нөгөө нь нийтийн интернетэд. Үндсэн хүснэгтийн бүрэн дүрслэлийг уншихад хэцүү, буруу уншихад хялбар, учир нь маршрут оршин байж чадах бөгөөд илүү тодорхой тохиролд ялагдаж болно. Бодлогонд суурилсан чиглүүлэлтэд дүрэм, хүснэгт, эх хаяг ч шалгалтад ордог.
ip route get 10.40.7.25
ip route get 203.0.113.77
ip rule show
def1 хувилбарыг мэдэх нь зүйтэй, учир нь хуучин анхдагч бичлэгийг харагдуулахад хагас анхдагч хос нь хайлтыг ялдаг. Тиймээс гаралтын 0.0.0.0/0 мөр өөрөө юу ч нотлохгүй. Хайлт нь жагсаалт хариулсан мэт харагдах асуултад хариулдаг.
DNS, IPv6 болон хувийн маршрут одоо ч ажиллах ёстой
Нэг IPv4 дахин чиглүүлэлтийг татгалзах нь шийдэгчийн тухай юу ч хэлэхгүй тул түлхэгдсэн DNS сонголт маршрутууд зөв харагдах үед ч асуулгыг туннель руу үргэлжлүүлэн илгээж болно. IPv6 анхдагч нь IPv4 шалгалт хэзээ ч хүрээгүй хаягийн гэр бүлд мөн адил хийж чадна. Хоёулаа таамаглалын оронд тодорхой шийдвэр шаарддаг. Дараа нь хувийн үйлчилгээ одоо ч хариу үйлдэл үзүүлж байгаа эсэхийг баталгаажуул, учир нь хувийн маршрутаа алдсан хуваагдсан туннель бол хуваагдсан туннель биш, эвдэрсэн туннель юм.
Нэг илүү өргөн хэрэгсэл анхааруулга хүртэх ёстой: route-nopull түлхэгдсэн маршрут бүр болон түлхэгдсэн DNS сонголт бүрийг хаядаг, энэ нь бүрэн туннелийг гарцаагүй зогсоож, байршуулалтын найдаж буй хувийн маршрутуудыг мөн адил гарцаагүй эвддэг тул нэг сонголт руу чиглэсэн нэр шүүлтүүрээс хамаагүй том алх юм. Аливаа өөрчлөлтийн дараа хувийн очих газрыг, нийтийн очих газрыг болон шийдэгчийг шалгаж, дууссан гар барилтыг гар барилтаас өөр юу ч биш гэж үзээрэй.