Ngaphakathi kwesabelo, i-ping eya kuseva yangaphakathi iyaphela ngesikhathi kuyilapho ikheli elifanayo liphendula lisuka ku-Windows. I-VPN ixhunyiwe futhi umzila we-Windows ulungile, ngakho igebe liwumngcele we-WSL. Landela umzila kusukela kumyalo ohlulekile ubuyela ku-interface yomsingathi. Isixazululo akusiyo i-CIDR eqinile efayeleni lokucushwa; iwukufunda ikheli lamanje nokulengeza lapho isabelo singalisebenzisa khona.

Qinisekisa lapho umzila uma khona

Gijimisa isivivinyo esifanayo ezinhlangothini zombili: xazulula futhi uxhume kumsingathi oyedwa wangaphakathi usuka ku-Windows, bese ukuphinda esabelweni. Impumelelo ku-Windows kanye nokuphela kwesikhathi esabelweni kukhombisa ukuthi ukwehluleka kungaphakathi kwazo zombili, hhayi kuklayenti ye-VPN noma kuseva yangaphakathi. Yenza lokhu ngaphambi kokushintsha noma yimuphi umzila, ukuze imiphumela emibili ichaze indawo efanayo.

Ngaphakathi kwesabelo, i-ip -4 addr ibonisa i-adaptha ebonakalayo enekheli elisuka kububanzi be-NAT ye-WSL, futhi i-ip route ibonisa umzila ozenzakalelayo obheke esangweni le-WSL. Awukho umzila we-prefix yenkampani, ngoba i-adaptha yomhubhe womsingathi ayinakulingana ngaphakathi kwesabelo. Isango elizenzelela liholela ku-NAT ye-WSL, hhayi kunethiwekhi yenkampani.

Ukufaka umzila wenkampani ngaphandle kokufaka ikheli lendawo kusixhumanisi esifinyelelekayo kuqala kukhiqiza ukuphela kwesikhathi noma iphutha lenethiwekhi engafinyeleleki. Ikheli liyingxenye eyenza umzila ube nokusetshenziswa, ngakho lifunde kuqala futhi uthathe umzila njengesinyathelo sesibili.

Khetha inethiwekhi yesibuko noma umzila we-script

Inethiwekhi yesibuko inikeza isabelo izixhumanisi zomsingathi uqobo, ngakho umhubhe nemizila yawo kuvela ngaphandle kokukopisha. Lesi sici sincike ekwakhiweni kwakamuva kwe-Windows naku-networkingMode=mirrored ku-.wslconfig, futhi ukukuvula kushintsha indlela yokuziphatha engahlobene njengokudlulisa kwe-localhost. Kuthatha njengoshintsho lwepulatifomu, hhayi ukulungiswa komzila. Uma ukwakhiwa kukusekela futhi imiphumela emibi yamukelekile, yilona mzila omfishane.

Indlela emincane igcina i-NAT ozenzakalelayo futhi ikopisha ikheli nomzila womhubhe esabelweni njalo lapho umhubhe ukhuphuka. Isebenza ekwakhiweni okuningi, ayishintshi indlela yokuziphatha ye-localhost, futhi yehluleka ngokubonakalayo lapho i-VPN icishiwe. Izindleko i-script encane okufanele igijinywe kukho konke ukuxhumana.

Khetha eyodwa futhi uyibhale phansi. Ukuhlanganisa ukucushwa kwesibuko nemizila yandla kukhiqiza isabelo esinemizila emibili eya ku-prefix eyodwa futhi esingenawo umnikazi ocacile wanoma yimuphi. Indlela eyodwa ebhalwe phansi kulula ukuyilungisa kunezimbili ezicushwe kancane.

Donsa imininingwane yamanje yomhubhe kumsingathi

Fanisa i-adaptha ngekheli le-MAC hhayi ngegama, ngoba amagama ayashintsha neklayenti ye-VPN nokulandelana kokuxhumana. Bhala uhlu lwama-adaptha kanye, qopha i-MAC ye-adaptha yomhubhe, bese ubuza ikheli layo ne-prefix. I-MAC ihlala ne-adaptha ebonakalayo phakathi kokuxhuma kabusha, kodwa igama nenkomba yesixhumanisi akuhlali:

