WSL2 huet den DNS verluer nodeems d’VPN verbonnen huet? Zwee Ursaachen
Eng al Resolver-Datei an eng konkurréierend Routemetrik erzeugen dat selwecht Symptom an der WSL2. Halt béid Säiten fest an da fléck déi, déi wierklech futti ass.
Ping no Adress funktionéiert an der Distributioun, Pakinstallatiounen a git-Ofruff net, an de Feeler ass direkt opgetrueden nodeems den Tunnel eropkomm ass. Nëmmen d’Nimm hu opgehalen sech opzeléisen, wat op DNS hindeit an net op Konnektivitéit. Paken nees installéieren ass hei de beléifste falschen éischte Schrëtt. D’WSL2 huet zwee onofhängeg Weeër fir genee dëst Symptom ze erzeugen, an se brauchen ënnerschiddlech Reparaturen.
Firwat d’Distributioun hire eigenen Resolver hält
Den DNS-Client vu Windows gëtt an der Distributioun net benotzt. D’WSL2 baut beim Start hir eegen Resolver-Datei op, déi op eng Stub-Adress weist, déi Windows um virtuelle Switch fir d’Hëllefsmaschinn publizéiert.
Dës Anuerdnung ass bei gewéinlechen Netzwierkännerungen stabil, well se eemol geschriwwen an erëm benotzt gëtt. D’Anuerdnung ass net méi richteg, wann en Tunnel-Client d’Adapterlëscht vum Host nei schreift, nodeems d’Hëllefsmaschinn schonn ugefaangen huet.
Näischt an der Distributioun iwwerwaacht d’Ännerung, dofir weist d’Datei weider op eng Adress, déi vläicht net méi um Wee ass. Den nächsten Opruff waart dann, leeft of oder kritt eng Äntwert vun engem Server, dee vun der interner Zon nach ni héieren huet. Vun bannen hält de Resolver einfach op ze äntweren, an all Nimm schloen gläichzäiteg feel.
Sammelt fir d’éischt Beweiser op béide Säiten
Halt fest wat d’Distributioun gesäit, duerno wat Windows gesäit, ier dir eng vun deenen zwee ännert. Eréischt déi zwee Usiichte zesummen ënnerscheeden d’Feelermodi.
An der Distributioun, dréckt d’Resolver-Datei, d’Routentabell an ee internen an ee publicken Opruff of:
ip -4 route
cat /etc/resolv.conf
getent hosts intranet.corp.example
getent hosts example.comOp Windows, lëscht d’DNS-Server pro Adapter an d’IPv4-Tabell mat Metriken op. En VPN-Client installéiert meeschtens eng Route fir den WSL2-Subnet, an hir Metrik entscheet, ob dësen Trafik duerch den Tunnel erausgeet oder lokal bleift.
Get-NetAdapter | Get-DnsClientServerAddress
route print -4
Routemetrik oder al Datei
Den éischte Feeler ass déi al Datei. De Resolver gouf fir den Adapterzoustand beim Start geschriwwen, an den Tunnel huet deen Zoustand geännert. Seng Stub-Adress kann elo onerreechbar sinn, oder se nennt enger Server, dee vun der interner Zon näischt weess.
Den zweete ass e Routingproblem. Wann d’VPN eng Route bäisetzt, déi den WSL2-Subnet deckt, mat enger Metrik ënner der Linkroute vum Host, geroden d’Paketen un d’Hëllefsmaschinn an den Tunnel. Dann leeft all WSL2-Service of, net nëmmen DNS.
Den ënnerscheedenden Test kascht eng Zeil. Wann eng numeresch Adress wéi en publicke Resolver nach op Ping äntwert, während d’Nimm feel schloen, ass de Wee intakt an DNS ass de Problem. Dat ass de Fall, an deem eng Resolver-Ännerung gerechtfäerdegt ass, an de Fall, an deem se et net ass, gëtt och kloer. Wann den numereschen Test och feel schléit, huet d’Hëllefsmaschinn hir Route verluer an eng Resolver-Datei wäert dat net flécken.
Fir de Routingfall, hëlt déi automatesch Metrik vum Tunneladapter ewech a gitt him eng Zuel iwwer der WSL2-Linkroute:
Get-NetAdapter | Where-Object InterfaceDescription -Match VPN | Set-NetIPInterface -InterfaceMetric 5500
wsl.exe --shutdown
D’Ausschalten zielt. D’Ännere vun der Metrik schreift déi lafend Hëllefsmaschinn net nei, dofir muss d’Distributioun nei gebaut ginn, ier d’Ännerung sichtbar gëtt.
Iwwerhëlt d’Datei, bewosst
Wann d’Routing richteg ass an nëmmen intern Nimm feel schloen, ass de Resolver scholdeg an dir kënnt de Generator stoppen. Dat ass eng bewosst Ännerung mat Ënnerhaltskäschten, keen Noutbehelf deen ee just esou applizéiert.
Erstellt /etc/wsl.conf an der Distributioun mat der Netzwierkspart, déi d’Erzeugung ausschalt, a schreift duerno d’Resolver-Datei selwer, Firmeserver als éischt an en publicke Ersatz duerno:
[network]
generateResolvConf = falsesearch corp.example
nameserver 10.88.4.53
nameserver 9.9.9.9
D’Reiefolleg zielt. En publicke Resolver kann keen internen Numm beäntweren, an den Ersatz existéiert nëmme fir Internetopruffen. Soubal d’Datei Är ass, regeneréiert näischt se, dofir gëtt en Ëmzuchs-Firmeserver en Ausfall, deen dir selwer musst bemierken.
Kontrolléiert Nimm, duerno Paken
Iwwerpréift een internen an ee publicken Numm mam Systemresolver, an widderhuelt duerno d’Operatioun déi feelgeschloen ass. Pakmanager benotzen heiansdo hire eigenen Resolver, dofir kann eng funktionéierend getent niewent enger futti Installatioun bestoen.
Wann dir d’Neischreiwen automatiséiert, maacht se idempotent: ouni Tunnel, behält d’Datei déi schonn existéiert amplaz eng eidel Serverlëscht ze schreiwen.
getent hosts intranet.corp.example
resolvectl status | head -20
getent hosts example.com
En internen Opruff dee funktionéiert an ee publicken Opruff dee funktionéiert, vun bannen an der Distributioun, ass d’Resultat dat et wäert ass festzehalen. E gréngt VPN-Symbol um Host bewise keent vun deenen zwee.