Ping eftir vistfangi virkar inni í dreifingunni, pakkauppsetningar og git-sóknir ekki, og bilunin kom fram rétt eftir að göngin komu upp. Aðeins nöfn hættu að leysast, sem bendir til DNS en ekki til nettengingar. Að setja pakka upp aftur er vinsælasta ranga fyrsta skrefið hér. WSL2 hefur tvær óháðar leiðir til að framkalla nákvæmlega þessi einkenni, og þær þurfa mismunandi viðgerðir.

Hvers vegna dreifingin heldur sínum eigin resolver

DNS-biðlari Windows er ekki notaður inni í dreifingunni. WSL2 byggir sína eigin resolver-skrá við ræsingu, sem vísar á stub-vistfang sem Windows birtir á sýndarrofanum fyrir hjálparsýndarvélina.

Þetta fyrirkomulag er stöðugt í venjulegum netbreytingum því það er skrifað einu sinni og endurnýtt. Fyrirkomulagið hættir að vera rétt þegar göngubiðlari endurskrifar aðlögunarlistann á hýsilnum eftir að hjálparsýndarvélin er þegar ræst.

Ekkert inni í dreifingunni fylgist með breytingunni, svo skráin heldur áfram að vísa á vistfang sem er kannski ekki lengur á leiðinni. Næsta uppfletting bíður þá, rennur út eða fær svar frá netþjóni sem hefur aldrei heyrt um innra svæðið. Að innan hættir resolverinn einfaldlega að svara, og öll nöfn mistakast í einu.

Safnaðu fyrst sönnunargögnum á báðum hliðum

Skráðu hvað dreifingin sér, síðan hvað Windows sér, áður en þú breytir hvorugu. Báðar sýnirnar saman eru það sem greinir bilanamástrin.

Inni í dreifingunni, prentaðu resolver-skrána, leiðartöfluna og eina innri og eina opinbera uppflettingu:

ip -4 route
cat /etc/resolv.conf
getent hosts intranet.corp.example
getent hosts example.com

Á Windows, skráðu DNS-netþjónana á hverri aðlögun og IPv4-töfluna með mælingum. VPN-biðlari setur venjulega upp leið fyrir WSL2-undirnetið, og mæling hennar ræður því hvort þessi umferð fari út um göngin eða verði staðbundin.

Get-NetAdapter | Get-DnsClientServerAddress
route print -4

Leiðarmæling eða úrelt skrá

Fyrsta bilunin er úrelta skráin. Resolverinn var skrifaður fyrir stöðu aðlögunarinnar við ræsingu, og göngin breyttu þeirri stöðu. Stub-vistfang hans getur nú verið óaðgengilegt, eða það nefnir netþjón sem veit ekkert um innra svæðið.

Sú önnur er leiðavandamál. Þegar VPN bætir við leið sem nær yfir WSL2-undirnetið með lægri mælingu en hlekkjarleið hýsilsins, fara pakkar sem beint er til hjálparsýndarvélarinnar inn í göngin. Þá renna öll WSL2-þjónusta út, ekki aðeins DNS.

Greiningarprófið kostar eina línu. Ef tölulegt vistfang eins og opinber resolver svarar enn pingi á meðan nöfn mistakast, er leiðin heil og DNS er vandamálið. Það er tilfellið þar sem breyting á resolver er réttlætanleg, og tilfellið þar sem hún er það ekki verður líka augljóst. Ef tölulega prófið mistekst líka hefur hjálparsýndarvélin misst leið sína og engin resolver-skrá lagar það.

Fyrir leiðatilfellið, fjarlægðu sjálfvirku mælinguna af gönguaðlöguninni og gefðu henni tölu yfir WSL2-hlekkjarleiðinni:

Get-NetAdapter | Where-Object InterfaceDescription -Match VPN | Set-NetIPInterface -InterfaceMetric 5500
wsl.exe --shutdown

Slökktin skiptir máli. Breyting á mælingunni endurskrifar ekki rísandi hjálparsýndarvél, svo dreifingin verður að vera endurbyggð áður en breytingin verður sýnileg.

Taktu skrána yfir, af ásettu ráði

Ef leiðakerfið er rétt og aðeins innri nöfn mistakast, er resolverinn sekur og þú getur stöðvað rafalann. Það er viljandi breyting með viðhaldskostnaði, ekki hjáleið sem á að beita léttvægt.

Búðu til /etc/wsl.conf inni í dreifingunni með nettengda hlutanum sem slökkvar á myndun, skrifaðu síðan resolver-skrána sjálf, fyrirtækjanetþjónn fyrst og opinber varaleið næst:

[network]
generateResolvConf = false
search corp.example
nameserver 10.88.4.53
nameserver 9.9.9.9

Röðin skiptir máli. Opinber resolver getur ekki svarað innra nafni, og varaleiðin er aðeins fyrir internetuppflettingar. Þegar skráin er þín endurnýjar ekkert hana, svo fyrirtækjanetþjónn sem flyst verður bilun sem þú verður að taka eftir sjálf.

Athugaðu nöfn, síðan pakka

Staðfestu eitt innra og eitt opinbert nafn með resolver kerfisins, endurtaktu síðan aðgerðina sem mistókst. Pakkastjórar nota stundum sinn eigin resolver, þess vegna getur virkandi getent verið til við hlið biluðu uppsetningarinnar.

Ef þú sjálfvirkir endurskrifunina skaltu gera hana idempotenta: án ganga, haltu skránni sem þegar er til í stað þess að skrifa tóman netþjónalista.

getent hosts intranet.corp.example
resolvectl status | head -20
getent hosts example.com

Virk innri uppfletting og virk opinber uppfletting, að innan frá dreifingunni, er niðurstaðan sem er þess virði að skrá. Grænt VPN-tákn á hýsilnum sannar hvorugt.

Tengdir greinar