Om die tonnel binne die gas te bou en om dit op die gasheer te bou, verander albei die adres wat 'n blaaier rapporteer, en dis waar die ooreenkoms eindig. 'n Gasbesitde tonnel hou sy sleutels, sy verstekroete en sy oplosser binne die gaskern, terwyl die gasheer versleutelde pakkette na een afgeleë adres stuur. 'n Gasheerbesitde tonnel is die spieëlbeeld: die gasheerkliënt hou die sessie en pas roetes en beleid toe, en die gas leen wat ook al uitkom. Kies die verkeerde eienaar en elke latere simptoom stuur jou na die verkeerde masjien. Twee opdragte beslis die vraag in omtrent 'n minuut, en die res van hierdie draaiboek is wat om met die antwoord te doen.

Besluit die eienaar voordat jy aan die kliënt raak

Die reël gaan oor waar die sipierteks geproduseer word, nie oor watter masjien 'n VPN-ikoon wys nie. As die gas dit produseer, het die gas 'n werkende roete na die VPN-bediener nodig en niks anders van die gasheer nie. As die gasheer dit produseer, moet die gas se pad die beleid oorleef wat die gasheerkliënt op plaaslike verkeer plaas.

Drie vrae kies gewoonlik die plasing vir jou. Moet die gas se verkeer 'n korporatiewe kliënt op die gasheer oorleef? Dan hoort die tonnel in die gas. Het verskeie gaste een geloofsbrief en een uitgangsadres nodig? Dan hoort dit op die gasheer, met aanstuur wat doelbewus opgestel is. Moet die gas se verkeer heeltemal van die gasheer se VPN af bly? Dan is 'n gastonnel die enigste reëling wat jou dit by konstruksie gee.

Skryf die antwoord as een reël langs die VM-naam neer: guest-owned of host-owned. In 'n lab van ses masjiene spaar daardie nota meer tyd as enige stap hieronder, want dit keer dat jy 'n tonnel ontfout wat nooit in die masjien was waarop jy aangemeld is nie.

WSL1 en WSL2 is teenoorgestelde gevalle

WSL1 is nie 'n virtuele masjien nie, so die plasingsvraag verdamp meestal. Sy Linux-binêre lêers loop teen die Windows-netwerkstapel deur 'n vertaallaag, en 'n Linux-VPN-kliënt het geen onafhanklike koppelvlakke om op te stel nie. Die reëling wat werk, is 'n tonnel aan die Windows-kant, met die verspreiding wat die resultaat gebruik sonder om iets te besit.

WSL2 is die omgekeerde. Dit loop 'n regte kern in 'n liggewig nuts-VM agter 'n virtuele Hyper-V-skakelaar, en sy adresruimte word deur 'n gasheerkant-adapter genat. 'n Linux-kliënt binne die verspreiding gedra hom dus soos op 'n fisiese Linux-boks: dit skep tun0 of wg0, installeer sy eie roetes, en werk. Die faling woon aan die gasheerkant. Wanneer 'n Windows-VPN-kliënt aansluit met 'n beleid wat verkeer op plaaslike netwerke blokkeer, behandel dit die WSL2-subnet as 'n onvertroude plaaslike netwerk en sny die NAT-pad. Die verspreiding verloor dan DNS en uitgaande toegang terwyl sy eie tonnel nog gesond is: wg show rapporteer 'n handdruk, ip route lyk korrek, en curl hang.

Watter oplossing jy kan gebruik, hang van die Windows-bou af. Die ouer een is 'n gasheerkliënt-uitsondering vir die WSL-subnet, bygevoeg onder die kliënt se plaaslike-netwerk- of gesplete-tonnel-instellings. Die nuwer een, op Windows 11-boude wat dit ondersteun, is gespieëlde netwerking: sit networkingMode=mirrored in die [wsl2]-afdeling van %UserProfile%\.wslconfig, hardloop wsl --shutdown, en die verspreiding deel die gasheer se koppelvlakke in plaas van 'n private NAT-subnet. Gespieëlde modus verander ook hoe localhost en inkomende poorte optree, so behandel dit as 'n migrasie eerder as 'n skakelaar.

NAT, gebrug, en wat die gasheer kan sien

Onder NAT word die gas se tonnelpakkette aan die VPN-bediener se openbare adres geadresseer en verlaat deur die gasheeradapter as versleutelde UDP of TCP. Die gasheer sien een vloei en sy grepetelling, niks oor die bestemmings daarbinne nie. Onder 'n gebrugde adapter het die gas sy eie laag-2-identiteit op die fisiese LAN, neem sy eie DHCP-huur, en lyk vir enige MAC-gebaseerde beleid soos 'n tweede toestel. Nie een van die twee modusse laat die gasheer die tonnelvrag lees nie; die gebrugde gas is bloot baie meer sigbaar vir die netwerk rondom hom.

Daar is ook 'n vloer op die isolasie. 'n Gas kan nie wegkruip vir die masjien wat sy geheue besit nie, en wie die gasheer beheer, kan sleutels uit die gas se RAM lees. Wat 'n gastonnel jou gee, is 'n roetegrens en 'n malwaregrens, nie beskerming teen die persoon wat die skootrekenaar vashou nie. Die gedokumenteerde adaptermodusse is die moeite werd om oop te hê terwyl jy kies, want die modus verander beide wat die gasheer sien en wat die LAN sien.

