Тушаал VPN-ийн нэрийн орон зайн дотор 10.8.0.5 хаяг руу ямар ч гомдолгүй хүрдэг бол, мөн тэр тушаал хостны нэрийг ашигласан тэр агшинд бүтэлгүйтдэг. Нэрийн орон зай өөрийн интерфэйс, маршрут, сокеттой; өөрийн шийдвэрлэгч файлгүй. Хэрэв ямар нэг зүйл тэнд нэгийг тавихгүй бол доторх процесс хостны /etc/resolv.conf-ыг уншиж, тэр сүлжээний стекээс хүрэхгүй байж болох серверээс асуудаг.

Энэ нь маршрутын биш, файл сонголтын асуудал бөгөөд тоон очих газар одоо ч ажиллаж байгаа шалтгаан нь яг энэ.

Процессын бодитоор авч буй шийдвэрлэгчийн харагдацыг шалгана уу

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

ip netns add-оор үүсгэсэн нэрийн орон зайд зөвхөн унших шалгалт богино:

ip netns exec vpn cat /etc/resolv.conf

Үр дүн нь хүрч болох хаяг, loopback stub, эсвэл өөр хүртээмжтэй газар заасан симбол холбоос гэсэн аль нэгийг нэрлэж байгааг анхаарна уу.

exec туслах бодитоор юу холбодог вэ

ip-netns хэрэгсэл нэрийн орон зай тус бүрийн тохиргоог /etc/netns/NAME/-ын доор баримтжуулдаг. Процесс эхлүүлэхдээ туслах нь холболтын нэрийн орон зай үүсгэж, тэдгээр файлыг ердийн замуудын дээр холбодог тул процесс нэрийн орон зайд тохирсон хуулбарыг хардаг. Энэ нь энэ тодорхой эхлүүлэгчийн тав тух юм. Сүлжээний нэрийн орон зайд өөр замаар, жишээ нь unshare эсвэл контейнер runtime-аар орох нь үүнийг автоматаар давтахгүй.

Энд урхи нь loopback шийдвэрлэгч: 127.0.0.53 нь нэрийн орон зайн өөрийн loopback-ыг илэрхийлнэ, хостны stub биш. Зөвхөн хостны нэрийн орон зайд сонсдог stub нь шинэд нь үйлчилгээ болохгүй.

Нэрийн орон зай хүрч чадах шийдвэрлэгчийг сонгоно уу

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

Өөрийн шийдвэрлэгчтэй програмууд, жишээ нь DNS over HTTPS ашигладаг нь файлыг бүрэн үл тоомсорлож болно. Хэрэв хэрэгсэл өөрийн DNS тохиргоотой бол resolv.conf-ыг өөрчлөх нь түүнд нөлөөлөхгүй бөгөөд нэрийн орон зай хэзээ ч асуудал байгаагүй.

Файлыг зөв газар бичээрэй

/etc/netns/NAME/resolv.conf-ын доор нэрийн орон зайд тохирсон файл үүсгэж, эхлүүлэгч түүнийг танилцуулахыг зөвшөөрөөрэй. Үүнийг хамгийн бага байлга: нэг эсвэл хоёр хүрч болох сервер, даалгаварт хэрэгтэй хайлтын домэйнууд. Нэг бүлэг процесст зориулсан харагдацыг засахын тулд хостны үүсгэсэн шийдвэрлэгч файлыг бүү засварла, учир нь энэ нь машин дээрх бүх програмыг өөрчилнө. Хэрэв хост шийдвэрлэгчийн менежер ашигладаг бол нэрийн орон зайн замыг түүнтэй тэмцэхийн оронд тэр менежерээр тохируул.

Файлын агуулгыг runbook-д тэмдэглэ. Эс бөгөөс дараагийн хүн хостны шийдвэрлэгчийг шалгаж, ажиллаж буй хариултыг хараад нэрийн орон зай хэвийн гэж дүгнэнэ.

Бүх замыг дахин шалгана уу

Нэрийн орон зайн дотор тоон хаяг, дотоод нэр, нийтийн нэрээр турш. Энэ дараалал нь хүртээмжийг шийдвэрлэлтээс тусгаарлаж, дотоод бүсийг нийтийн бүсээс тусгаарлана. Дараа нь нэрийн орон зайг дахин үүсгээд давтана, учир нь зөвхөн ажиллаж буй хувилбарт байгаа файл түүнтэй хамт алга болдог.

Файлыг shell биш, процесс хүлээж авч байгааг батал. Интерактив shell-ээс ажиллаж, үйлчилгээнээс бүтэлгүйтдэг хайлт нь холболтын орчны талаарх олдвор бөгөөд дараагийн тохиолдлын өмнө тэгийгээс дахин нээхийн оронд бичиж үлдээх нь зүйтэй.

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