Gumagana ang pag-browse sa loob ng distribusyon, at nabigo ang unang panloob na pangalan ng host sa sandaling tumaas ang tunel. Ang repleks ay magdagdag ng pampublikong resolver, na nagbabalik ng internet at ginagawang hindi maabot ang pangalang pang-korporasyon sa natitirang araw. Sa WSL 2, ang /etc/resolv.conf ay nabuong output at hindi konfigurasyon, at iyon ang mekanismong dapat maintindihan. Ang pagtatama ay hindi mas mahusay na resolver, ito ay pagmamay-ari ng file.

Binubuo ang file, hindi kinokonpigura

Isinusulat ng WSL 2 ang file sa pagsisimula mula sa mga adapter ng Windows na nakikita nito sa sandaling iyon, at naglilimbag ng komento sa itaas na nagsasabi nito. Kapag nagdagdag o nagsulat muli ang isang kliyente ng VPN ng adapter pagkatapos, hindi kinakailangang bumuo muli ang distribusyon ng anuman, at patuloy na inilalarawan ng file ang isang network na wala na.

Ang ikalawang paraan ng pagkabigo ay mas tahimik: maaaring kopyahin lamang ng WSL ang mga server mula sa ilang adapter. Kung mayroon nang IPv6 resolver ang pisikal na adapter, ang mga IPv4 server na ibinibigay ng adapter ng VPN ay maaaring itapon sa halip na idagdag, at mukhang kumpleto ang file habang tiyak na iniiwan ang tumutugon sa mga panloob na pangalan.

Ihambing ang tanawin mula sa Windows sa tanawin mula sa Linux

Basahin ang magkabilang panig bago mag-edit. Sa loob ng distribusyon, tingnan kung ano ang nilalaman ng file at kung ito ay ordinaryong file o link. Sa Windows, ilista ang resolver para sa bawat adapter, kabilang ang ginawa ng VPN:

ls -l /etc/resolv.conf
cat /etc/resolv.conf
Get-DnsClientServerAddress -AddressFamily IPv4
Get-NetAdapter | Where-Object Status -eq 'Up'

Kapag ipinapakita ng adapter ng VPN ang mga server ng korporasyon at iba ang ipinapakita ng Linux, ang pagkakaiba ay nasa pagbuo at hindi sa maabot. Ihambing ang listahan ng adapter at ang mga address, dahil ang nawawalang adapter ay nagpapaliwanag ng nawawalang server. Ang pagkakaibang iyon ang nagtatakda kung inaayos mo ang WSL o isang firewall, at wala silang anumang pagkakatulad.

Patayin ang pagbuo at isulat ang sarili mong file

May isang dokumentadong setting na pumipigil sa WSL na muling isulat ang file, at ito ay nasa /etc/wsl.conf. Magdagdag ng seksyon ng network sa file na iyon:

[network]
generateResolvConf = false

Pagkatapos, ihinto ang distribusyon mula sa Windows gamit ang wsl --shutdown at simulan muli. Kung ang landas ay simbolikong link at hindi ordinaryong file, alisin ang link bago isulat ang sarili mong nilalaman, dahil ang pagsulat sa pamamagitan ng link ay maaaring muling buuin ang nabuong target sa susunod na pagsisimula. Mula sa sandaling iyon, ang file ay sa iyo at walang nagsusulat muli nito.

nameserver 172.28.4.10
nameserver 172.28.4.11
search site.corp.example
options timeout:1 attempts:2 rotate

Kung walang domain ng paghahanap, ang hindi kwalipikadong pangalan ng host ay dinaragdagan ng pampublikong ugat at bumabalik bilang walang ganoong domain. Pinipigilan ng timeout ang isang patay na unang server na harangan ang bawat paghahanap, nililimitahan ng attempts kung gaano karaming pagtatangka ang ginugugol ng isang paghahanap, at ipinamamahagi ng rotate ang mga muling pagtatangka sa halip na laging magsimula sa itaas. Ang kapalit ay hindi na sinusundan ng file ang isang VPN na nagbabago ang address ng resolver sa pagitan ng mga sesyon.

Pangasiwaan ang resolver na gumagalaw, pagkatapos ay i-verify

Ang ilang kliyente ay nagbibigay ng resolver na tukoy sa sesyon, kaya nababali ang isang static na file sa susunod na koneksyon. Dalawang diskarte ang maipagtatanggol. Isulat ang file mula sa maliit na script tuwing magbabago ang address, o iwanang bukas ang pagbuo at tiyakin na ang adapter na kinokopyahan ng WSL ay may dalang server ng korporasyon. Ang ikalawa ay hindi nangangailangan ng hook at nabigo tuwing nilalaktawan ng pagbuo ang adapter ng VPN; pareho pa ring kailangang lutasin muna ang tunggalian ng IPv6.

Naglalapat din ang Windows ng sarili nitong mga patakaran sa pangalan, tulad ng listahan ng paghahanap ng suffix o patakaran ng resolution para sa mga partikular na domain, at ang pagkopya ng mga address ng adapter ay hindi nagbabalik ng mga patakarang iyon. Kung ang isang pangalan ay niresolba sa Windows at hindi sa distribusyon gamit ang parehong server, ihambing ang paghawak ng suffix bago sisihin ang tunel.

Subukan gamit ang pangalan at hindi ang packet: ang getent hosts sensor-access0.corp.example ay dumadaan sa stack ng resolver, samantalang ang ping ay maaaring magtagumpay laban sa naka-cache o literal na address. Pagkatapos, ulitin pagkatapos ng pagkadiskonekta at muling pagkonekta, dahil ang setting na gumagana nang isang beses at nabubuo muli sa pagpapatuloy ay hindi kailanman naayos. I-save ang dating nilalaman at itala kung aling bahagi ang nagmamay-ari ng landas sa makinang iyon, upang magsimula ang susunod na pagbabago nang may ebidensya.

Kaugnay na mga artikulo