NAT vs bridged VM நெட்வொர்க்கிங்: VPN போக்குவரத்தை எது எடுத்துச் செல்கிறது?
NAT விருந்தினர்கள் ஹோஸ்ட் சுரங்கப்பாதையைக் கடன் வாங்குவது கிளையண்ட் வழியாகச் சுரங்கம் அமைக்கும்போது மட்டுமே; bridged விருந்தினர்கள் தாங்களே வழியமைக்கின்றன. விருந்தினரைச் சோதித்து, பொருத்தமான முறையைத் தேர்ந்தெடுக்கவும்.
Bridged மற்றும் NAT என்பவை ஒரே விருந்தினரை உங்கள் VPN உடன் இணைக்கும் இரண்டு வழிகள் அல்ல; அவை தீர்மானிப்பது எந்தச் சுரங்கப்பாதையும் வருவதற்கு முன்பே விருந்தினரின் பாக்கெட்டுகள் யாருக்குச் சொந்தம் என்பதை. NAT முறையில் ஹைப்பர்வைசர் விருந்தினரின் போக்குவரத்தை மீண்டும் எழுதி ஹோஸ்ட் பக்கக் குறியீட்டிலிருந்து வெளியிடுகிறது, எனவே விருந்தினர் ஹோஸ்ட் அந்தக் குறியீட்டுக்குக் கொடுக்கும் வழியில் செல்கிறது. Bridged முறையில் விருந்தினருக்கு இயற்பியல் பிரிவில் தனது சொந்த இணைப்பு அடுக்கு அடையாளம் கிடைக்கிறது, தனது சொந்த இயல்புநிலை நுழைவாயிலைத் தேர்ந்தெடுக்கிறது, இது LAN ரவுட்டரே சுரங்கம் அமைக்காத வரை ஹோஸ்டின் சுரங்கப்பாதையை அவருக்குப் பொருத்தமற்றதாக்குகிறது. VM ஒன்று VPN இல் இருப்பதாகக் கருதுவதை நிறுத்தி, அந்த விருந்தினரின் இயல்புநிலை வழி எங்கு சுட்டுகிறது என்பதை ஒரு கேள்வியாகக் கருதத் தொடங்கினேன். கீழே உள்ள சோதனை ஒரு முறைக்கு சில நிமிடங்கள் எடுக்கும், ஊகமின்றி அதைத் தீர்க்கிறது.
NAT விருந்தினரை ஹைப்பர்வைசர் குறியீட்டின் பின்னால் வைத்திருக்கிறது, அங்கு ஹோஸ்ட் வழிகள் பொருந்தும்
VirtualBox இல் NAT விருந்தினர் 10.0.2.0/24 இல், 10.0.2.2 இல் மெய்நிகர் நுழைவாயிலுடன், 10.0.2.3 இல் DNS ப்ராக்ஸியுடன், இயற்பியல் வலையமைப்புக்குத் தனது சொந்த வழி இல்லாமல் அமர்கிறார். வெளிச்செல்லும் பாக்கெட்டுகளை NAT இயந்திரம் எடுத்து, மூலம் ஹோஸ்ட் என மீண்டும் எழுதி, ஹோஸ்டின் IP ஸ்டாக்கிற்கு அனுப்புகிறது. அங்கிருந்து விருந்தினரின் போக்குவரத்து ஹோஸ்ட் ஓட்டமாகும், வழித் தேடல் இலக்கின் அடிப்படையில் நடக்கிறது: ஹோஸ்டில் 0.0.0.0/1 மற்றும் 128.0.0.0/1 நிறுவும் முழு சுரங்கக் கிளையண்ட், VM உள்ளது என்று தெரியாமலேயே அதைப் பிடிக்கிறது. Oracle இன் VirtualBox வலையமைப்பு அத்தியாயம் உங்கள் பில்டில் முகவரிகளை உறுதிப்படுத்த விரும்பினால் இந்த இயல்புநிலை மதிப்புகளைப் பட்டியலிடுகிறது.
libvirt இன் இயல்புநிலை வலையமைப்பு 192.168.122.0/24 இலிருந்து அதே இடத்தை அடைகிறது, அங்கு dnsmasq குத்தகைகளை வழங்குகிறது, ஹோஸ்ட் துணை வலையமைப்பை மாஸ்க் செய்கிறது, எனவே விருந்தினரின் பாக்கெட்டுகள் மீண்டும் ஹோஸ்டின் வழி முடிவுக்கு வருகின்றன. விதிவிலக்கு என்பது வழியின் அடிப்படையில் அல்லாமல் செயல்முறையின் அடிப்படையில் போக்குவரத்தைத் தேர்ந்தெடுக்கும் கிளையண்ட். பிரிக்கப்பட்ட சுரங்கப் பட்டியலில் உங்கள் உலாவி மட்டும் இருந்தால், NAT இயந்திரம் அந்தப் பட்டியலில் இல்லை, எனவே ஹோஸ்ட் உலாவி இன்னும் மூடப்பட்டதாகத் தெரியும்போது விருந்தினர் சுரங்கமின்றி இயந்திரத்தை விட்டு வெளியேறுகிறார். அதே துணை வலையமைப்பு, எதிர் முடிவு.
Bridged விருந்தினருக்கு இயற்பியல் LAN இல் தனது சொந்த இடத்தைத் தருகிறது
Bridged விருந்தினருக்கு உண்மையான அடாப்டருடன் இணைக்கப்பட்ட மெய்நிகர் NIC வழங்கப்படுகிறது, தனது சொந்த MAC முகவரியைப் பெறுகிறார், இயற்பியல் வலையமைப்பிலிருந்து DHCP குத்தகையை எடுக்கிறார். அவரது இயல்புநிலை நுழைவாயில் LAN ரவுட்டர், ஹைப்பர்வைசர் அல்ல, அவரது பிரேம்கள் அந்த அடாப்டர் வழியாகக் கம்பிக்குச் செல்கின்றன. ஹோஸ்டின் சுரங்க வழிகள் ஹோஸ்டின் அட்டவணையில் உள்ளன, ஒருபோதும் ஆலோசிக்கப்படுவதில்லை, ஏனெனில் விருந்தினரின் பிரேம்கள் ஹோஸ்டின் IP ஸ்டாக்கிற்குள் ஒருபோதும் நுழைவதில்லை.
அது இரு பக்கங்களிலும் வெட்டுகிறது. விருந்தினர் LAN ஒளிபரப்பு போக்குவரத்தைப் பார்ப்பதால் mDNS மற்றும் SMB உலாவுதல் வேலை செய்யத் தொடங்குகிறது, இடையில் ஹோஸ்ட் ஃபயர்வால் இல்லாமல் அதே பிரிவில் உள்ள மற்ற இயந்திரங்களிலிருந்து விருந்தினர் அணுகக்கூடியவராகிறார். Bridging என்பது ஏற்கனவே உள்ள சுரங்கப்பாதை வழியாக விருந்தினரைத் தள்ளும் வழியும் அல்ல: VM ஐ ஹோஸ்டின் WireGuard அல்லது OpenVPN இடைமுகத்துடன் இணைப்பது VirtualBox அல்லது libvirt உங்களுக்காகச் செய்யும் காரியம் அல்ல. Bridged விருந்தினரைச் சுரங்கமாக்க வேண்டுமானால், சுரங்கம் அந்த LAN இல் எங்காவது முடிய வேண்டும்.
வாதத்தை முடிக்கும் சோதனை
இரு முறைகளிலும் ஒரே சோதனைகளை இயக்கி பதில்களை எழுதுங்கள்:
- ஹோஸ்டில்,
curl -s https://ifconfig.meபொது v4 முகவரியைத் தருகிறது. - விருந்தினரில், அதே கட்டளை, மேலும்
ip routeLinux இல் அல்லதுGet-NetRoute -DestinationPrefix 0.0.0.0/0Windows இல் இயல்புநிலை நுழைவாயிலுக்கு. - தீர்வி அடையாளம்:
resolvectl statusஅல்லதுcat /etc/resolv.confவிருந்தினரில், அது 10.0.2.3 ஐச் சுட்டுகிறதா அல்லது LAN சேவையகத்தைச் சுட்டுகிறதா எனப் பார்க்க. - முகவரி குடும்பம்:
ip -6 addr show scope globalமற்றும் ஒரு v6 கோரிக்கை, ஏனெனில் v4 சுரங்கம் விருந்தினரிடம் இருக்கக்கூடிய உலகளாவிய v6 முகவரி பற்றி எதுவும் சொல்லாது.
பொருந்தும் பொது முகவரிகள் என்பது விருந்தினர் ஹோஸ்டின் பாதையில் இருக்கிறார் என்பதாகும். LAN இன் சாதாரண வெளியேற்றத்துடன் பொருந்தும் விருந்தினர் முகவரி என்பது அவர் இல்லை என்பதாகும். மக்கள் தவிர்க்கும் படி கட்டுப்பாடு: ஹோஸ்ட் சுரங்கத்தைக் கீழே இறக்கி விருந்தினரின் கோரிக்கையை மீண்டும் செய்யுங்கள். விருந்தினர் தொடர்ந்து உலாவினால், முறையின் பெயர் எதைக் குறித்தாலும் அவர் ஒருபோதும் ஹோஸ்ட் சுரங்கத்தைச் சார்ந்திருக்கவில்லை. NAT முறையில் ஹோஸ்ட் சுரங்கம் கீழே இருக்கும்போது விருந்தினர் இணையத்தை இழக்க வேண்டும், சுரங்கத்திற்கு வெளியே போக்குவரத்தை அனுமதிக்க கிளையண்ட் அமைக்கப்படாவிட்டால், அதைத் தனியாகத் தெரிந்துகொள்வது மதிப்புள்ளது.
இரண்டு சமிக்ஞைகள் பொய் சொல்கின்றன. வெற்றிகரமான ping அணுகலை நிரூபிக்கிறது, வெளியேறும் பாதையை அல்ல. மேலும் DNS 10.0.2.3 ப்ராக்ஸியால் ஹோஸ்ட் தீர்வி வழியாகப் பதிலளிக்கப்படலாம், அதே நேரத்தில் TCP வேறு வழியில் செல்கிறது, அப்படித்தான் ஏற்றப்படும் பக்கம் ஒன்றும் ஒருபோதும் முடிவடையாத உள்நுழைவு ஒன்றும் கிடைக்கும்.
எந்த முறை வேலைக்குப் பொருந்துகிறது
முறை என்பது வழி முடிவு, எனவே பழக்கத்தை விட தேவையின் அடிப்படையில் அதைத் தேர்ந்தெடுக்கவும்:
| 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 |
முதல் வரிசைதான் மக்கள் மாட்டிக்கொள்ளும் இடம்: NAT உடன் ஹோஸ்டில் முழு சுரங்கக் கிளையண்ட் விருந்தினரை உண்மையில் மூடுகிறது, ஆனால் கிளையண்ட் வழியாகச் சுரங்கம் அமைக்கும் வரையிலும் ஹோஸ்டின் மேல்நோக்கி இணைப்பு அந்தச் சுரங்கமாக இருக்கும் வரையிலும் மட்டுமே. கிளையண்டை உலாவிக்கு மட்டும் அனுமதி வழங்கும் பட்டியலுக்கு நகர்த்துங்கள், எங்கும் எந்தப் பிழையும் இல்லாமல் மூடுதல் மறைந்துவிடும். நான்காவது வரிசை எதிர் தவறு, வசதிக்காக bridged செய்யப்பட்ட விருந்தினர் அமைதியாக அலுவலக LAN இல் SMB அல்லது SSH க்குப் பதிலளிக்கத் தொடங்குவது.
VPN மீது சுமத்தப்படும் தோல்விகள்
Windows இல் NAT மொழிபெயர்ப்பு VirtualBox VM செயல்முறைக்குள் இயங்குகிறது, எனவே செயலி வாரியான கிளையண்டுக்கு அந்தப் பிம்பமே பட்டியலில் தேவை, மெய்நிகர் இயந்திரங்களுக்கான பொதுவான விதி அல்ல. கிளையண்ட் புதுப்பிப்பு அதன் செயல்முறைப் பட்டியலை மீண்டும் கட்டமைக்கும்போது, NAT விருந்தினர்கள் முதலில் மூடுதலை இழக்கின்றனர், அறிக்கை ஹோஸ்ட் நன்றாக இருக்கும்போது LAN ஐ அடைந்து இணையத்தை அடையாத VM போலத் தெரிகிறது.
Wi-Fi க்கு bridging மற்றொரு பழைய கதை. அணுகல் புள்ளிகள் அயல்நாட்டு மூல MAC கொண்ட பிரேம்களை அரிதாகவே அனுப்புகின்றன, எனவே wlan0 மீது ஒரு பிரிட்ஜ் ஒட்டுமொத்தமாகத் தோல்வியடைகிறது அல்லது AP இல் உள்ள கிளையண்ட் தனிமைப்படுத்தல் அதைத் தள்ளத் தொடங்கும் வரை வேலை செய்கிறது. VirtualBox இன்னும் கம்பியற்ற அடாப்டரைப் பட்டியலில் வழங்கும். ஹோஸ்ட் Wi-Fi இல் இருக்கிறார், விருந்தினர் bridged ஆக வேண்டும் என்றால், ஊகிக்காமல் சோதனையைத் திட்டமிடுங்கள்.
MTU மூன்றாவது. Bridged விருந்தினர் LAN இன் 1500 பைட் MTU ஐத் தக்கவைக்கிறார், மேலும் 1420 இல் தனது சொந்த WireGuard கிளையண்டை இயக்கினால், பெரிய TLS கைக்குலுக்கல்கள் நின்றுவிடும், சிறிய கோரிக்கைகள் வெற்றியடையும். NAT இல் ஹோஸ்ட் சுரங்கத்தின் MTU ஹோஸ்டின் பிரச்சினை, ஆனால் விருந்தினர் இன்னும் 1500 ஐ நம்புகிறார், don't-fragment பிட் அமைக்கப்பட்ட UDP அதேபோல் கருந்துளைக்குள் போகிறது.
முறையை எழுதி, எந்த அடாப்டர் மாற்றத்திற்குப் பிறகும் மீண்டும் சரிபார்க்கவும்
முறை, பிரிட்ஜ் பயன்படுத்தும் ஹோஸ்ட் இடைமுகம், விருந்தினரின் இயல்புநிலை நுழைவாயில், அவரது தீர்வி, மற்றும் அவரது v4 மற்றும் v6 வெளியேறும் முகவரிகளைப் பதிவு செய்யுங்கள். அந்தப் பதிவே அடுத்த தோல்வியை மலிவாக்குகிறது: மடிக்கணினி dock இலிருந்து Wi-Fi க்கு நகர்வதால், bridged விருந்தினர் பிரிட்ஜை வேறு இயற்பியல் அடாப்டருக்குப் பின்தொடர்ந்து மற்றொரு துணை வலையமைப்பில் மீண்டும் குத்தகை எடுக்கலாம், அதே நேரத்தில் NAT விருந்தினர் தனது 10.0.2.x முகவரியைத் தக்கவைத்து வேறு மேல்நோக்கி இணைப்பை அமைதியாக மரபுரிமையாகப் பெறுகிறார்.
டிக்கெட்டை மூடுவதற்கு முன், இவை ஒவ்வொன்றையும் உறுதிப்படுத்துங்கள்:
- விருந்தினரின் வெளியேறும் முகவரி ஹோஸ்டின் வெளியேறும் முகவரியிலிருந்து வேறுபடுகிறது, எனவே அவர் ஹோஸ்ட் சுரங்கத்தில் இல்லை.
- தீர்வி 10.0.2.3 ப்ராக்ஸி அல்லது LAN சேவையகம், எது பதிலளித்தது என்பது உங்களுக்குத் தெரியும்.
- சுரங்க வடிவமைப்பு v4 மட்டும் என்றால் விருந்தினரில் உலகளாவிய v6 முகவரி இல்லை.
- ஹோஸ்ட் சுரங்கம் கீழே இருக்கும்போது விருந்தினர் உலாவுவதை நிறுத்துகிறார், அல்லது அவர் ஒருபோதும் அதைச் சார்ந்திருக்கவில்லை என்பதை இப்போது அறிவீர்கள்.
- தனக்கு வேண்டியதில்லாத LAN ஒளிபரப்பு போக்குவரத்தை விருந்தினர் பார்க்கவில்லை.