Kutoka ndani ya usambazaji, ping kwa seva ya ndani inaisha kwa muda, wakati anwani hiyo hiyo inajibu kutoka Windows. VPN imeunganishwa na njia ya Windows ni sahihi, kwa hiyo pengo ni mpaka wa WSL. Pitia njia kutoka kwa amri iliyoshindwa kurudi kwenye kiolesura cha mwenyeji. Suluhisho si CIDR isiyobadilika katika faili ya usanidi; ni kusoma anwani ya sasa na kuiongeza mahali ambapo usambazaji unaweza kuitumia.

Thibitisha mahali njia inaposimama

Endesha jaribio lile lile kwa pande zote mbili: tatua na unganisha na mwenyeji mmoja wa ndani kutoka Windows, kisha urudie katika usambazaji. Mafanikio katika Windows pamoja na muda kuisha katika usambazaji huonyesha hitilafu iko kati ya hizo mbili, si katika mteja wa VPN au seva ya ndani. Fanya hivi kabla ya kubadilisha njia yoyote, ili matokeo mawili yaeleze marudio sawa.

Ndani ya usambazaji, ip -4 addr huonyesha adapta pepe yenye anwani kutoka masafa ya NAT ya WSL, na ip route huonyesha njia chaguo-msingi kuelekea lango la WSL. Hakuna njia kwa kiambishi cha shirika, kwa sababu adapta ya handaki ya mwenyeji haina kifani ndani ya usambazaji. Lango chaguo-msingi huelekea NAT ya WSL, si kwenye mtandao wa shirika.

Kuongeza njia ya shirika bila kwanza kuongeza anwani ya ndani kwenye kiungo kinachoweza kufikiwa hutoa muda kuisha au hitilafu ya mtandao usioweza kufikiwa. Anwani ni sehemu inayofanya njia kutumika, kwa hiyo isome kwanza na uichukulie njia kama hatua ya pili.

Chagua mtandao wa kioo au njia ya script

Mtandao wa kioo humpa usambazaji violesura vya mwenyeji mwenyewe, kwa hiyo handaki na njia zake huonekana bila kunakili. Kipengele hiki kinategemea ujenzi wa hivi karibuni wa Windows na networkingMode=mirrored katika .wslconfig, na kukiwasha hubadilisha tabia isiyohusiana kama uenezaji wa localhost. Ichukulie kama mabadiliko ya jukwaa, si urekebishaji wa njia. Ikiwa ujenzi unaunga mkono na athari za pembeni zinakubalika, hii ni njia fupi zaidi.

Mbinu nyembamba huhifadhi NAT chaguo-msingi na kunakili anwani na njia ya handaki ndani ya usambazaji kila handaki linapoinuka. Inafanya kazi kwenye ujenzi zaidi, haibadilishi tabia ya localhost, na inashindwa kwa wazi wakati VPN imezimwa. Gharama ni script ndogo ambayo lazima iendeshwe kwa kila muunganisho.

Chagua moja na uiandike. Kuchanganya usanidi wa kioo na njia za mkono huzalisha usambazaji wenye njia mbili kuelekea kiambishi kimoja na bila mmiliki wazi wa yoyote. Mbinu moja iliyoandikwa ni rahisi kurekebisha kuliko mbili zilizosanidiwa nusu.

Vuta maelezo ya sasa ya handaki kutoka kwa mwenyeji

Linganisha adapta kwa anwani ya MAC badala ya jina, kwa sababu majina hubadilika na mteja wa VPN na mpangilio wa muunganisho. Orodhesha adapta mara moja, andika MAC ya adapta ya handaki, kisha uliza anwani na kiambishi chake. MAC hubaki na adapta pepe kati ya muunganisho upya, wakati jina na kielekezi cha kiolesura hazibaki:

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

Lango linatoka kwenye usanidi wa kiolesura. Pata kielekezi cha kiolesura kwanza, kisha soma hop inayofuata. Kielekezi kinaweza kubadilika baada ya kuwasha upya au kuweka upya adapta, kwa hiyo script inapaswa kukisoma badala ya kukihifadhi:

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

Pitisha matokeo kupitia tr -d '\r' kabla ya kuyapa kigeu. PowerShell humaliza mistari kwa carriage return, na bila kuondoa sehemu ya mwisho hubeba herufi iliyofichwa ambayo hufanya amri ya njia ishindwe kwa hitilafu ya uchanganuzi inayochanganya.

Tumia anwani na njia ndani ya usambazaji

Sakinisha anwani ya handaki kama anwani yenye kiambishi kwenye kiolesura cha usambazaji, kisha elekeza kizuizi cha shirika kupitia lango la mwenyeji:

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

NetworkManager hutupa anwani iliyosanidiwa kwa mkono wakati muunganisho unazunguka, na hakuna mteja wa DHCP anayeomba mbadala. Weka mbinu kuwa ya kiotomatiki ili kila muunganisho upya uburudishe anwani, kisha pandisha muunganisho tena. Mbinu ya mkono inaonekana imara hadi muunganisho upya wa kwanza:

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

Endesha hatua zote mbili kutoka kwenye ndoano inayoanzisha VPN, si kutoka kwa shell shirikishi. Script inayosoma anwani, kuiongeza, kuongeza njia na kurekodi thamani hufanya ukarabati wa mkono unaorudia kuwa wa kurudiwa, na logi ni kitu cha kwanza cha kusoma kiambishi kinapobadilika.

Bandika jina na uthibitishe njia

Kerneli inaweza kubadilisha jina la kiolesura cha usambazaji kati ya eth1 na eth2 baada ya kubadilisha mtandao, na script iliyoandikwa kwa jina basi huhariri kifaa kisichofaa. Sheria ya udev iliyofungwa na MAC huipa kiolesura lebo imara:

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

Kisha thibitisha kwa anwani, njia na muunganisho halisi wa TCP: ip -4 addr show dev vpn, ip route get 172.20.4.10 na muunganisho kwenye bandari ya ndani inayojulikana. Utafutaji wa njia unapaswa kutaja kifaa cha vpn na anwani ya chanzo uliyoongeza.

Ikiwa zote tatu zinapita ndani ya usambazaji na muunganisho bado unashindwa, pakiti inaondoka WSL na kutupwa upande wa Windows. Angalia firewall ya mwenyeji na uchujaji wa mteja wa VPN mwenyewe kabla ya kubadilisha script, kwa sababu uhariri mwingine wa njia hautarekebisha pakiti inayokwisha kufika kwa mwenyeji.

Makala zinazohusiana