VPN холбогдоход WSL ажлын хост нэрийг яагаад алддаг вэ?
Ижил нэр Windows дээр ажилладаг боловч туннель босох мөчид WSL дотор бүтэлгүйтдэг. Шийдэгч нэмэхээс өмнө платформын DNS горим болон хуучирсан дарж бичилтүүдийг шалгана уу.
Windows дотоод хосттыг ямар ч гомдолгүйгээр шийддэг бол ижил нэр нь туннель босох мөчид WSL дотор бүтэлгүйтдэг. Ердийн засвар нь дистрибьюцид нийтийн шийдэгч бичих бөгөөд энэ нь энгийн хөтлөлтийг сэргээж, ажлын хост нэрийг шийдэх боломжгүй болгодог. Энэ нь нэг алдааг нөгөөгөөр сольж, үнэндээ эвдэрсэн давхаргыг нуудаг. Шийдэгчийн аль ч мөрийг нэмэх эсвэл хасахаас өмнө гурван давхаргын аль нь бүтэлгүйтэж байгааг тодорхойлно уу.
Эхлээд маршрутлалтын алдааг үгүйсгэнэ үү
Хоёр талд яг ижил бүрэн квалификацлагдсан нэрийг асууна уу, ижил төстэй хоёр нэрийг биш. Нэг мөрөнд Windows дээр амжилт, WSL дээр бүтэлгүйтэл нь хоёр шийдлийн замын гарын үсэг бөгөөд энэ хэв маягийг ийм цэвэрхэн үүсгэдэг зүйл цөөн. Хэрэв WSL үйлчилгээнд түүний мэдэгдэх тоон хаягаар ч хүрч чадахгүй бол маршрутлалт эсвэл шүүлтийн асуудал ч байна. Тэр тохиолдолд DNS-ийн ажил үүнийг илрүүлэхгүй бөгөөд үдээс хойшхи цаг буруу давхаргад зарцуулагдана.
Гурван шинж тэмдэг эдгээр тохиолдлын ихэнхийг хамардаг бөгөөд тус бүр өөр газар заадаг. Тохиргооны файлыг нээхээс өмнө тохирох мөрийг уншина уу:
| Symptom inside WSL | Likely layer | Where to look |
|---|---|---|
| Private name fails while public browsing works | Resolver path | Tunneling mode and the Windows build |
| A name that worked yesterday fails today | Stale override | Generated resolver file, immutable flag, shell profile |
| The name resolves but the service does not | Routing or filtering | The resolved address and the path to it |
Дунд мөр нь хүмүүсийн буруу уншдаг мөр бөгөөд түүнийг эвдсэн өөрчлөлт долоо хоногийн өмнө хийгдсэн бөгөөд тэр үед амжилттай харагдаж байсан. Гурав дахь мөр нь хүмүүсийн буруу оношилдог мөр бөгөөд шийдэгддэг нэр сүлжээ эрүүл гэдгийн баталгаа мэт санагддаг. Хоёр мөр таныг доорх өөр хэсэг рүү илгээдэг.
DNS туннелчлэл хувилбарын доод хязгаартай
Microsoft нь DNS хүсэлтүүдийг виртуалчлалын сувгаар Windows-ийн шийдэгч рүү туннелчилдэг WSL сүлжээний горимыг баримтжуулдаг. Дэмжигдсэн Windows 11 бүтцүүдэд энэ нь анхдагчаар идэвхтэй байдаг тул нэг корпорацийн сүлжээн дэх хоёр машин өөрөөр ажилладаг. Хувьсагч нь бүтцийн дугаар, корпорацийн бодлого биш.
WSL сүлжээний гарын авлага тэр горим болон түүнийг дэмждэг хувилбаруудыг тайлбарладаг. Энэ функц чухал, учир нь корпорацийн DNS бодлого ихэвчлэн Windows-ийн шийдэгчид амьдардаг бөгөөд Windows-ийн замыг өвлөсөн дистрибьюц бодлогыг ч хамт өвлөдөг. Нийтийн шийдэгчээс асуудаг дистрибьюц хувийн нэр рүү ямар ч замгүй, өөрийн тохиргоо хичнээн цэгцтэй харагдсан ч. Тэр механизм бүх шинж тэмдгийг тайлбарлаж, нийтийн шийдэгчтэй тойрч гарах арга яагаад бүтэлгүйтдэгийг тайлбарладаг.
Ямар нэгэн зүйлийг засахаас өмнө бүтцийг уншина уу. Шинэ суулгацаас хуулсан тохиргоо нь хуучин суулгац түүнийг хэрэгжүүлдэг гэдгийн баталгаа биш. Өөрчлөлтийн дэргэд бүтцийн дугаарыг бичнэ үү, учир нь хоёр машины ялгаа бараг үргэлж хувилбар, бодлого биш.
Хуучин дарж бичилтүүд өөрсдийн шийдсэн асуудлаас урт насалдаг
Хуучин жорууд үүсгэгдсэн шийдэгчийн файлуудыг идэвхгүй болгодог байсан, нэрийн серверийг хатуу кодолдог эсвэл файлыг өөрчлөгдөшгүй шинжээр түгждэг байсан. Тэдгээр өөрчлөлтүүд нь тэднийг үүсгэсэн холболтын асуудал арилсны дараа ч удаан хугацаанд байрандаа үлддэг бөгөөд ихэвчлэн шинэ тохиргоо юу ч хийхгүй мэт харагдахын шалтгаан нь тэдгээр юм. Тэд мөн дистрибьюцийг дахин суулгасны дараа ч нэвтрэх бүрт файлыг дахин бичдэг shell профайлын хэлбэрээр үлддэг. Сүүлийнхийг олох нь хамгийн хэцүү, учир нь бүгдийн шалгадаг файлаас тэр харагдахгүй.
Гараар бичсэн шийдэгчийн файл, түүн дээрх өөрчлөгдөшгүй шинж, түүнийг дахин бичдэг эхлүүлэх скриптийг хайна уу. Засахаас өмнө өөрчлөгдөшгүйн тугийг шалгана уу, учир нь түгжигдсэн файл руу бичих нь зөвшөөрлийн асуудал мэт уншигддаг байдлаар бүтэлгүйтдэг. Дараа нь shell профайлыг шалгана уу, учир нь тэндхийн скрипт таны засвараас хойш хэдхэн секундын дотор хуучин агуулгыг сэргээдэг.
Дарж бичлэгийг хасах нь үр дагавартай тул юу хассан, яагаад гэдгийг бичнэ үү. Өөр зорилгоор үнэхээр статик шийдэгч хэрэгтэй дистрибьюц үүсгэгдсэн файл буцаж ирэхэд эвдэрнэ.
Хоёр файл, хоёр өөр үүрэг
Хоёр тохиргооны файл өөр өөр газар амьдарч, өөр өөр зүйлийг удирддаг бөгөөд тэдгээрийг хольсон нь буруу давхаргад хэрэглэгдсэн засваруудыг үүсгэдэг. Windows талын файл виртуал машины шинж чанарыг тогтоодог бол дистрибьюцийн талын файл тэр дистрибьюц өөрийн шийдэгчийн тохиргоог хэрхэн бүтээдэг, түүнийг тогтоодог. Аль нь ч нөгөөгөө дарж бичихгүй тул хоёулаа тохирох ёстой.
Энэ функцийг дэмждэг суулгацын хувьд Windows талын хэсэг богино. Тэр талын бүх өөрчлөлт энэ юм:
[wsl2]
dnsTunneling=trueЭнэ хэсэг нь Windows хэрэглэгчийн профайлд хамаарах бөгөөд нэг дистрибьюцад биш, виртуал машинтай холбоотой. Туннелчлэл нь дистрибьюц шийдэгчийн үүсгэлтийг идэвхгүй болгоогүй байхыг ч шаарддаг тул дистрибьюцийн талын файл энэ зан төлөвийг тайван орхих ёстой. Нэгийг нөгөөгүйгээр өөрчилбөл горим чимээгүй юу ч хийдэггүй бөгөөд энэ засварыг эвдэрсэн гэж мэдээлдэг хамгийн түгээмэл арга нь энэ. Хоёр файлыг нэг сессээр шалгана уу, учир нь долоо хоногийн зайтай хийсэн хоёр засвар бол хэн ч хамааруулж чадахгүй хоёр засвар юм.
Дахин эхлүүлээд, дараа нь хоёр талаас асууна уу
Эдгээр тохиргоо нь орчин эхлэх үед уншигддаг тул ажиллаж байгаа дистрибьюц доторх шинэ shell тэдгээрийг дахин ачаалахгүй. shell-ийг дахин эхлүүлэхийн оронд орчныг унтрааж, эхлээд ажиллаж байгаа ажлыг хадгална уу, учир нь дистрибьюц бүр түүнтэй хамт зогсдог. Зөвхөн энэ орхигдол нь өөрчлөлт ямар ч нөлөөгүй гэсэн мэдээллийн ихэнхийг тайлбарладаг.
Дараа нь хоёр талд ижил асуулт тавина уу. Гаралт нь дистрибьюц эцэст нь аль шийдэгчтэй үлдсэнийг ч харуулна:
wsl.exe --shutdown
wsl.exe -e sh -c 'cat /etc/resolv.conf'
wsl.exe -e sh -c 'getent hosts files.corp.example'
wsl.exe -e powershell -Command 'Resolve-DnsName files.corp.example'Эхний команд орчныг дуусгаж, хоёр дахь нь дистрибьюц одоо аль шийдэгчийг ашиглаж байгааг харуулж, сүүлийн хоёр нь тал бүрд ижил асуулт тавьдаг. Тохиргооны төлөв биш, хариултуудыг харьцуулна уу. Хоёр файл зөв байхад цэвэр дахин эхлүүлсний дараа ч бүтэлгүйтдэг асуулга нь корпорацийн шийдэгчийн бодлогыг заадаг бөгөөд тэр яриа өөр эзэнтэй.