Nẹtiwọọki VM: NAT tàbí bridged — èwo ló ń gbé trafiki VPN?
Àwọn àlejò NAT ń yá ọ̀nà ojú-ìmọ́ ẹ̀rọ onílé nígbà tí ẹ̀rọ ìbánisọ̀rọ̀ bá ń ṣe ọ̀nà nípasẹ̀ ipa-ọ̀nà; àwọn àlejò bridged ń ṣe ipa-ọ̀nà fúnra wọn. Dán àlejò wo, kí o sì yan irú tí ó bá mu.
Bridged àti NAT kì í ṣe ọ̀nà méjì láti so àlejò kan náà pọ̀ mọ́ VPN rẹ; wọ́n ń pinnu ẹni tí ó ni àwọn pákẹ́tì àlejò kí ọ̀nà ìsọdá kankan tó wọlé. Nínú ipò NAT, hypervisor ń tún trafiki àlejò kọ, ó sì ń gbé e jáde láti inú kóòdù ní ẹ̀gbẹ́ ẹ̀rọ onílé, nítorí náà àlejò ń tẹ̀lé ipa-ọ̀nà tí ẹ̀rọ onílé fún kóòdù yẹn. Nínú ipò bridged, àlejò ń gba ìdánimọ̀ ìpele àsopọ̀ tirẹ̀ lórí ẹ̀ka ti ara, ó sì ń yan ẹnubodè àkọ́kọ́ tirẹ̀, èyí tí ó mú ọ̀nà ojú-ìmọ́ ẹ̀rọ onílé di aláìní ìtumọ̀ fún un, àyàfi tí router LAN fúnra rẹ̀ bá ń ṣe ọ̀nà náà. Mo dáwọ́ dúró láti wo VM gẹ́gẹ́ bí ohun tí ó wà lórí VPN, mo sì bẹ̀rẹ̀ sí wo ó gẹ́gẹ́ bí ìbéèrè nípa ibi tí ipa-ọ̀nà àkọ́kọ́ àlejò yẹn ń tọ́ka sí. Ìdánwò tí ó wà nísàlẹ̀ ń gba ìṣẹ́jú díẹ̀ fún ipò kọ̀ọ̀kan, ó sì ń yanjú rẹ̀ láìsí àròsọ.
NAT ń tọ́jú àlejò lẹ́yìn kóòdù hypervisor, níbi tí àwọn ipa-ọ̀nà ẹ̀rọ onílé ti ń ṣiṣẹ́
Nínú VirtualBox, àlejò NAT ń jókòó ní 10.0.2.0/24 pẹ̀lú ẹnubodè àròpọ̀ ní 10.0.2.2, aṣojú DNS ní 10.0.2.3, kò sì ní ipa-ọ̀nà tirẹ̀ sí nẹtiwọọki ti ara. Ẹ̀rọ NAT ń gba àwọn pákẹ́tì tí ó ń jáde, ó ń tún wọn kọ kí orísun lè jẹ́ ẹ̀rọ onílé, ó sì ń fi wọ́n lé stack IP ẹ̀rọ onílé. Láti ibẹ̀, trafiki àlejò jẹ́ ìṣàn ẹ̀rọ onílé, a sì ń wá ipa-ọ̀nà nípasẹ̀ ibi tí ó ń lọ: ẹ̀rọ ìbánisọ̀rọ̀ pẹ̀lú ọ̀nà ìsọdá kíkún tí ó fi 0.0.0.0/1 àti 128.0.0.0/1 sórí ẹ̀rọ onílé yóò mú un láìní ìmọ̀ pé VM wà. Orí-ọ̀rọ̀ Oracle nípa nẹtiwọọki VirtualBox ń ṣe àkójọ àwọn iye àkọ́kọ́ wọ̀nyí tí o bá fẹ́ ṣàyẹ̀wò àwọn àdírẹ́sì lórí build rẹ.
Nẹtiwọọki àkọ́kọ́ libvirt ń dé ibi kan náà láti 192.168.122.0/24, níbi tí dnsmasq ti ń pín ìyáwó àti ẹ̀rọ onílé ń bo abẹ́-nẹtiwọọki, nítorí náà àwọn pákẹ́tì àlejò tún ń dé ìpinnu ipa-ọ̀nà ẹ̀rọ onílé. Ìyàsọ́tọ̀ ni ẹ̀rọ ìbánisọ̀rọ̀ tí ó ń yan trafiki nípasẹ̀ ìlànà dípò nípasẹ̀ ipa-ọ̀nà. Bí àkójọ ọ̀nà ìsọdá pínpín bá ní aṣàwákiri rẹ nìkan, ẹ̀rọ NAT kò sí nínú àkójọ yẹn, àlejò sì ń jáde kúrò nínú ẹ̀rọ láìsí ọ̀nà ìsọdá nígbà tí aṣàwákiri ẹ̀rọ onílé ṣì dàbí ẹni tí a bo. Abẹ́-nẹtiwọọki kan náà, àbájáde òdì.
Bridged ń fún àlejò ní ibi tirẹ̀ lórí LAN ti ara
Àlejò bridged ń gba NIC àròpọ̀ tí a so mọ́ adapter gidi, ó ń gba àdírẹ́sì MAC tirẹ̀, ó sì ń gba ìyáwó DHCP láti nẹtiwọọki ti ara. Ẹnubodè àkọ́kọ́ rẹ̀ ni router LAN, kì í ṣe hypervisor, àwọn férémù rẹ̀ sì ń lọ sórí waya nípasẹ̀ adapter yẹn. Àwọn ipa-ọ̀nà ọ̀nà ìsọdá ẹ̀rọ onílé wà nínú tábìlì ẹ̀rọ onílé, a kì í béèrè wọn rárá, nítorí àwọn férémù àlejò kì í wọ inú stack IP ẹ̀rọ onílé rárá.
Èyí ń gé ní ẹ̀gbẹ́ méjèèjì. Ìwò mDNS àti SMB bẹ̀rẹ̀ sí ṣiṣẹ́ nítorí àlejò ń rí trafiki ìgbóhùnsáfẹ́fẹ́ LAN, àlejò sì di èyí tí a lè dé bá láti ẹ̀rọ mìíràn nínú ẹ̀ka kan náà láìsí odi iná ẹ̀rọ onílé ní àárín. Bridging kì í sì í ṣe ọ̀nà láti ti àlejò sínú ọ̀nà ìsọdá tí ó ti wà: síso VM mọ́ interface WireGuard tàbí OpenVPN ẹ̀rọ onílé kì í ṣe ohun tí VirtualBox tàbí libvirt ń ṣe fún ọ. Bí àlejò bridged bá ní láti ní ọ̀nà ìsọdá, ọ̀nà náà gbọ́dọ̀ parí níbìkan lórí LAN yẹn.
Ìdánwò tí ó parí àríyànjiyàn
Ṣe àwọn àyẹ̀wò kan náà ní ipò méjèèjì kí o sì kọ àwọn ìdáhùn sílẹ̀:
- Lórí ẹ̀rọ onílé,
curl -s https://ifconfig.meń fúnni ní àdírẹ́sì gbogbogbòò v4. - Nínú àlejò, ọ̀rọ̀ àṣẹ kan náà, pẹ̀lú
ip routelórí Linux tàbíGet-NetRoute -DestinationPrefix 0.0.0.0/0lórí Windows fún ẹnubodè àkọ́kọ́. - Ìdánimọ̀ olùyẹ̀wò:
resolvectl statustàbícat /etc/resolv.confnínú àlejò, láti rí bóyá ó ń tọ́ka sí 10.0.2.3 tàbí sí server LAN. - Ìdílé àdírẹ́sì:
ip -6 addr show scope globalàti ìbéèrè v6 kan, nítorí ọ̀nà ìsọdá v4 kò sọ ohunkóhun nípa àdírẹ́sì v6 àgbáyé tí àlejò lè ní.
Àwọn àdírẹ́sì gbogbogbòò tí ó bá ara wọn mu túmọ̀ sí pé àlejò wà lórí ọ̀nà ẹ̀rọ onílé. Àdírẹ́sì àlejò tí ó bá èyí tí ó jáde ní ọ̀nà déédéé LAN mu túmọ̀ sí pé kò sí. Ìgbésẹ̀ tí àwọn ènìyàn ń gbà kọjá ni ìṣàkóso: sọ ọ̀nà ìsọdá ẹ̀rọ onílé sílẹ̀ kí o sì tún ìbéèrè àlejò ṣe. Bí àlejò bá ń bá a lọ ní ṣíṣe àwòkàwé, kò ti gbára lé ọ̀nà ìsọdá ẹ̀rọ onílé rí, ohun tí orúkọ ipò náà wí kò gbé e ró. Nínú ipò NAT, àlejò gbọ́dọ̀ pàdánù íńtánẹ́ẹ̀tì nígbà tí a bá sọ ọ̀nà ìsọdá ẹ̀rọ onílé sílẹ̀, àyàfi tí a bá ṣètò ẹ̀rọ ìbánisọ̀rọ̀ láti gba trafiki tí kò sí nínú ọ̀nà ìsọdá, èyí tí ó tọ́ láti mọ̀ fúnra rẹ̀.
Àwọn àmì méjì ń parọ́. ping tí ó yọrísí ń fi hàn pé a lè dé bá, kì í fi ọ̀nà jáde hàn. DNS sì lè jẹ́ èyí tí aṣojú 10.0.2.3 dáhùn nípasẹ̀ olùyẹ̀wò ẹ̀rọ onílé nígbà tí TCP ń gba ọ̀nà mìíràn, ìyẹn ni bí o ṣe ń rí ojú-ìwé tí ó ń gba sórí ẹ̀rọ àti ìwolé tí kì í parí rárá.
Ipò wo ló bá iṣẹ́ mu
Ipò jẹ́ ìpinnu ipa-ọ̀nà, nítorí náà yan láti inú ohun tí a nílò dípò láti inú àṣà:
| Requirement | Mode that fits |
|---|---|
| Every guest flow must exit through the host tunnel | NAT, with a host client that tunnels by route, verified from inside the guest |
| The guest needs its own VPN account or profile | Bridged, or NAT with a client running inside the guest, not both |
| The guest must serve SSH, SMB, or a dev server to the LAN | Bridged; NAT needs a port forward, which does not change the outbound path |
| The guest must stay invisible to the LAN | NAT; a bridged guest is another host on the segment |
| The guest needs a real public IPv6 address | Bridged; VirtualBox NAT mode has no IPv6 forwarding |
| Isolation from the LAN with access to the host | Host-only adapter, not NAT |
Ìlà àkọ́kọ́ ni ibi tí àwọn ènìyàn ń ṣubú: NAT pẹ̀lú ẹ̀rọ ìbánisọ̀rọ̀ ọ̀nà ìsọdá kíkún lórí ẹ̀rọ onílé ń bo àlejò ní tòótọ́, ṣùgbọ́n nígbà tí ẹ̀rọ ìbánisọ̀rọ̀ bá ń ṣe ọ̀nà ìsọdá nípasẹ̀ ipa-ọ̀nà tí ìsopọ̀ òkè ẹ̀rọ onílé sì jẹ́ ọ̀nà ìsọdá yẹn nìkan. Gbé ẹ̀rọ ìbánisọ̀rọ̀ lọ sí àkójọ ìyọ̀nda fún aṣàwákiri nìkan, ìbòjú náà yóò pòórá láìsí àṣìṣe kankan níbikíbi. Ìlà kẹrin ni àṣìṣe òdìkejì, àlejò tí a ṣe bridged fún ìrọ̀rùn tí ó ń bẹ̀rẹ̀ sí dáhùn SMB tàbí SSH lórí LAN ọ́fíìsì láìfọ̀rọ̀ sọ.
Àwọn ìkùnà tí a ń gbé lé VPN lórí
Lórí Windows, ìtumọ̀ NAT ń ṣiṣẹ́ nínú ìlànà VM VirtualBox, nítorí náà ẹ̀rọ ìbánisọ̀rọ̀ fún ètò kọ̀ọ̀kan nílò àwòrán yẹn gan-an nínú àkójọ, kì í ṣe òfin gbogbogbòò fún àwọn ẹ̀rọ àròpọ̀. Nígbà tí ìmúdójúìwọ̀n ẹ̀rọ ìbánisọ̀rọ̀ bá tún àkójọ àwọn ìlànà tí a gbà láàyè kọ́, àwọn àlejò NAT yóò pàdánù ìbòjú ní àkọ́kọ́, ìròyìn yóò sì dàbí VM tí ó ń dé LAN ṣùgbọ́n kò dé íńtánẹ́ẹ̀tì nígbà tí ẹ̀rọ onílé wà ní dídára.
Bridging sí Wi-Fi ni àpẹẹrẹ àtẹ̀yìnwá mìíràn. Àwọn ibi ìwọlé kì í sábà gbé àwọn férémù tí ó ní MAC orísun àjèjì kọjá, nítorí náà afárá lórí wlan0 yóò kùnà lẹ́sẹ̀kẹsẹ̀ tàbí yóò ṣiṣẹ́ títí ìpínyà ẹ̀rọ ìbánisọ̀rọ̀ lórí AP yóò fi bẹ̀rẹ̀ sí sọ ọ́ nù. VirtualBox yóò ṣì fi adapter aláìlówá sínú àkójọ rẹ̀. Bí ẹ̀rọ onílé bá wà lórí Wi-Fi tí àlejò sì gbọ́dọ̀ jẹ́ bridged, ṣètò ìdánwò dípò kí o ro àròsọ.
MTU ni ẹ̀kẹta. Àlejò bridged ń pa MTU 1500 byte ti LAN mọ́, bí ó bá sì ń ṣiṣẹ́ ẹ̀rọ ìbánisọ̀rọ̀ WireGuard tirẹ̀ ní 1420, àwọn ìfọwọ́sowọ́pọ̀ TLS ńlá yóò dí, nígbà tí àwọn ìbéèrè kékeré yóò gbà já. Lábẹ́ NAT, MTU ọ̀nà ìsọdá ẹ̀rọ onílé jẹ́ ìṣòro ẹ̀rọ onílé, ṣùgbọ́n àlejò ṣì gbà 1500 gbọ́, UDP pẹ̀lú bítì don't-fragment yóò sì ṣubú sínú ihò dúdú ní ọ̀nà kan náà.
Kọ ipò náà sílẹ̀, kí o sì tún ṣàyẹ̀wò lẹ́yìn ìyípadà adapter kankan
Ṣàkọsílẹ̀ ipò, interface ẹ̀rọ onílé tí afárá ń lò, ẹnubodè àkọ́kọ́ àlejò, olùyẹ̀wò rẹ̀, àti àwọn àdírẹ́sì jáde v4 àti v6 rẹ̀. Àkọsílẹ̀ yẹn ni ó ń mú ìkùnà tí ó tẹ̀léo wá pọ̀: nígbà tí kọ̀mpútà gbéékẹ̀lẹ̀ bá kó lọ láti dock sí Wi-Fi, àlejò bridged yóò tẹ̀lé afárá lọ sí adapter ti ara mìíràn, ó sì lè tún gba ìyáwó ní abẹ́-nẹtiwọọki mìíràn, nígbà tí àlejò NAT yóò pa àdírẹ́sì 10.0.2.x rẹ̀ mọ́, yóò sì jogún ìsopọ̀ òkè mìíràn ní ìdákẹ́jẹ́.
Kí o tó pa tikẹ́ẹ̀tì mọ́, ṣàyẹ̀wò ọ̀kọ̀ọ̀kan àwọn wọ̀nyí:
- Àdírẹ́sì jáde àlejò yàtọ̀ sí àdírẹ́sì jáde ẹ̀rọ onílé, nítorí náà kò sí lórí ọ̀nà ìsọdá ẹ̀rọ onílé.
- Olùyẹ̀wò ni aṣojú 10.0.2.3 tàbí server LAN, o sì mọ èwo ló dáhùn.
- Kò sí àdírẹ́sì v6 àgbáyé nínú àlejò bí àpẹẹrẹ ọ̀nà ìsọdá bá jẹ́ v4 nìkan.
- Nígbà tí a sọ ọ̀nà ìsọdá ẹ̀rọ onílé sílẹ̀, àlejò dáwọ́ àwòkàwé dúró, tàbí o ti mọ̀ báyìí pé kò gbára lé e rí.
- Àlejò kò rí trafiki ìgbóhùnsáfẹ́fẹ́ LAN tí kò yẹ kí ó rí.