De VPN op de host of yn 'e VM draaie? Beslútbegelieding
De eigner fan 'e tunnel bepaalt wat wat dekt. Kies host- of gastplakking en befêstigje dat mei rûte-, DNS- en útgongskontrôles yn 'e gast.
It bouwen fan 'e tunnel yn 'e gast en it bouwen op 'e host feroarje beide it adres dat in browser rapportearret, en dêr hâldt de oerienkomst op. In gast-eigene tunnel hâldt syn kaaien, syn standertrûte en syn resolver yn 'e gastkearn, wylst de host fersifere pakketten nei ien fiere adres trochstjoert. In host-eigene tunnel is it spegelbyld: de hostkliïnt hâldt de sesje en past rûtes en belied ta, en de gast lient wat derút komt. Kies de ferkearde eigner en elk letter symptoom stjoert dy nei de ferkearde masine. Twa opdrachten beskiede de fraach yn sawat in minút, en de rest fan dizze begelieding is wat jo mei it antwurd dogge.
Beslis de eigner foardat jo de kliïnt oanreitsje
De regel giet oer wêr't de sifertekst produsearre wurdt, net oer hokker masine in VPN-ikoan toant. As de gast it produsearret, hat de gast in wurkjende rûte nei de VPN-tsjinner nedich en fierder neat fan 'e host. As de host it produsearret, moat it paad fan 'e gast troch de host it belied oerlibje dat de hostkliïnt oan pleatslik ferkear opleit.
Trije fragen kieze ornaris de plakking foar jo. Moat it ferkear fan 'e gast in bedriuwskliïnt op 'e host oerlibje? Dan heart de tunnel yn 'e gast. Hawwe ferskate gasten ien bewiis fan identiteit en ien útgongsadres nedich? Dan heart er op 'e host, mei trochstjoering mei opsetsin ynsteld. Moat it ferkear fan 'e gast hielendal bûten de VPN fan 'e host bliuwe? Dan is in gasttunnel de iennichste regeling dy't jo dat by konstruksje jout.
Skriuw it antwurd as ien rigel njonken de VM-namme: guest-owned of host-owned. Yn in laboratoarium fan seis masines sparret dy notysje mear tiid as hokker stap hjirûnder ek, want it hâldt jo tsjin om in tunnel te ûndersykjen dy't nea yn 'e masine wie dêr't jo oanmeld binne.
WSL1 en WSL2 binne tsjinoerstelde gefallen
WSL1 is gjin firtuele masine, dus de fraach oer de plakking ferdampt meast. Syn Linux-binêren rinne tsjin de netwurkstapel fan Windows oer in oersettingslaach, en in Linux-VPN-kliïnt hat gjin selsstannige ynterfaces om te konfigurearjen. De regeling dy't wurket is in tunnel oan 'e Windows-kant, wêrby't de distribúsje it resultaat brûkt sûnder eat te besitten.
WSL2 is it tsjinoerstelde. It rint in echte kearn yn in lichte help-VM efter in firtuele Hyper-V-skeakel, en syn adresromte wurdt fia in hostkant-adapter NAT. In Linux-kliïnt yn 'e distribúsje draacht him dêrom as op in fysike Linux-masine: hy makket tun0 of wg0, ynstallearret syn eigen rûtes en wurket. It falen wennet oan 'e hostkant. As in Windows-VPN-kliïnt ferbynt mei in belied dat ferkear op pleatslike netwurken blokkearret, behannelet er it WSL2-subnet as in net fertroud pleatslik netwurk en snijt it NAT-paad ôf. De distribúsje ferliest dan DNS en útgeande tagong wylst syn eigen tunnel noch sûn is: wg show rapportearret in hânskodding, ip route sjocht der goed út, en curl hinget.
Hokker oplossing jo brûke kinne hinget fan 'e Windows-bou ôf. De âldere is in útsûndering yn 'e hostkliïnt foar it WSL-subnet, tafoege ûnder de ynstellings foar pleatslik netwurk of splitst tunnel fan 'e kliïnt. De nijere, op Windows 11-bouwen dy't it stypje, is spegele netwurking: set networkingMode=mirrored yn 'e seksje [wsl2] fan %UserProfile%\.wslconfig, rinn wsl --shutdown, en de distribúsje dielt de ynterfaces fan 'e host yn plak fan in partikuliere NAT-subnet. De spegele modus feroaret ek hoe't localhost en ynkommende poarten har gedrage, behannelje it dus as in migraasje en net as in skeakel.
NAT, brêge en wat de host sjen kin
Under NAT wurde de tunnelpakketten fan 'e gast oan it iepenbiere adres fan 'e VPN-tsjinner adressearre en se ferlitte de hostadapter as fersifere UDP of TCP. De host sjocht ien stream en syn bytetelling, neat oer de bestimmingen derbinnen. Under in brêge-adapter hat de gast syn eigen identiteit fan laach 2 op it fysike LAN, nimt er syn eigen DHCP-hier en liket er foar elk MAC-basearre belied as in twadde apparaat. Gjin fan beide modi lit de host de lading fan 'e tunnel lêze; de brêge gast is gewoan folle sichtberder foar it netwurk om him hinne.
Der is ek in ûndergrins foar de isolaasje. In gast kin him net ferstopje foar de masine dy't syn ûnthâld besit, en wa't de host bestjoert kin kaaien út 'e RAM fan 'e gast lêze. Wat in gasttunnel jo jout is in rûtegrins en in malwaregrins, net beskerming tsjin 'e persoan dy't de laptop fêsthâldt. De dokumintearre adaptermodi binne it wurdich iepen te hawwen wylst jo kieze, want de modus feroaret sawol wat de host sjocht as wat it LAN sjocht.
Begelieding: pleats it, konfigurearje it, bewys it
Rin dizze fjouwer kontrôles yn folchoarder yn in farske gastskulp, en stop by de earste dy't net oerienkomt mei de eigner dy't jo opskreaun hawwe.
ip route get 1.1.1.1dy'ttun0ofwg0weromjout betsjut gast-eigendom, eneth0mei in partikuliere folgjende hop betsjut host-eigendom.resolvectl query example.com, of lês/etc/resolv.confdêr't de gast gjin resolver-tsjinst rint. In tunnel dy't ferkear mar gjin DNS draacht is de meast foarkommende heal konfigurearre tastân.- Fergelykje de útgongen:
curl -4 -s https://ifconfig.meyn 'e gast tsjincurl.exe -4 -s https://ifconfig.meop 'e host. Ferskillende adressen betsjutte dat de gast de tunnel besit, en in host op 'e VPN mei in gast dy't de hûs-ISP toant is it gefal wêryn neat erfd waard. - Werhelje beide mei
-6. In tunnel allinnich foar v4 lekket v6 útsein as de kliïnt it blokkearret of rûtet, en in protte kliïnten litte v6 standert op 'e fysike ynterface.
Foar in host-gateway-ûntwerp, wêr't ferskate gasten ien tunnel diele, moat de host trochstjoere en oersette. Op in Linux-host binne dat trije stikken, en de gast falt stil werom op syn gewoane rûte as ien fan har ûntbrekt:
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
Oan 'e WireGuard-kant moat AllowedIPs fan 'e hostpartner it gastsubnet befetsje, bygelyks 192.168.122.0/24, oars komme de werompakketten nea oan en liket de opset as in firewallprobleem. In Windows-host berikt itselde resultaat mei Internet Connection Sharing of in NAT-regel op 'e Hyper-V-skeakel, en hat deselde kontrôle fan it werompaad nedich.
As de yndieling noch iepen is, dekt dizze tabel de regelingen dy't it meast foarkomme:
| Situation | Owner | Check first |
|---|---|---|
| One VM, host also on a corporate VPN | Guest | Does the host client block local networks? |
| Six lab VMs, one exit address | Host plus forwarding | ip_forward, NAT rule, server AllowedIPs |
| Malware or research VM | Guest, NAT | Snapshot age and resolver state |
| Bridged VM on an office LAN | Guest | DHCP lease and port security |
Twa tunnels, twa gasten en de konflikten der tusken
As jo tagelyk twa útgongen nedich hawwe, is it patroan dat hâldt ien tunnel per gast. Eltse VM hâldt syn eigen standertrûte en resolver, de host bliuwt op it gewoane netwurk, en de twa tunnels stridzje nea oer deselde rûtingstabel. Twa gasten oan inoar brêgje bondelt har rûtes ek net: it firtuele netwurk leveret in paad, en elke kliïnt moat noch altyd ferteld wurde dat dit pleatslike ferkear de tunnel foarbygean mei.
In hosttunnel en in gasttunnel tegearre draaie is legit, en mei opsetsin nêstje is soms krekt wat jo wolle, mei de gast dy't troch syn eigen tunnel út giet en dy tunnel dy't troch dy fan 'e host út giet. Wat it in útfal makket, is dat nimmen opskreau hokker einpunt troch hokker laach berikt wurde moat. Hâld in list fan twa kolommen mei bestimming en eigner, en in rûtekonflikt wurdt in opfrege yn plak fan in middei ûntdekking.
Ferifiearje, en hâld dan it herstel by de eigner
Test fan binnen de gast mei in farsk applikaasjeproses: ferkear, namme-oplossing, beide adresfamyljes, en wat der bart as de tunnel falt. It VPN-ikoan fan 'e host seit neat oer de dekking fan 'e gast, en dat is de meast foarkommende falske befêstiging yn dit hiele fjild.
Herstel heart ek ta de eigner. In gast-eigene tunnel wurdt werombrocht troch de eigen kliïnt fan 'e gast en de rûtes dy't er skreau. In host-eigen ûntwerp wurdt werombrocht troch de opstartsekwinsje fan 'e host, en de trochstjoerregels oerlibje gjin werstart útsein as in unit of in opstarttaak se opnij tapast. In werombrochte momentopname is in útrôl, net in ûngedien meitsjen, want it bringt âlde bewizen fan identiteit en âlde rûtes tegearre mei de skiif werom. Foardat jo it wurk klear neame, befêstigje dat de eigner noch oerienkomt mei de rigel dy't jo opskreaun hawwe, dat DNS en beide adresfamyljes yn 'e gast oplost wurde, dat in deade tunnel in brûkber netwurk efterlit yn plak fan in swart gat, en dat in werstart of momentopname-weromhelling deselde tastân reprodusearret.