Lódálann an vicí inmheánach in Edge, ach téann git clone taobh istigh den dáileadh in am. Léitear an bhreathnóireacht aonair sin de ghnáth mar «tá an VPN ag blocáil WSL2», agus téann an chéad uair eile ag cur /etc/resolv.conf in eagar. Is é an léamh is úsáidí nach raibh cosán líonra an óstaigh ag WSL2 riamh: ritheann sé i VM fóntais lena oiriúnaitheoir féin, lena bhealaí féin agus le comhad resolver a ghineann Windows dó. Braitheann gach rud a leanann ar cé acu den tríú sin atá in easnamh ort i ndáiríre.

Tá a chruach, a mhéadracht agus a resolver féin ag an VM

Sa mhód NAT réamhshocraithe, seasann an dáileadh taobh thiar de lasc fhíorúil agus sroicheann sé an t-idirlíon tríd an óstach, ach ní fheiceann sé oiriúnaitheoirí an óstaigh. Taispeánann ip addr comhéadan amháin le seoladh príobháideach, taispeánann ip route bealach réamhshocraithe tríd an lasc sin, agus is comhad ginte é /etc/resolv.conf a dhíríonn ar stub resolver a roghnaigh Windows. Ní athraíonn aon rud díobh sin mar gheall gur thosaigh cliant VPN ar thaobh Windows.

Sin an fáth nach gcruthaíonn «oibríonn an brabhsálaí» mórán. Úsáideann an brabhsálaí cruach an óstaigh, an tollán agus polasaí resolver an óstaigh. Úsáideann do bhlaosc cruach eile a roinneann cárta líonra fisiceach trí chomhtharlú. Aontaíonn siad sa chás sona agus éiríonn siad éagsúil go beacht nuair a shuiteálann an VPN scagaire, nuair a athscríobhann sé an liosta DNS nó nuair a chuireann sé bealach le foirlíon na lasca fíorúla.

Cinneann dhá thástáil cén domhan ina bhfuil tú, agus caithfear iad a rith taobh istigh den dáileadh:

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

Is fadhb resolver é teip na n-ainmneacha agus seoladh litriúil ag freagairt. Is fadhb cosáin é teip na n-ainmneacha agus na seoltaí le chéile, agus ní bhainfidh aon mhéid eagarthóireachta resolver leis. Tagann fianaise ó thaobh Windows ina dhiaidh sin: taispeánann Get-NetAdapter | Get-DnsClientServerAddress agus route print -4 ar éiligh an tollán an fhoirlíon ina bhfuil do VM ina cónaí.

Miotas a haon: réitíonn freastalaithe DNS corparáideacha é

Is é eagarthóireacht an chomhaid resolver an comhairle chlasaiceach, agus bíonn sé ceart thart ar leath na n-amanna. Nuair a bhíonn sé ceart, bíonn sé ceart ar chúis shonrach: díríonn an comhad ginte ar resolver nach bhfuil aithne aige ach ar ainmneacha poiblí, mar sin tagann fiosrúchán ar intranet.example.internal ar ais mar rud nach bhfuil ann cé go bhfuil an cosán ceart.

Ciallaíonn séarú freastalaithe an VPN Windows a stopadh ón gcomhad a athghiniúint, mar cuirtear aon chomhad a scríobhann tú de láimh ina ionad ag an gcéad tús eile:

[network]
generateResolvConf = false

Sábháil é sin mar /etc/wsl.conf, rith wsl --shutdown ó Windows, ansin tosaigh an dáileadh agus scríobh /etc/resolv.conf le freastalaithe an tolláin ar dtús agus resolver poiblí mar chúlacht amháin. Is athrú marthanach é le costas cothabhála: ní leanann an comhad an t-óstach a thuilleadh, mar sin nuair a athraíonn seoltaí DNS corparáideacha leanann an dáileadh ag fiafraí faoi na cinn shean. Caithfidh duine éigin a bheith ina úinéir ar an gcomhad sin.

Ní dhéanann sé faic ach an oiread nuair atá an teip níos leithne. Má théann curl chuig 1.1.1.1 in am, tá cliant an tolláin ag scagadh na lasca fíorúla nó ag bealachú foirlíon an VM isteach sa tollán, agus ní thugann resolver ceart duit ach ainmneacha nach féidir teacht orthu fós.

Miotas a dó: seasann an t-athrú méadrachta

Nuair a réitítear ainmneacha ach go n-imeoidh an trácht tríd an oiriúnaitheoir fisiceach, is iad méadrachtaí comhéadain an luamhán. Tabhair costas ard don oiriúnaitheoir VPN agus costas íseal don lasc WSL:

