Kuendesha VPN kwenye host au ndani ya VM? Mwongozo wa uamuzi
Mmiliki wa handaki huamua kipi hufunika kipi. Chagua upangaji kwenye host au kwa mgeni, kisha uthibitishe kwa ukaguzi wa njia, DNS na kutoka ndani ya mgeni.
Kujenga handaki ndani ya mgeni na kuijenga kwenye host vyote hubadilisha anwani ambayo kivinjari huripoti, na hapo ndipo kufanana kunaisha. Handaki inayomilikiwa na mgeni huweka funguo zake, njia yake chaguomsingi na kitatuzi chake ndani ya kiini cha mgeni, wakati host hupeleka pakiti zilizosimbwa kwa anwani moja ya mbali. Handaki inayomilikiwa na host ni picha ya kioo: mteja wa host hushikilia kipindi na kutumia njia na sera, na mgeni huazima kile kinachotoka. Ukichagua mmiliki asiye sahihi, kila dalili inayofuata itakupeleka kwenye mashine isiyo sahihi. Amri mbili hutatua swali hilo kwa takriban dakika moja, na sehemu iliyobaki ya mwongozo huu ni nini cha kufanya na jibu.
Amua mmiliki kabla ya kugusa mteja
Kanuni inahusu mahali ambapo maandishi yaliyosimbwa huzalishwa, siyo ni mashine gani inayoonyesha aikoni ya VPN. Ikiwa mgeni anayazalisha, mgeni anahitaji njia inayofanya kazi kuelekea seva ya VPN na hakuna kingine kutoka kwa host. Ikiwa host inayazalisha, mgeni anahitaji njia kupitia host kustahimili sera yoyote ambayo mteja wa host huweka kwenye trafiki ya ndani.
Maswali matatu kwa kawaida huchagua upangaji kwa niaba yako. Je, trafiki ya mgeni inapaswa kustahimili mteja wa shirika kwenye host? Basi handaki iko ndani ya mgeni. Je, wageni kadhaa wanahitaji kitambulisho kimoja na anwani moja ya kutoka? Basi iko kwenye host, na upelekaji umeundwa kwa makusudi. Je, trafiki ya mgeni inapaswa kubaki nje kabisa ya VPN ya host? Basi handaki ndani ya mgeni ndiyo mpango pekee unaokupa hilo kwa muundo wake.
Andika jibu katika mstari mmoja kando ya jina la VM: guest-owned au host-owned. Katika maabara ya mashine sita dokezo hilo huokoa muda zaidi kuliko hatua yoyote iliyo chini, kwa sababu linakuzuia kuchunguza handaki ambayo haikuwa kamwe kwenye mashine uliyoingia.
WSL1 na WSL2 ni hali zinazopingana
WSL1 si mashine pepe, kwa hiyo swali la upangaji hupotea kwa kiasi kikubwa. Faili zake za binary za Linux hukimbia dhidi ya safu ya mtandao ya Windows kupitia tabaka la tafsiri, na mteja wa VPN wa Linux hana violesura huru vya kusanidi. Mpango unaofanya kazi ni handaki upande wa Windows, na usambazaji hutumia matokeo bila kumiliki chochote.
WSL2 ni kinyume chake. Huendesha kiini halisi katika VM ndogo ya usaidizi nyuma ya swichi pepe ya Hyper-V, na nafasi yake ya anwani hutafsiriwa kwa NAT kupitia adapta ya upande wa host. Kwa hiyo mteja wa Linux ndani ya usambazaji hufanya kama kwenye sanduku la Linux halisi: huunda tun0 au wg0, huweka njia zake mwenyewe, na hufanya kazi. Hitilafu huishi upande wa host. Wakati mteja wa VPN wa Windows anajiunga na sera inayozuia trafiki kwenye mitandao ya ndani, huichukulia subnet ya WSL2 kama mtandao wa ndani usioaminika na hukata njia ya NAT. Usambazaji hupoteza DNS na ufikiaji wa nje wakati handaki yake yenyewe ikiwa bado nzuri: wg show huripoti kupeana mkono, ip route huonekana sahihi, na curl huning'inia.
Ni marekebisho gani unaweza kutumia hutegemea ujenzi wa Windows. La zamani ni istisna katika mteja wa host kwa subnet ya WSL, linaloongezwa chini ya mipangilio ya mtandao wa ndani au handaki iliyogawanywa ya mteja. La mpya, kwenye ujenzi wa Windows 11 unaoiunga mkono, ni mtandao wa kioo: weka networkingMode=mirrored katika sehemu ya [wsl2] ya %UserProfile%\.wslconfig, endesha wsl --shutdown, na usambazaji utashiriki violesura vya host badala ya subnet ya NAT ya kibinafsi. Hali ya kioo pia hubadilisha tabia ya localhost na bandari zinazoingia, kwa hiyo ichukulie kama uhamishaji na siyo kama swichi.
NAT, daraja na kile host inaweza kuona
Chini ya NAT, pakiti za handaki ya mgeni huelekezwa kwa anwani ya umma ya seva ya VPN na hutoka kupitia adapta ya host kama UDP au TCP iliyosimbwa. Host huona mtiririko mmoja na hesabu yake ya baiti, hakuna lolote kuhusu makaazi yaliyo ndani. Chini ya adapta ya daraja mgeni ana utambulisho wake wa tabaka la 2 kwenye LAN halisi, huchukua kodi yake ya DHCP, na kwa sera yoyote inayotegemea MAC huonekana kama kifaa cha pili. Hakuna hali inayomruhusu host kusoma mzigo wa handaki; mgeni wa daraja ni wazi zaidi kwa mtandao unaomzunguka.
Utengaji pia una sakafu. Mgeni hawezi kujificha kutoka kwa mashine inayomiliki kumbukumbu yake, na yeyote anayedhibiti host anaweza kusoma funguo kutoka RAM ya mgeni. Kile handaki ndani ya mgeni inakupa ni mpaka wa uelekezaji na mpaka wa programu hasidi, siyo ulinzi dhidi ya mtu anayeshikilia kompyuta ya mkononi. Hali za adapta zilizoandikwa zinafaa kuwa wazi unapochagua, kwa sababu hali hubadilisha kile host inaona na kile LAN inaona.
Mwongozo: weka, sanidi, thibitisha
Endesha ukaguzi huu manne kwa mpangilio katika shell mpya ya mgeni, na usimame kwenye ule wa kwanza usiokubaliana na mmiliki uliyeandika.
ip route get 1.1.1.1inayorudishatun0auwg0inamaanisha umiliki wa mgeni, naeth0na hatua inayofuata ya kibinafsi inamaanisha umiliki wa host.resolvectl query example.com, au soma/etc/resolv.confpale mgeni haendeshi huduma ya kutatua. Handaki inayobeba trafiki lakini siyo DNS ndiyo hali ya nusu iliyosanidiwa inayojulikana zaidi.- Linganisha matokeo:
curl -4 -s https://ifconfig.mendani ya mgeni dhidi yacurl.exe -4 -s https://ifconfig.mekwenye host. Anwani tofauti zinamaanisha mgeni anamiliki handaki, na host iliyo kwenye VPN pamoja na mgeni anayeonyesha ISP ya nyumbani ndiyo hali ambayo hakuna kilichorithiwa. - Rudia zote mbili kwa
-6. Handaki ya v4 pekee huvujisha v6 isipokuwa mteja anaizuia au kuelekeza, na wateja wengi huacha v6 kwenye violesura halisi kwa chaguomsingi.
Katika muundo wa lango la host, ambapo wageni kadhaa hushiriki handaki moja, host lazima ipeleke na kutafsiri. Kwenye host ya Linux hizo ni sehemu tatu, na mgeni hurudi kimya kimya kwenye njia yake ya kawaida wakati mojawapo haipo:
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
Upande wa WireGuard, AllowedIPs ya mwenza wa host lazima ijumuishe subnet ya wageni, kwa mfano 192.168.122.0/24, la sivyo pakiti za kurudi hazitafika kamwe na usanidi unaonekana kama tatizo la ukuta wa moto. Host ya Windows hufikia matokeo hayo kwa Kushiriki Muunganisho wa Mtandao au kanuni ya NAT kwenye swichi ya Hyper-V, na inahitaji ukaguzi huo huo wa njia ya kurudi.
Wakati mpangilio bado uko wazi, jedwali hili hufunika mipangilio inayojitokeza zaidi:
| 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 |
Handaki mbili, wageni wawili, na migogoro kati yao
Unapohitaji njia mbili za kutoka kwa wakati mmoja, muundo unaostahimili ni handaki moja kwa kila mgeni. Kila VM huhifadhi njia yake chaguomsingi na kitatuzi chake, host hubaki kwenye mtandao wa kawaida, na handaki mbili hazigombi kamwe kuhusu jedwali la uelekezaji moja. Kuunganisha wageni wawili kwa daraja hakukuunganishi njia zao: mtandao pepe hutoa njia, na kila mteja bado anahitaji kuambiwa kwamba trafiki hii ya ndani inaweza kupita handaki.
Kuendesha handaki ya host na handaki ya mgeni pamoja ni halali, na kuekea kwa makusudi wakati mwingine ndiyo hasa unachotaka, mgeni akitoka kupitia handaki yake mwenyewe na handaki hiyo ikitoka kupitia ya host. Kinachokifanya kuwa kukatika ni kwamba hakuna aliyyeandika ni mwisho gani unapaswa kufikiwa kwa tabaka gani. Weka orodha ya safu mbili ya makaazi na mmiliki, na mgogoro wa njia unakuwa utafutaji badala ya mchana wa ugunduzi.
Thibitisha, kisha acha urejeshaji kwa mmiliki
Jaribu kutoka ndani ya mgeni kwa mchakato mpya wa programu: trafiki, utatuzi wa majina, familia zote mbili za anwani, na kile kinachotokea handaki inapoanguka. Aikoni ya VPN ya host haisemi lolote kuhusu ufikiaji wa mgeni, na hiyo ndiyo uthibitisho wa uongo unaojulikana zaidi katika eneo hili lote.
Urejeshaji pia ni wa mmiliki. Handaki inayomilikiwa na mgeni hurejeshwa na mteja wa mgeni mwenyewe na njia alizoandika. Muundo unaomilikiwa na host hurejeshwa na mfuatano wa kuwasha wa host, na kanuni za upelekaji hazistahimili kuwasha upya isipokuwa unit au kazi ya kuanza izitumie tena. Picha iliyorejeshwa ni usambazaji, siyo kufuta, kwa sababu hurudisha vitambulisho vya zamani na njia za zamani pamoja na diski. Kabla ya kutangaza kazi imekamilika, thibitisha kwamba mmiliki bado analingana na mstari ulioandika, kwamba DNS na familia zote mbili za anwani hutatuliwa ndani ya mgeni, kwamba handaki iliyokufa huacha mtandao unaoweza kutumika badala ya shimo jeusi, na kwamba kuwasha upya au kurejesha picha huzalisha hali hiyo hiyo.