WSL2 ma jilħaqx is-subnet VPN: aqra r-rotta tal-host
Id-distribuzzjoni qiegħda wara n-NAT tagħha stess u qatt ma tara t-tunnel ta' Windows. Aqra l-indirizz u l-prefiss attwali mill-host, imbagħad żidhom ġewwa WSL.
Minn ġewwa d-distribuzzjoni, ping lejn server intern jiskadi filwaqt li l-istess indirizz iwieġeb minn Windows. Il-VPN huwa konness u r-rotta ta' Windows hija korretta, għalhekk id-distakk huwa l-fruntiera ta' WSL. Imxi t-triq mill-kmand li falla lura lejn l-interface tal-host. Is-sewwa mhuwiex CIDR fiss f'fajl ta' konfigurazzjoni; huwa li taqra l-indirizz attwali u żżidu fejn id-distribuzzjoni tista' tużah.
Ikkonferma fejn tieqaf it-triq
Mexxi l-istess test fuq iż-żewġ naħat: issolvi u qabbad ma' host intern wieħed minn Windows, imbagħad erġa għamilha fid-distribuzzjoni. Suċċess fi Windows flimkien ma' skadenza fid-distribuzzjoni jillokalizza l-ħsara bejniethom, mhux fil-klijent tal-VPN jew fis-server intern. Agħmel dan qabel ma tbiddel xi rotta, sabiex iż-żewġ riżultati jiddeskrivu l-istess destinazzjoni.
Ġewwa d-distribuzzjoni, ip -4 addr juri adapter virtwali b'indirizz mill-firxa NAT ta' WSL, u ip route juri rotta default lejn il-gateway ta' WSL. M'hemmx rotta għall-prefiss korporattiv, għax l-adapter tat-tunnel tal-host m'għandux ekwivalenti ġewwa d-distribuzzjoni. Il-gateway default iwassal għan-NAT ta' WSL, mhux għan-netwerk korporattiv.
Żieda tar-rotta korporattiva mingħajr ma żżid l-ewwel indirizz lokali fuq konnessjoni aċċessibbli tipproduċi skadenza jew żball ta' netwerk mhux aċċessibbli. L-indirizz huwa l-parti li tagħmel ir-rotta użabbli, għalhekk aqrah l-ewwel u ttratta r-rotta bħala t-tieni pass.
Agħżel netwerk mirjuri jew rotta b'skript
In-netwerk mirjuri jagħti lid-distribuzzjoni l-interfaces tal-host stess, għalhekk it-tunnel u r-rotot tiegħu jidhru mingħajr kopja. Il-karatteristika tiddependi minn build reċenti ta' Windows u minn networkingMode=mirrored f'.wslconfig, u l-attivazzjoni tagħha tibdel imġiba mhux relatata bħall-forwarding ta' localhost. Ittrattaha bħala bidla fil-pjattaforma, mhux aġġustament tar-rotta. Jekk il-build jappoġġjaha u l-effetti sekondarji huma aċċettabbli, hija l-iqsar triq.
L-approċċ aktar dejjaq iżomm in-NAT default u jikkopja l-indirizz u r-rotta tat-tunnel fid-distribuzzjoni kull darba li t-tunnel jitla'. Jaħdem fuq aktar builds, ma jbiddilx l-imġiba ta' localhost, u jonqos b'mod viżibbli meta l-VPN ikun mitfi. L-ispiża hija skript żgħir li jrid jiġi esegwit fuq kull konnessjoni.
Agħżel waħda u iktebha. Taħlit ta' konfigurazzjoni mirjura ma' rotot manwali jipproduċi distribuzzjoni b'żewġ toroq lejn l-istess prefiss u mingħajr sid ċar għal waħda minnhom. Metodu wieħed dokumentat huwa eħfef biex tiddibaggjah minn tnejn nofshom konfigurati.
Iġbed id-dettalji attwali tat-tunnel mill-host
Qabbil l-adapter bl-indirizz MAC u mhux bl-isem, għax l-ismijiet jinbidlu mal-klijent tal-VPN u mal-ordni tal-konnessjoni. Elenka l-adapters darba, innota l-MAC tal-adapter tat-tunnel, imbagħad staqsi għall-indirizz u l-prefiss tiegħu. L-MAC jibqa' mal-adapter virtwali bejn konnessjonijiet mill-ġdid, filwaqt li l-isem u l-indiċi tal-interface ma jibqgħux:
powershell.exe 'Get-NetAdapter | Where-Object { $_.MacAddress -eq "3C-52-82-0A-1B-7C" } | Get-NetIPAddress -AddressFamily IPv4 | Select-Object IPAddress, PrefixLength'Il-gateway ġej mill-konfigurazzjoni tal-interface. Iġbed l-indiċi tal-interface l-ewwel, imbagħad aqra l-hop li jmiss. L-indiċi jista' jinbidel wara reboot jew reset tal-adapter, u għalhekk l-iskript għandu jaqrah minflok ma jaħżnu:
powershell.exe '(Get-NetAdapter | Where-Object { $_.MacAddress -eq "3C-52-82-0A-1B-7C" }).InterfaceIndex'
powershell.exe '(Get-NetIPConfiguration -InterfaceIndex 27).IPv4DefaultGateway.NextHop'Għaddi l-output permezz ta' tr -d '\r' qabel ma tassenjah lil varjabbli. PowerShell itemm il-linji b'carriage return, u mingħajr it-tneħħija l-aħħar kamp iġorr karattru moħbi li jagħmel kmand ta' rotta jonqos b'żball ta' parsing konfuż.
Applika l-indirizz u r-rotta ġewwa d-distribuzzjoni
Installa l-indirizz tat-tunnel bħala indirizz b'prefiss fuq l-interface tad-distribuzzjoni, imbagħad irrotta l-blokk korporattiv mill-gateway tal-host:
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 jarmi indirizz konfigurat manwalment meta l-konnessjoni tiċċikla, u ebda klijent DHCP ma jitlob sostitut. Issettja l-metodu għal awtomatiku sabiex kull konnessjoni mill-ġdid iġġedded l-indirizz, imbagħad erġa' għolli l-konnessjoni. Metodu manwali jidher stabbli sal-ewwel konnessjoni mill-ġdid:
nmcli con show vpn
sudo nmcli con mod vpn ipv4.method auto
sudo nmcli con up vpnMexxi ż-żewġ passi mill-hook li jibda l-VPN, mhux minn shell interattiv. Skript li jaqra l-indirizz, iżidu, iżid ir-rotta u jirrekordja l-valuri jibdel tiswija manwali rikorrenti f'waħda ripetibbli, u l-log huwa l-ewwel ħaġa li taqra meta l-prefiss jinbidel.
Pinna l-isem u ipprova t-triq
Il-kernel jista' jibdel isem l-interface tad-distribuzzjoni bejn eth1 u eth2 wara bidla fin-netwerk, u skript miktub għal isem imbagħad jeditja l-apparat żbaljat. Regola udev marbuta mal-MAC tagħti lill-interface tikketta stabbli:
SUBSYSTEM=="net", ACTION=="add", ATTRS{address}=="3c:52:82:0a:1b:7c", NAME="vpn"Imbagħad ivverifika bl-indirizz, ir-rotta u konnessjoni TCP reali: ip -4 addr show dev vpn, ip route get 172.20.4.10 u konnessjoni ma' port intern magħruf. It-tfittxija tar-rotta għandha ssemmi l-apparat vpn u l-indirizz tas-sors li żidt.
Jekk it-tlieta jgħaddu ġewwa d-distribuzzjoni u l-konnessjoni xorta tonqos, il-pakkett qed joħroġ minn WSL u jiġi mwarrab fuq in-naħa ta' Windows. Iċċekkja l-firewall tal-host u l-filtrazzjoni tal-klijent tal-VPN innifsu qabel ma tbiddel l-iskript, għax editjar ieħor tar-rotta mhux se jsewwi pakkett li diġà qed jasal għall-host.