Wêrom ferliest WSL de wurkhostnamme as de VPN ferbynt?
Deselde namme wurket yn Windows en mislearret binnen WSL sadree’t de tunnel oerein is. Kontrolearje de DNS-modus fan it platfoarm en de ferâldere oerskriuwings foardat jo in oplosser tafoegje.
Windows lost de ynterne host sûnder klacht op, en deselde namme mislearret binnen WSL op it stuit dat de tunnel oerein komt. De gewoane reparaasje is in iepenbiere oplosser yn de distribúsje skriuwe, wat gewoan blêdzjen werombringt en de wurkhostnamme ûnoplosber makket. Dat ruilet ien flater foar in oare en ferberget de laach dy’t eins brutsen is. Foardat jo in oplosserrigel tafoegje of fuortsmite, moatte jo útfine hokker fan de trije lagen mislearret.
Slút earst in routingflater út
Freegje deselde folslein kwalifisearre namme oan beide kanten, net twa nammen dy’t opinoar lykje. In sukses yn Windows en in mislearring yn WSL foar deselde tekenrige is de hantekening fan twa oplossingspaden, en net folle oars produsearret dat patroan sa skjin. As WSL de tsjinst ek net berikke kin op har bekende numerike adres, is der ek in routing- of filterprobleem. Yn dat gefal sil DNS-wurk it net iepenbierje, en de middei giet nei de ferkearde laach.
Trije symptomen dekke de measte fan dizze gefallen, en elk wiist earne oars hinne. Lês de rige dy’t past foardat jo in konfiguraasjebestân iepenje:
| 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 |
De middenrige is dy’t minsken ferkeard lêze, om’t de feroaring dy’t him bruts wiken earder makke waard en doe súksesfol like. De tredde rige is dy’t minsken ferkeard diagnostisearje, om’t in namme dy’t oplost as bewiis fielt dat it netwurk sûn is. Beide rigen stjoere jo nei in oar diel hjirûnder.
DNS-tuneling hat in fersje-ûndergrins
Microsoft dokumintearret in WSL-netwurkmodus dy’t DNS-oanfragen troch in virtualisaasjekanaal nei de Windows-oplosser tunnelet. Op stipe Windows 11-builds is it standert ynskeakele, en dêrom gedrage twa masines op itselde bedriuwsnetwurk har oars. De fariabele is it buildnûmer, net it bedriuwsbelied.
De WSL-netwurkgids beskriuwt dy modus en de fersjes dy’t him stypje. De funksje is wichtich om’t bedriuws-DNS-belied meastentiids yn de Windows-oplosser wennet, en in distribúsje dy’t it Windows-paad erft, erft it belied mei. In distribúsje dy’t in iepenbiere oplosser freget hat gjin paad nei in partikuliere namme, hoe kreas’t har eigen konfiguraasje der ek útsjocht. Dat meganisme ferklearret it hiele symptoom, en it ferklearret wêrom’t de iepenbiere-oplosser-omwei mislearret.
Lês it buildnûmer foardat jo eat bewurkje. In ynstelling kopiearre fan in nijere ynstallaasje is gjin bewiis dat in âldere him ymplemintearret. Skriuw it buildnûmer njonken de feroaring, om’t it ferskil tusken twa masines hast altyd in fersje is en net in belied.
Alde oerskriuwings oerlibje it probleem dat se oplost hawwe
Aldere resepten skeakelen generearre oplosserbestannen út, kodearren in nammetsjinner hurd of skoaten it bestân mei in ûnferoarber attribút. Dy feroaringen bliuwe op har plak lang nei’t it ferbiningsprobleem dat se feroarsake hawwe ferdwûn is, en se binne meastentiids de reden wêrom’t in nijere ynstelling neat docht te dwaan. Se oerlibje ek in weromynstallaasje fan de distribúsje yn de foarm fan in shell-profyl dat it bestân by elke oanmelding oerskriuwt. De lêste is it dreechst te finen, om’t er ûnsichtber is fan it bestân dat elkenien ynspektearret.
Sykje in mei de hân skreaun oplosserbestân, in ûnferoarber attribút dêrop en in opstartskript dat it oerskriuwt. Kontrolearje de ûnferoarbere flagge foardat jo bewurkje, om’t in skriuwwerjefte nei in skoaten bestân mislearret op in manier dy’t as in tastimmingprobleem lêst. Kontrolearje dêrnei it shell-profyl, om’t in skript dêre de âlde ynhâld binnen sekonden nei jo reparaasje werombringt.
It fuortsmiten fan in oerskriuwing hat gefolgen, dus skriuw op wat jo fuortsmiten hawwe en wêrom. In distribúsje dy’t wier in statyske oplosser foar in oar doel nedich hat, sil brekke as it generearre bestân weromkomt.
Twa bestannen, twa ferskillende rollen
De twa konfiguraasjebestannen wenje op ferskillende plakken en kontrolearje ferskillende dingen, en har trochelkoar helje jout bewurkings dy’t op de ferkearde laach tapast wurde. It bestân oan de Windows-kant set eigenskippen fan de firtuele masine, wylst it bestân oan de distribúsjekant set hoe’t dy distribúsje syn eigen oplosserkonfiguraasje bout. Gjin fan beide oerskriuwt de oare, en dêrom moatte beide it iens wêze.
Foar in ynstallaasje dy’t de funksje stipet, is it fragmint oan de Windows-kant koart. It is de hiele feroaring oan dy kant:
[wsl2]
dnsTunneling=trueDat fragmint heart yn it Windows-brûkersprofyl en jildt foar de firtuele masine ynstee fan foar ien distribúsje. Tuneling freget ek dat de distribúsje it generearjen fan oplossers net útskeakele hat, dus it bestân oan de distribúsjekant moat dat gedrach gewurde litte. Feroarje ien sûnder de oare en de modus docht stilwei neat, wat de meast foarkommende manier is wêrop dizze reparaasje as brutsen rapportearre wurdt. Kontrolearje beide bestannen yn deselde sesje, om’t twa bewurkings wiken útinoar twa bewurkings binne dy’t nimmen taskriuwe kin.
Start opnij, freegje dan fan beide kanten
Dizze ynstellingen wurde lêzen as de omjouwing start, dus in nije shell binnen in draaiende distribúsje sil se net opnij lade. Skeakelje de omjouwing út ynstee fan de shell opnij te starten, en bewarje earst alle draaiende wurk om’t elke distribúsje dermei stopt. Allinnich dat fergetten ferklearret de measte rapporten dat in feroaring gjin effekt hat.
Freegje dan deselde fraach fan beide kanten. De útfier lit ek sjen by hokker oplosser de distribúsje eins bedarre is:
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'It earste kommando einiget de omjouwing, it twadde lit sjen hokker oplosser de distribúsje no brûkt, en de lêste twa stelle deselde fraach oan elke kant. Fergelykje de antwurden ynstee fan de status fan de ynstelling. In fraach dy’t nei in skjinne opnij-start mei beide bestannen korrekt noch mislearret, wiist nei it bedriuwsbelied foar oplossers, en dat petear hat in oare eigner.