WSL2 nær ekki VPN undirnetinu: lestu leið hýsilsins
Dreifingin situr bak við eigið NAT og sér aldrei Windows göngin. Lestu núverandi vistfang og forskeyti frá hýslinum og bættu þeim svo við inni í WSL.
Innan frá dreifingunni rennur ping á innri þjón út á tíma meðan sama vistfang svarar frá Windows. VPN er tengt og leið Windows er rétt, svo bilið er WSL mörkin. Gakktu leiðina frá skipuninni sem mistókst aftur að viðmóti hýsilsins. Lagfæringin er ekki fast CIDR í stillingarskrá; hún er að lesa núverandi vistfang og bæta því við þar sem dreifingin getur notað það.
Staðfestu hvar leiðin stöðvast
Keyrðu sömu prófun á báðum hliðum: leystu og tengdu við eitt innra hýsil frá Windows og endurtaktu svo í dreifingunni. Árangur í Windows ásamt tímatakmarki í dreifingunni staðsetur bilunina á milli þeirra, ekki í VPN biðlarann eða innri þjóninn. Gerðu þetta áður en þú breytir einhverri leið, svo báðar niðurstöður lýsi sama áfangastað.
Inni í dreifingunni sýnir ip -4 addr sýndarhlekk með vistfangi úr WSL NAT bilinu, og ip route sýnir sjálfgefna leið að WSL gáttinni. Engin leið er fyrir fyrirtækjaforskeytið, því göngutenging hýsilsins á sér ekki hliðstæðu inni í dreifingunni. Sjálfgefna gáttin liggur að WSL NAT, ekki að fyrirtækjanetinu.
Að bæta fyrirtækjaleiðinni við án þess að bæta fyrst staðbundnu vistfangi á aðgengilegan hlekk veldur tímatakmarki eða net-óaðgengilegri villu. Vistfangið er sá hluti sem gerir leiðina nothæfa, svo lestu það fyrst og líttu á leiðina sem annað skrefið.
Veldu speglað net eða skrifskriptaða leið
Speglað net gefur dreifingunni viðmót hýsilsins sjálfs, svo göngin og leiðir þeirra birtast án afritunar. Eiginleikinn fer eftir nýlegri Windows byggingu og networkingMode=mirrored í .wslconfig, og að virkja hann breytir ótengdri hegðun eins og framsendingu localhost. Líttu á þetta sem breytingu á vettvangi, ekki leiðarstillingu. Ef byggingin styður það og aukaverkanir eru ásættanlegar er þetta stysta leiðin.
Þrengri nálgunin heldur sjálfgefna NAT og afritar vistfang og leið ganganna í dreifinguna í hvert sinn sem göngin rísa. Hún virkar á fleiri byggingum, breytir ekki hegðun localhost og bregst sýnilega þegar VPN er niðri. Kostnaðurinn er lítið skript sem þarf að keyra við hverja tengingu.
Veldu eitt og skrifaðu það niður. Að blanda speglaðri stillingu saman við handvirka leiðir framleiðir dreifingu með tvær leiðir að sama forskeyti og engan skýran eiganda fyrir hvora. Ein skjölulögð aðferð er auðveldari að kemba en tvær hálfstilltar.
Sæktu núverandi gönguupplýsingar frá hýslinum
Paraðu tengið við MAC vistfang í stað nafns, því nöfn breytast með VPN biðlaranum og tengingarröðinni. Listaðu tengin einu sinni, skráðu MAC göngutengisins og spurðu svo um vistfang þess og forskeyti. MAC heldur sér með sýndartenginu milli endurtenginga, en nafnið og viðmótsvísitalan gera það ekki:
powershell.exe 'Get-NetAdapter | Where-Object { $_.MacAddress -eq "3C-52-82-0A-1B-7C" } | Get-NetIPAddress -AddressFamily IPv4 | Select-Object IPAddress, PrefixLength'Gáttin kemur frá stillingu viðmótsins. Sæktu viðmótsvísitöluna fyrst og lestu svo næsta stökk. Vísitalan getur breyst eftir endurræsingu eða endurstillingu tengis, þess vegna á skriptið að lesa hana í stað þess að geyma hana:
powershell.exe '(Get-NetAdapter | Where-Object { $_.MacAddress -eq "3C-52-82-0A-1B-7C" }).InterfaceIndex'
powershell.exe '(Get-NetIPConfiguration -InterfaceIndex 27).IPv4DefaultGateway.NextHop'Leiddu úttakið í gegnum tr -d '\r' áður en þú úthlutar því til breytu. PowerShell endar línur með vagnfærslu, og án strippingarinnar ber síðasti reiturinn faldinn staf sem lætur leiðarskipun mistakast með ruglingslegri þáttunarvillu.
Beittu vistfanginu og leiðinni inni í dreifingunni
Settu upp vistfang ganganna sem forskeytt vistfang á viðmót dreifingarinnar og beindu svo fyrirtækjablokkinni í gegnum gátt hýsilsins:
sudo ip addr add 172.20.14.37/22 dev vpn
sudo ip route add 172.20.0.0/16 via 172.20.12.1 dev vpnNetworkManager sleppir handvirkt stilltu vistfangi þegar tengingin hringrásast, og enginn DHCP biðlari biður um staðgengil. Stilltu aðferðina á sjálfvirka svo hver endurtenging endurnýi vistfangið, og ræstu tenginguna svo aftur. Handvirk aðferð virðist stöðug þar til fyrsta endurtengingin kemur:
nmcli con show vpn
sudo nmcli con mod vpn ipv4.method auto
sudo nmcli con up vpnKeyrðu bæði skrefin frá króknum sem ræsir VPN, ekki úr gagnvirkri skel. Skript sem les vistfangið, bætir því við, bætir leiðinni við og skráir gildin gerir endurtekna handvirka viðgerð endurtekna, og skráin er það fyrsta sem lesa á þegar forskeytið breytist.
Festu nafnið og sannaðu leiðina
Kjarninn getur endurnefnt viðmót dreifingarinnar milli eth1 og eth2 eftir netvíxl, og skript skrifað gegn nafni breytir þá röngu tæki. udev regla bundin við MAC gefur viðmótinu stöðugt merki:
SUBSYSTEM=="net", ACTION=="add", ATTRS{address}=="3c:52:82:0a:1b:7c", NAME="vpn"Staðfestu svo með vistfanginu, leiðinni og raunverulegri TCP tengingu: ip -4 addr show dev vpn, ip route get 172.20.4.10 og tengingu við þekkta innri gátt. Leiðarleitin ætti að nefna vpn tækið og upprunavistfangið sem þú bættir við.
Ef öll þrjú standast inni í dreifingunni og tengingin mistekst samt, er pakkinn að fara úr WSL og er felldur á Windows hliðinni. Athugaðu eldvegg hýsilsins og eigin síun VPN biðlarans áður en þú breytir skriptinu, því önnur leiðarbreyting lagar ekki pakka sem er þegar að ná hýslinum.