powershell.exe 'Get-NetAdapter | Where-Object { $_.MacAddress -eq "3C-52-82-0A-1B-7C" } | Get-NetIPAddress -AddressFamily IPv4 | Select-Object IPAddress, PrefixLength'

Isango livela ekucushweni kwesixhumanisi. Thola inkomba yesixhumanisi kuqala, bese ufunda i-hop elandelayo. Inkomba ingashintsha ngemuva kokuqalisa kabusha noma ukusetha kabusha i-adaptha, ngakho i-script kufanele iyifunde esikhundleni sokuyigcina:

powershell.exe '(Get-NetAdapter | Where-Object { $_.MacAddress -eq "3C-52-82-0A-1B-7C" }).InterfaceIndex'
powershell.exe '(Get-NetIPConfiguration -InterfaceIndex 27).IPv4DefaultGateway.NextHop'

Dlulisa okukhiphayo nge-tr -d '\r' ngaphambi kokukwabela okuguquguqukayo. I-PowerShell iqeda imigqa nge-carriage return, futhi uma kungasuswa inkambu yokugcina ithwala uhlamvu olufihlekile olwenza umyalo womzila wehluleke ngephutha lokuhlaziya elididayo.

Sebenzisa ikheli nomzila ngaphakathi kwesabelo

Faka ikheli lomhubhe njengekheli eline-prefix kusixhumanisi sesabelo, bese uqondisa ibhlokhi yenkampani ngesango lomsingathi:

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 vpn

I-NetworkManager ilahla ikheli elicushwe ngesandla lapho ukuxhumana kuzungeza, futhi akekho iklayenti le-DHCP elicela okunye. Setha indlela ibe ngeyokuzenzakalela ukuze ukuxhuma kabusha ngakunye kuvuselele ikheli, bese uphakamisa ukuxhumana futhi. Indlela yesandla ibonakala izinzile kuze kube ukuxhuma kabusha kokuqala:

nmcli con show vpn
sudo nmcli con mod vpn ipv4.method auto
sudo nmcli con up vpn

Gijimisa zombili izinyathelo kusuka ku-hook eqala i-VPN, hhayi kusuka ku-shell esebenzisanayo. I-script efunda ikheli, ilengeze, ilengeze umzila futhi irekhode amanani yenza ukulungiswa kwesandla okuphindaphindayo kube okungaphindaphindwa, futhi ilogi iyinto yokuqala okufanele ifundwe lapho i-prefix ishintsha.

Phina igama futhi ufake ubufakazi bomzila

I-kernel ingaqamba kabusha isixhumanisi sesabelo phakathi kwe-eth1 ne-eth2 ngemuva kokushintsha kwenethiwekhi, futhi i-script ebhalelwe igama ibe isihlela idivayisi engalungile. Umthetho we-udev oboshelwe ku-MAC unikeza isixhumanisi ilebula elizinzile:

SUBSYSTEM=="net", ACTION=="add", ATTRS{address}=="3c:52:82:0a:1b:7c", NAME="vpn"

Bese uqinisekisa ngekheli, umzila nokuxhumana kwe-TCP kwangempela: ip -4 addr show dev vpn, ip route get 172.20.4.10 nokuxhumana ne-port yangaphakathi eyaziwayo. Ukusesha komzila kufanele kusho idivayisi ye-vpn nekheli lomthombo olifakile.

Uma zontathu zidlula ngaphakathi kwesabelo futhi ukuxhumana kusahluleka, iphakethe liyaphuma ku-WSL futhi liyalahlwa ohlangothini lwe-Windows. Hlola i-firewall yomsingathi nokuhlunga kweklayenti ye-VPN uqobo ngaphambi kokushintsha i-script, ngoba okunye ukuhlela umzila ngeke kulungise iphakethe eselivele lifinyelela umsingathi.

Izihloko ezihlobene