Get-NetAdapter | Where-Object InterfaceDescription -Match "AnyConnect" | Set-NetIPInterface -InterfaceMetric 4000
Get-NetIPInterface -InterfaceAlias "vEthernet (WSL)" | Set-NetIPInterface -InterfaceMetric 1

Ansin cuimhnigh go n-athchruthaítear oiriúnaitheoir an tolláin i go leor leaganacha cliant ar gach nasc agus go bhfilleann an mhéadracht ar a réamhshocrú. Is deisiú é ordú aonuaire a éagann go ciúin, de ghnáth thar dheireadh seachtaine, agus tagann an ticéad ar ais le «d'oibrigh sé an tseachtain seo caite». Is é tasc sceidealaithe a spreagann imeacht an VPN, nó script a ritheann an t-úsáideoir tar éis nascadh, an leagan macánta den deisiú seo.

Baineann an éag céanna le bealaí óstaigh a cuireadh leis do réimír amháin dhanartha. Is fiú iad mar dhiagnóisic, mar insíonn siad duit an é an fhadhb ceann scríbe amháin nó an cosán iomlán, ach ní ailtireacht iad.

Miotas a trí: clúdaíonn aon deisiú gach leagan Windows

ApproachWhat it actually does
Resolver pinFixes private names only; no effect on path failures
Sidecar distributionForwards traffic over a socket to a helper VM, so the switch's filter no longer matters
Mirrored networkingGives the distribution the host's interface set; also enables DNS tunnelling

wsl-vpnkit is é an patrún sidecar: bíonn cosán thaobh an óstaigh ag dáileadh beag agus seolann sé ar aghaidh do dhaileadh eile trí shoc saorga, ionas go stopann trácht na n-aipeanna ag brath ar an lasc scagtha. Teastaíonn an cosán caighdeánach uaidh chun oibriú, rud a chiallaíonn na trealmhúnlaí networkingMode agus dnsTunneling a bhaint as %UserProfile%\.wslconfig, generateResolvConf = true a athchóiriú i ngach dáileadh oibre agus an tseirbhís a thosú ag am logála isteach.

Is é an mód scáthánach an rogha eile ionsuite ar Windows 11 22H2 agus níos déanaí, agus is socrú amháin móide múchadh é:

[wsl2]
networkingMode=mirrored

Taobh istigh den dáileadh liostaíonn ip addr ansin oiriúnaitheoirí an óstaigh, féadfaidh an tollán teacht chun solais ina measc, agus seolann tollánú DNS fiosrúcháin trí resolver Windows fiú nuair a athscríobhann an cliant an liosta DNS. Níl sé uilíoch: scaoileann roinnt tiománaithe scagtha an cosán scáthánach fós, agus b'fhéidir go dteastódh cead sainráite ó rialacha balla dóiteáin Hyper-V. Is é treoir líonraithe WSL Microsoft an leathanach le seiceáil i gcoinne do leagain sula gcuirfidh tú oideas a scríobhadh do cheann níos nuaí i bhfeidhm.

Tástáil trí rud tar éis gach athraithe

Roghnaigh meicníocht amháin in aghaidh an mheaisín agus scríobh síos í, mar is olc a thagann an dá rud le chéile. Déanann sidecar os cionn an mhóid scáthánaigh an t-ardú chun cinn a dhúbláil, agus bíonn claonadh ag óstach scáthánach a bhfuil iontráil sidecar seanchaite in .wslconfig air teip tar éis uasghrádaithe, ní roimhe.

Pé rud a roghnaigh tú, is iad na trí iarratas céanna taobh istigh den dáileadh an tástáil ghlactha: ainm inmheánach, ainm poiblí agus seoladh amh. Ansin déan iad a athrá tar éis an tollán a dhícheangal agus a athcheangal, agus tar éis wsl --shutdown. Ciallaíonn ainm inmheánach amháin ag teip polasaí resolver; ciallaíonn ainm inmheánach agus poiblí ag teip le chéile le seoladh a oibríonn polasaí resolver fós; ciallaíonn gach rud ag teip an cosán.

Má theipeann ar óstach inmheánach amháin agus an chuid eile ag obair, stop ag féachaint ar an resolver agus lorg bealach atá ar iarraidh don réimír sin. Má oibríonn gach rud go dtí an chéad athcheangal eile, tá deisiú aimsithe agat a bhraitheann ar staid ama rith, agus caithfear é a chur i bhfeidhm go huathoibríoch arís nó a mhalartú ar cheann den dá mheicníocht thuas.

Ailt ghaolmhara