I-WSL2 ayilifuyi i-VPN yebhizinisi, futhi yilapho iphutha likhona
I-WSL2 isebenza kunethiwekhi yayo ebonakalayo futhi ayilifuyi neze isitaki se-VPN somsingathi. Hlukanisa ukwehluleka kwamagama ekwehlulekeni komzila ngaphambi kokuhlela i-resolv.conf.
I-wiki yangaphakathi iyalayisha ku-Edge, kuyilapho i-git clone ngaphakathi kokusabalalisa iphelelwa isikhathi. Lokho kubonwa okukodwa kuvame ukufundwa ngokuthi «i-VPN ivimba i-WSL2», futhi ihora elilandelayo lichitha ekuhleleni i-/etc/resolv.conf. Ukufunda okunengezeka ukusiza ukuthi i-WSL2 yayingakaze ibe nomzila wenethiwekhi womsingathi kusukela ekuqaleni: isebenza ku-VM yosizo eneadaptha yayo, imizila yayo kanye nefayela le-resolver elenziwa yi-Windows yona. Konke okulandelayo kuncike ekutheni iyiphi kulezi zinto ezintathu oyintulayo ngempela.
I-VM inesitaki sayo, izilinganiso zayo kanye ne-resolver yayo
Kumodi ye-NAT ezenzakalelayo, ukusabalalisa kuhlezi ngemva kweswishi ebonakalayo futhi kufinyelela i-inthanethi ngomsingathi, kodwa akuboni ama-adaptha omsingathi. I-ip addr ikhombisa isixhumanisi esisodwa esinekheli eliyimfihlo, i-ip route ikhombisa umzila ozenzakalelayo ngaleyo swishi, futhi i-/etc/resolv.conf iyifayela elenziwe elikhomba ku-stub resolver ekhethwe yi-Windows. Akukho kulokhu okushintshayo ngenxa yokuthi iklayenti le-VPN liqalisiwe ohlangothini lwe-Windows.
Yingakho «isiphequluli siyasebenza» kufakazela okuncane kangaka. Isiphequluli sisebenzisa isitaki somsithi, umhubhe kanye nenqubomgomo ye-resolver yomsingathi. Ishili lakho lisebenzisa esinye isitaki esabelana ngekhadi lenethiwekhi elibonakalayo ngengozi. Ziyavumelana esimweni esihle futhi ziyahlukana khona lapho i-VPN ifaka isihlungi, ibhala kabusha uhlu lwe-DNS noma yengeza umzila wokusetha kweswishi ebonakalayo.
Izivivinyo ezimbili zinquma ukuthi usesimweni sini, futhi kufanele zigijinywe ngaphakathi kokusabalalisa:
getent hosts example.com
curl -sS -m 8 -o /dev/null -w "%{http_code}\n" 1.1.1.1
ip route
cat /etc/resolv.conf
Ukwehluleka kwamagama ngenkathi ikheli elingokoqobo liphendula kuyinkinga ye-resolver. Ukwehluleka kwamagama namakheli ndawonye kuyinkinga yomzila, futhi akukho kuhlela kwe-resolver okuzokuthinta. Okulandelayo ubufakazi obuvela ohlangothini lwe-Windows: i-Get-NetAdapter | Get-DnsClientServerAddress ne-route print -4 zikhombisa ukuthi umhubhe uthathe isethi engaphansi okuhlala kuyo i-VM yakho.
Inkolelo eyamanga yokuqala: amaseva e-DNS ebhizinisi ayakulungisa
Ukuhlela ifayela le-resolver iseluleko sakudala, futhi kulungile cishe ingxenye yesikhathi. Uma kulungile, kulungile ngesizathu esithile: ifayela elenziwe likhomba ku-resolver eyazi amagama omphakathi kuphela, ngakho umbuzo we-intranet.example.internal ubuya njengongekho yize umzila ukahle.
Ukubophela amaseva e-VPN kusho ukuvimba i-Windows ekuphindeni yenze ifayela, ngoba noma yiliphi ifayela olibhala ngesandla liyashintshwa ekuqaliseni okulandelayo:
[network]
generateResolvConf = false
Gcina lokho njenge-/etc/wsl.conf, gijimisa i-wsl --shutdown kusuka ku-Windows, bese uqalisa ukusabalalisa futhi ubhala i-/etc/resolv.conf ngamaseva omhubhe kuqala kanye ne-resolver yomphakathi njengelekeleli kuphela. Lokhu kuwushintsho oluhlala njalo olunezindleko zokunakekela: ifayela alisalandeli umsingathi, ngakho lapho amakheli e-DNS ebhizinisi eshintsha khona ukusabalalisa kuqhubeka kubuza amadala. Othile kufanele abe ngumnikazi walelo fayela.
Futhi akwenzi lutho lapho ukwehluleka kubanzi kakhulu. Uma i-curl iya ku-1.1.1.1 iphelelwa isikhathi, iklayenti lomhubhe lihlunga iswishi ebonakalayo noma lihambisa isethi engaphansi ye-VM iye emhubheni, futhi i-resolver efanele ikunikeza kuphela amagama angeke afinyelelwe.
Inkolelo eyamanga yesibili: ushintsho lwesilinganiso luhlala lukhona
Lapho amagama exazululwa kodwa ithrafikhi iphuma nge-adaptha ebonakalayo, izilinganiso zesixhumanisi ziyisigxobo. Nika i-adaptha ye-VPN izindleko eziphezulu kanye neswishi ye-WSL eziphansi:
Get-NetAdapter | Where-Object InterfaceDescription -Match "AnyConnect" | Set-NetIPInterface -InterfaceMetric 4000
Get-NetIPInterface -InterfaceAlias "vEthernet (WSL)" | Set-NetIPInterface -InterfaceMetric 1
Bese ukhumbula ukuthi ezakhiweni eziningi zamaklayenti i-adaptha yomhubhe yakhiwa kabusha kukho konke ukuxhumana futhi isilinganiso sibuyela kokujwayelekile. Umyalo wesisodwa ukulungisa okuphelelwa yisikhathi buthule, ngokuvamile phakathi nesikhathi sokuphela kwesonto, futhi ithikithi libuya nokuthi «kwakusebenza ngesonto eledlule». Umsebenzi ohleliwe oqalwa umcimbi we-VPN, noma iskripthi umsebenzisi asigijimisayo ngemva kokuxhuma, uyinguqulo eqotho yalokhu kulungisa.
Ukuphelelwa yisikhathi okufanayo kusebenza emizileni yomsingathi eyengezwe ngepirefiksi eyodwa enenkani. Zibalulekile njengokuxilonga, ngoba zitshela ukuthi inkinga iyindawo eyodwa noma wonke umzila, kodwa azisona isakhiwo.
Inkolelo eyamanga yesithathu: ukulungisa okukodwa kuhlanganisa yonke inguqulo ye-Windows
| Approach | What it actually does |
|---|---|
| Resolver pin | Fixes private names only; no effect on path failures |
| Sidecar distribution | Forwards traffic over a socket to a helper VM, so the switch's filter no longer matters |
| Mirrored networking | Gives the distribution the host's interface set; also enables DNS tunnelling |
I-wsl-vpnkit iphethini le-sidecar: ukusabalalisa okuncane kunomzila ohlangothini lomsingathi futhi kudlulisela ezinye izinto ezisabalalisa ngesokhethi ebonakalayo, ngakho ithrafikhi yezinhlelo iyeka ukuncika kuswishi ehlungiwe. Kudinga ukuthi umzila ojwayelekile usebenze, okusho ukususa izinto ezibhala phezu kwe-networkingMode ne-dnsTunneling ku-%UserProfile%\.wslconfig, ukubuyisela i-generateResolvConf = true kukho konke ukusabalalisa okusebenzayo nokuqalisa insizakalo lapho kungena.
Imodi yesibuko iyindlela ehlukile eyakhelwe ngaphakathi ku-Windows 11 22H2 nangemva kwalokho, futhi iyisethingi eyodwa kanye nokuvala okukodwa:
[wsl2]
networkingMode=mirrored
Ngaphakathi kokusabalalisa i-ip addr ibala ama-adaptha omsingathi, umhubhe ungavela phakathi kwawo, futhi umhubhe we-DNS udlulisela ukusesha nge-resolver ye-Windows ngisho lapho iklayenti libhala kabusha uhlu lwe-DNS. Akukona okujwayelekile: amanye amadrayiva ezihlungi asawalahla umzila wesibuko, futhi imithetho yomlilo ye-Hyper-V ingadinga imvume ecacile. Umhlahlandlela wenethiwekhi we-WSL ka-Microsoft iyikhasi okufanele uqhathanise nokwakho ngaphambi kokusebenzisa iresiphi ebhalelwe okusha.
Hlola izinto ezintathu ngemva kwakho konke ukushintsha
Khetha indlela eyodwa ngomshini ngamunye futhi uyibhale phansi, ngoba zombili zihlangana kabi. I-sidecar phezu kwemodi yesibuko iphindaphinda ukudlulisela, futhi umsingathi wesibuko onegama le-sidecar elidala ku-.wslconfig uvame ukwehluleka ngemva kokuthuthukiswa, hhayi ngaphambi kwaso.
Noma yini oyikhethile, isivivinyo sokwamukela yizicelo ezintathu ezifanayo ngaphakathi kokusabalalisa: igama langaphakathi, igama lomphakathi nekheli eliluhlaza. Bese uziphinda ngemva kokunqamula nokuxhuma kabusha umhubhe, nangemva kwe-wsl --shutdown. Ukwehluleka kwegama langaphakathi kuphela kuyinqubomgomo ye-resolver; ukwehluleka kwegama langaphakathi nelomphakathi ndawonye ngenkathi ikheli lisebenza kuseyinqubomgomo ye-resolver; ukwehluleka kwakho konke umzila.
Uma umsingathi oyedwa wangaphakathi ehluleka ngenkathi abanye besebenza, yeka ukubheka i-resolver futhi ufune umzila ongekho waleyo pirefiksi. Uma konke kusebenza kuze kube ukuxhuma kabusha okulandelayo, uthole ukulungisa okuncike esimweni sesikhathi sokusebenza, futhi kufanele kusetshenziswe kabusha ngokuzenzakalela noma kushintshwe ngenye yezindlela ezimbili ezingenhla.