VPN-க்கான Linux பிணைய பெயர்வெளிகள்: அவை எதைத் தனிமைப்படுத்துவதில்லை
பெயர்வெளி இடைமுகங்கள், வழித்தடங்கள் மற்றும் சாக்கெட்டுகளை நகர்த்துகிறது, கோப்புகள் அல்லது கணக்குகளை அல்ல. அதன் சொந்த netns-ல் VPN எதை உள்ளடக்குகிறது, போக்குவரத்து இன்னும் எங்கிருந்து தப்புகிறது என்பதை இங்கே காணலாம்.
VPN-ஐ அதன் சொந்த பெயர்வெளிக்குள் தொடங்கி, அங்கே ஒரு பயன்பாட்டை இயக்கினாலும், போக்குவரத்து ஹோஸ்ட்டின் வழித்தடம் வழியாகவே வெளியேறுகிறது. எதுவும் உடைந்துவிடவில்லை: பெயர்வெளி அதில் நுழையும் செயல்முறைகளை மட்டுமே கட்டுப்படுத்துகிறது, கசிவு ஒருபோதும் நுழையாத செயல்முறையிலிருந்து வந்தது. இடைமுகங்கள், முகவரிகள், வழித்தடங்கள், ஃபயர்வால் விதிகள் மற்றும் சாக்கெட்டுகளே பெயர்வெளி வைத்திருப்பவை. கோப்புகள், கணக்குகள் மற்றும் ஏற்கனவே இயங்கும் சேவைகள் அல்ல, பெரும்பாலான ஆச்சரியங்கள் இங்கிருந்தே வருகின்றன.
பெயர்வெளி எதை வைத்திருக்கிறது, சாக்கெட் எங்கே பிறக்கிறது
ஒரு இடைமுகத்தை பெயர்வெளிக்கு நகர்த்துங்கள், ஹோஸ்ட் அதை இழக்கும்; உள்ளே ஒரு சுரங்கப்பாதை அமையுங்கள், ஹோஸ்ட் அதைப் பார்க்க முடியாது. இதுவே பெயர்வெளியால் வரையறுக்கப்பட்ட VPN-இன் பொறிமுறை: சாதனமும் அதை நோக்கும் வழித்தடங்களும் தேர்ந்தெடுக்கப்பட்ட செயல்முறைகள் மட்டுமே அடையக்கூடிய சூழலில் வாழ்கின்றன. ஹோஸ்ட் அதன் இயல்புநிலை வழித்தடத்தை வைத்திருக்கிறது, எனவே வெளியே உள்ள அனைத்தும் தொடப்படாமல் இருக்கிறது.
WireGuard-க்கு உருவாக்கச் சூழல் தற்போதைய இருப்பிடத்திற்குச் சமமானது: UDP சாக்கெட் இடைமுகம் உருவாக்கப்பட்ட பெயர்வெளியிலேயே பிணைக்கப்படுகிறது, சாதனம் வேறு இடத்திற்கு நகர்ந்த பிறகும். மறையாக்கப்பட்ட பாக்கெட்டுகள் எந்த ரூட்டிங் அட்டவணையைப் பின்பற்றுகின்றன என்பது அந்தப் பிறப்பிடத்தைப் பொறுத்தது. சாக்கெட் சக அணுக்கு வழித்தடம் இல்லாத சூழலில் தங்கினால், இடைமுகம் தேடும், கைக்குலுக்கல் ஒருபோதும் வெளியேறாது. முதலில் அதன் பிறப்பிடத்தையும், பின்னர் தற்போதைய இருப்பிடத்தையும் சரிபார்க்கவும்.
பெயர்வெளி எதைத் தனிமைப்படுத்துவதில்லை
இங்கே எதுவும் கோப்பு அமைப்புகள், கணக்குகள் அல்லது ரகசியங்களைத் தனிமைப்படுத்துவதில்லை, மேலும் நீங்கள் பெயர்வெளி உருவாக்கியதால் அந்த எல்லைகள் எதுவும் தோன்றுவதில்லை. தீர்வி உள்ளமைவு ஒரு கோப்பு, எனவே உள்ளேயிருக்கும் செயல்முறை ஹோஸ்ட் தீர்வியைச் சுட்டும் அமைப்பைப் படித்து, அது குறிக்கும் வழித்தடம் வழியாக தனது வினவலை வெளியே அனுப்ப முடியும். கோரிக்கையை ஏற்கனவே இயங்கும் இடைத்தரகர் அல்லது கணினி சேவைக்கு வழங்கும் பயன்பாடு முற்றிலும் வேறு சூழலில் உள்ள செயல்முறையை உள்ளடக்குகிறது. இரண்டுமே எல்லை பதிலளிக்க ஒருபோதும் உத்தேசிக்காத கோரிக்கைகள்.
தீர்வு /etc/netns/<name>/resolv.conf-ல் ஒவ்வொரு பெயர்வெளிக்கும் ஒரு கோப்பு, அல்லது தயாரிக்கப்பட்ட கோப்பின் bind mount, உள்ளேயிருந்து அடையக்கூடிய தீர்வியை நோக்கியது. ஹோஸ்ட்டில் /etc/resolv.conf-ஐத் திருத்துவது பெயர்வெளி பார்ப்பதில் எதையும் மாற்றாது.
செயல்முறைகளை வைப்பதே கட்டுப்பாடு
நீங்கள் பெறும் தனிமை உள்ளே நீங்கள் தொடங்கும் செயல்முறைகளின் தனிமையே. பெயர்வெளியின் exec உதவியாளர் வழியாகத் தொடங்கப்பட்ட ஷெல், அது உருவாக்கும் அனைத்தும் உள்ளேயே இருக்கும்; ஹோஸ்ட் அமர்விலிருந்து இயக்கப்பட்ட டெஸ்க்டாப் பயன்பாடு இருக்காது. சூழலை உருவாக்கி, சாதனத்தை நகர்த்தி, பின்னர் இரு பக்கங்களையும் நிரூபிக்கவும்:
ip netns add vpn1
ip link set wg0 netns vpn1
ip netns exec vpn1 wg show
wg show
பெயர்வெளிக்குள் இருந்து முதல் wg show-ஐயும், ஹோஸ்ட்டிலிருந்து இரண்டாவதையும் படித்து, அவற்றில் ஒன்று மட்டுமே சக அணுவைப் பட்டியலிடும் என எதிர்பார்க்கவும். இரண்டும் செய்தால் சாதனம் ஒருபோதும் நகரவில்லை; எதுவும் செய்யவில்லை என்றால் அது வேறு இடத்திற்குச் சென்றது. தொடக்கி சேவை மேலாளராக இருந்தால், திருத்த வேண்டியது unit கோப்பு, டெஸ்க்டாப் குறுக்குவழி அல்ல. பெயர்வெளி அமைப்பு இல்லாத unit டீமானை ஹோஸ்ட் சூழலில் தொடங்கி வடிவமைப்பை அமைதியாக ரத்து செய்கிறது.
பயன்பாட்டின் சூழலிலிருந்து சோதிக்கவும்
பயன்பாடு பயன்படுத்தும் அதே பைனரி மற்றும் அதே பயனருடன் பெயர்வெளிக்குள் சரிபார்ப்பை இயக்கவும். DNS மற்றும் இரண்டு முகவரி குடும்பங்களையும் சேர்க்கவும், ஏனெனில் நீங்கள் ஒருபோதும் நினைக்காத IPv6 வழித்தடம் பொதுவான வெளியேறும் வழி. உங்கள் சொந்த ஷெல்லிலிருந்து செய்யும் சோதனை உங்கள் ஷெல் தனிமைப்படுத்தப்பட்டுள்ளது என்பதை மட்டுமே நிரூபிக்கிறது.
பின்னர் ஹோஸ்ட்டில் அதே சரிபார்ப்பை இயக்கி, பதில்கள் வேறுபடுவதை உறுதிசெய்யவும்: உள்ளே சுரங்கப்பாதை முகவரி மற்றும் நோக்கிய வெளியேற்றம், வெளியே ஹோஸ்ட் வழித்தடம் மற்றும் அலுவலக வெளியேற்றம், மற்றும் தீர்வி பெயரால். பெயர்வெளிகளை நெறிமுறைக்குப் பதிலாகப் பயன்பாட்டின்படி பெயரிடுங்கள், சுத்தம் செய்யும் ஸ்கிரிப்ட் இரண்டைக் குழப்பாதிருக்க.
முன்னனுப்பல், தோல்விக் கொள்கை மற்றும் சுத்தம்
நுழைவாயிலுக்கு, முன்னனுப்பலை வேண்டுமென்றே இயக்கி, சுரங்கப்பாதை விழும்போது என்ன நடக்க வேண்டும் என்பதைத் தீர்மானிக்கவும். பெயர்வெளி உள்ளே நீங்கள் நிறுவும் வழித்தடங்களைத் தடுக்காது, எனவே ஹோஸ்ட்டிற்கு மாற்று வழித்தடம் உருவாக்கினால் அது பயன்படுத்தப்படும். இது கொள்கை முடிவு, ஒரு இடையூறு அதைச் சோதிப்பதற்கு முன் அது எழுதப்பட வேண்டும்.
பெயர்வெளிகளின் பெயர்கள், இடைமுகங்கள் மற்றும் உள்ளமைவு யாருடையது என்பதைப் பதிவு செய்யுங்கள், சுத்தம் பயன்பாடு உருவாக்கியதை மட்டும் நீக்கும். மீள்செயலின்போது ஹோஸ்ட் பிணையத்தை மீட்டமைப்பது சுத்தத்தை இடையூறாக மாற்றும். பக்கம் network_namespaces(7) சுருக்கமானது, அந்தப் பாதையை வடிவமைப்பதற்கு முன் படிக்கத் தகுந்தது.