Split tunneling ихэвчлэн хоёр замын аль нэгээр бүтэлгүйтдэг. Туннелийн дотор байх ёстой урсгал түүнийг тойрч гардаг, эсвэл гадна үлдэх ёстой урсгал дотогш татагддаг. Хуучирсан дүрмийн алдаа нь эхний төрөл бөгөөд энэ нь илүү будлиантай, учир нь дүрмийг бичсэнээр нь яг мөрддөг. Өөрчлөгдсөн зүйл нь очих газар: үйлчилгээ одоо дүрэм хэзээ ч нэрлээгүй хаягаар хариулж байна, туннельд өөрөө ямар ч алдаа байхгүй.

Дүрэм юуг бэхэлдэг, DNS юуг буцаадаг вэ

Split tunnel дүрэм нь очих газруудын тухай статик мэдэгдэл бөгөөд ихэвчлэн префикс, маршрут эсвэл хаягийн жагсаалтаар илэрхийлэгддэг. Илгээх үед пакетийн очих газартай харьцуулан үнэлэгддэг. Хостын нэр нь амьдрах хугацаа, кэштэй хаягийн олонлогийг буцаадаг хайлт бөгөөд хариулт нь resolver, асуулгын төрөл, минутаас хамааран өөр байж болно.

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

Тохирол тасрах гурван зам

Илэрхий тохиолдол бол нүүсэн үйлчилгээ: оператор түүнд шинэ хаяг өгсөн, DNS дагасан, харин үл хамаарах зүйл дагаагүй. Хоёр дахь нь дүрэм хэзээ ч хамраагүй хаягийн гэр бүл бөгөөд нэр зөвхөн IPv4-д зориулсан үл хамаарах зүйл үл тоомсорлодог AAAA бичлэгүүдийг буцааж эхлэхэд тохиолддог. Гурав дахь нь resolver-ийн ялгаа: дотоод болон нийтийн харагдац ижил нэрэнд өөр хаяг буцааж болох тул таны аппын ашиглаж буй хаяг таны туршиж байсан хаяг биш юм.

Кэшлэгдсэн холболт нь дөрөв дэх хувилбар бөгөөд үүнийг алдахад амархан. Апп нэг цагийн өмнө шийдсэн хаягтайгаа одоо ч ярьж байж магадгүй, энэ нь таны шинэ хайлт болон түүний нээлттэй socket нь үйлчилгээ хаана байгаа талаар санал нийлэхгүй байгааг илтгэнэ.

Апп үнэхээр ашигладаг очих газрыг уншаарай

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

getent ahosts api.example.com
dig +short api.example.com A
dig +short api.example.com AAAA
ss -tnp | grep -F api
ip route get 203.0.113.40

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

Шинж тэмдгийг биш, механизмыг засаарай

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

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

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

Зорилгын хоёр хагасыг шалгаарай

Split tunnel дизайн нь хоёр зорилготой бөгөөд засвар хоёуланг нь хадгалах ёстой. Хамгаалагдсан үйлчилгээ туннелээр гарах ёстой, хасагдсан ангиллууд түүнийг тойрох ёстой. Зассан очих газар руу шинэ холболт туршаад, дараа нь гадна үлдэх ёстой зүйлийг туршаарай.

curl -sv --max-time 5 https://api.example.com/ -o /dev/null 2>&1 | grep -E 'Trying|Connected to'
curl -sS --max-time 5 https://public.example/ -o /dev/null -w '%{http_code}\n'

Шинэ хаяг, сонгосон механизм, огноогоо тэмдэглээрэй. Тэр тэмдэглэл нь дараагийн хүн VPN өөрийн тохиргоог санамсаргүйгээр үл тоомсорлолоо гэсэн дүгнэлтэд хүрэхээс сэргийлдэг.

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