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.

  1. ip route get 1.1.1.1 inayorudisha tun0 au wg0 inamaanisha umiliki wa mgeni, na eth0 na hatua inayofuata ya kibinafsi inamaanisha umiliki wa host.
  2. resolvectl query example.com, au soma /etc/resolv.conf pale mgeni haendeshi huduma ya kutatua. Handaki inayobeba trafiki lakini siyo DNS ndiyo hali ya nusu iliyosanidiwa inayojulikana zaidi.
  3. Linganisha matokeo: curl -4 -s https://ifconfig.me ndani ya mgeni dhidi ya curl.exe -4 -s https://ifconfig.me kwenye host. Anwani tofauti zinamaanisha mgeni anamiliki handaki, na host iliyo kwenye VPN pamoja na mgeni anayeonyesha ISP ya nyumbani ndiyo hali ambayo hakuna kilichorithiwa.
  4. 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:

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

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.

Makala zinazohusiana