Draaiboek: plaas dit, stel dit op, bewys dit

Hardloop hierdie vier toetse in volgorde in 'n vars gasdop, en stop by die eerste een wat nie saamstem met die eienaar wat jy neergeskryf het nie.

  1. ip route get 1.1.1.1 wat tun0 of wg0 teruggee, beteken gasbesit; eth0 met 'n private volgende sprong beteken gasheerbesit.
  2. resolvectl query example.com, of lees /etc/resolv.conf waar die gas geen oplosserdiens loop nie. 'n Tonnel wat verkeer dra maar nie DNS nie, is die mees algemene halfopgestelde toestand.
  3. Vergelyk uitgange: curl -4 -s https://ifconfig.me in die gas teenoor curl.exe -4 -s https://ifconfig.me op die gasheer. Verskillende adresse beteken die gas besit die tonnel, en 'n gasheer op die VPN met 'n gas wat die tuis-ISP wys, is die niks-geërf-geval.
  4. Herhaal albei met -6. 'n Slegs-v4-tonnel lek v6 tensy die kliënt dit blokkeer of roeteer, en baie kliënte laat v6 by verstek op die fisiese koppelvlak.

Vir 'n gasheer-gidsontwerp, waar verskeie gaste een tonnel deel, moet die gasheer aanstuur en vertaal. Op 'n Linux-gasheer is dit drie stukke, en die gas val stilweg terug op sy gewone roete wanneer enigeen daarvan ontbreek:

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
iptables -A FORWARD -i virbr0 -o wg0 -j ACCEPT
iptables -A FORWARD -i wg0 -o virbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT

Aan die WireGuard-kant moet die gasheerport se AllowedIPs die gassubnet insluit, byvoorbeeld 192.168.122.0/24, anders kom die terugpakkette nooit aan nie en lyk die opstelling soos 'n brandmuurprobleem. 'n Windows-gasheer bereik dieselfde resultaat met Internet Connection Sharing of 'n NAT-reël op die Hyper-V-skakelaar, en het dieselfde terugpadtoets nodig.

Wanneer die uitleg nog oop is, dek hierdie tabel die reëlings wat die meeste opduik:

SituationOwnerCheck first
One VM, host also on a corporate VPNGuestDoes the host client block local networks?
Six lab VMs, one exit addressHost plus forwardingip_forward, NAT rule, server AllowedIPs
Malware or research VMGuest, NATSnapshot age and resolver state
Bridged VM on an office LANGuestDHCP lease and port security

Twee tonnels, twee gaste, en die konflikte tussen hulle

Wanneer jy twee uitgange gelyktydig nodig het, is die patroon wat hou een tonnel per gas. Elke VM hou sy eie verstekroete en oplosser, die gasheer bly op die gewone netwerk, en die twee tonnels stry nooit oor dieselfde roetetabel nie. Om twee gaste saam te brug poel ook nie hulle roetes nie: die virtuele netwerk verskaf 'n pad, en elke kliënt moet steeds vertel word dat hierdie plaaslike verkeer die tonnel mag omseil.

Om 'n gasheertonnel en 'n gastonnel saam te laat loop, is wettig, en doelbewuste nesteling is soms presies wat jy wil hê, met die gas wat deur sy eie tonnel uitgaan en daardie tonnel wat deur die gasheer se tonnel uitgaan. Wat dit in 'n onderbreking verander, is dat niemand neergeskryf het watter eindpunt deur watter laag bereik moet word nie. Hou 'n tweekolomlys van bestemming en eienaar, en 'n roetekonflik word 'n naslaan in plaas van 'n middag se ontdekking.

Verifieer, en hou dan herstel by die eienaar

Toets van binne die gas met 'n vars toepassingproses: verkeer, naamoplossing, albei adresfamilies, en wat gebeur wanneer die tonnel val. Die gasheer se VPN-ikoon sê niks oor gasdekking nie, en dit is die mees algemene valse bevestiging in hierdie hele area.

Herstel hoort ook by die eienaar. 'n Gasbesitde tonnel word herstel deur die gas se eie kliënt en die roetes wat dit geskryf het. 'n Gasheerbesitde ontwerp word herstel deur die gasheer se selflaagvolgorde, en die aanstuurreëls oorleef nie 'n herlaai nie tensy 'n eenheid of 'n selflaagtaak hulle weer toepas. 'n Herstelde momentopname is 'n ontplooiing, nie 'n ongedaanmaking nie, want dit bring ou geloofsbriewe en ou roetes saam met die skyf terug. Voordat jy die werk as klaar beskou, bevestig dat die eienaar nog ooreenstem met die reël wat jy neergeskryf het, dat DNS en albei adresfamilies binne die gas oplos, dat 'n dooie tonnel 'n bruikbare netwerk laat in plaas van 'n swart gat, en dat 'n herlaai of momentopname-herstel dieselfde toestand weergee.

Verwante artikels