ஒரே சர்வர் IP, இரண்டு பாதைகள்: OpenVPN-இன் வெளிப்புற ஓட்டத்தைக் குறியிடுதல்
VPN சர்வரை விலக்கும் ஹோஸ்ட் வழி அதற்கான HTTPS-ஐயும் விலக்குகிறது. அதற்குப் பதிலாக மறையாக்கப்பட்ட உறையைக் குறியிடுங்கள், பின்னர் குறியிடப்படாத போக்குவரத்துக்கு சுரங்கத்தைக் கொடுங்கள்.
வழக்கமான சுழற்சிப் பாதுகாப்பு ஒரு ஹோஸ்ட் வழி: VPN சர்வரின் பொது முகவரிக்கான போக்குவரத்தை அப்லிங்க் வழியாக வெளியே அனுப்புங்கள், அதனால் மறையாக்கப்பட்ட அமர்வு ஒருபோதும் அதன் சொந்த சுரங்கத்தில் நுழையாது. இது அதே சர்வரில் உள்ள வலைச் சேவையையும் சுரங்கம் வழியாக அடைய விரும்பும் தருணம் வரை வேலை செய்கிறது, ஏனெனில் விலக்கு இலக்கைச் சார்ந்தது, இலக்கும் ஒன்றே. வெளியேறும் வழி, இலக்கை வைத்து வகைப்படுத்துவதை நிறுத்திவிட்டு எந்தச் சாக்கெட் பாக்கெட்டை அனுப்பியது என்பதை வைத்து வகைப்படுத்தத் தொடங்குவது.
பிரிக்க விரும்பும் இரண்டு ஓட்டங்களில் தொடங்குங்கள்
ஒரு ஓட்டம் மறையாக்கப்பட்ட OpenVPN போக்குவரத்தே, அது அப்லிங்க் வழியாக வெளியேற வேண்டும், இல்லையெனில் சுரங்கம் அதன் சொந்த வெளிப்புற இணைப்பைச் சுமக்கும். மற்றொன்று அதே பொது முகவரிக்கான சாதாரண HTTPS கோரிக்கை, அதைச் சுரங்கத்திற்குள் வைத்திருக்க விரும்புகிறீர்கள், அதனால் அது சுரங்க மூலத்திலிருந்து சேவையை அடையும். ஒரே இலக்கு, பல சந்தர்ப்பங்களில் ஒரே துறை எண், வேறுபட்ட தேவையான பாதை.
இந்த விளக்கத்தில், 10.90.0.10 இல் உள்ள கிளையண்ட் tun1 வழியாக உள்ளது, சர்வரின் பொது முகவரி 198.51.100.25, மேலும் முதன்மை அட்டவணை தொடப்படவில்லை; அதன் இயல்புநிலை வழி சாதாரண அப்லிங்கை நோக்கிச் செல்கிறது. சர்வர் பக்கமும் உள் பாதையில் வலைச் சேவையை ஏற்க வேண்டும், போக்குவரத்தை சுரங்க மூலத்துக்குத் திருப்பி அனுப்ப வேண்டும்; பொது முகவரிக்குப் பாக்கெட் அனுப்புவது சர்வரின் லிசனர் அல்லது ஃபயர்வால் கொள்கையை ரத்து செய்யாது.
எதையும் மாற்றும் முன் ஹோஸ்ட்டின் தற்போதைய விதிகளைப் பதிவு செய்து, வேறு யாரும் பயன்படுத்தாத மதிப்புகளைத் தேர்ந்தெடுங்கள்: ஒரு குறி, ஒரு அட்டவணை எண், மூன்று விதி முன்னுரிமைகள். இந்த இணைப்பு வழியாகச் செல்லாத திரும்பும் வழியை வைத்திருங்கள், ஏனெனில் இங்கே ஒரு தவறு உலாவி தாவலை உடைப்பதற்குப் பதிலாக உங்கள் சொந்த தொலை அணுகலைப் பறிக்கும்.
உறையைச் சுமக்கும் சாக்கெட்டைக் குறியிடுங்கள்
கிளையண்ட் அமைப்பு தன் மறையாக்கப்பட்ட வெளிச்செல்லும் பாக்கெட்டுகளுக்கு ஒரு குறியைப் பெறுகிறது, தானாக வழிகளை நிறுவுவதை நிறுத்துகிறது, இதனால் மாற்றுக் கொள்கையே வழிகளைத் தீர்மானிக்கும் ஒரே விஷயமாக இருக்கும்:
mark 42
route-noexec
disable-dco
தசம 42 என்பது பதினறும 0x2a, மேலும் பதினறும வடிவமே ரவுட்டிங் விதிகள் பொருந்தும். link-options குறிப்பு mark ஐ Linux இல் மறையாக்கப்பட்ட வெளிச்செல்லும் பாக்கெட்டுகளுக்குப் பொருந்துவதாக விவரிக்கிறது, அதாவது நீங்கள் பாதையைக் கட்டுப்படுத்த வேண்டிய அதே சாக்கெட். தரவு சேனலின் ஆஃப்லோடை அணைப்பது இந்த உதாரணத்தை பயனர்-வெளி பாதையில் வைத்திருக்கும், அங்கே குறியின் நடத்தை விவரிக்கப்பட்டதே.
route-noexec OpenVPN-இன் தானியங்கி வழி சேர்த்தல் மற்றும் நீக்குதலை அடக்குகிறது. அவற்றுக்குப் பதிலாக எதையும் நிறுவுவதில்லை, எனவே இந்தத் தருணத்திலிருந்து வழிகளின் உரிமையாளர் சுரங்கத்திற்குத் தேவையான ஒவ்வொரு வழியையும் பராமரிக்க வேண்டும். மாற்றத்திற்குப் பிறகு ஒரு தனியார் இலக்கு மறைந்தால், அது காணாமற்போன மாற்றுக் கொள்கை, குறியின் குறை அல்ல.
இதைச் செய்யும்போது 198.51.100.25 க்கான ஹோஸ்ட் வழியை முதன்மை அட்டவணையில் வைத்திருக்க வேண்டாம். அத்தகைய வழி, வடிவமைப்பு குறுக்க முயலும் அதே விலக்கை மீண்டும் கொண்டு வரும், மேலும் கீழே உள்ள எந்தக் கொள்கையும் கேட்கப்படுவதற்கு முன்பே HTTPS ஓட்டத்திற்கு வெற்றி பெறும்.
மற்ற அனைத்தையும் சுரங்க அட்டவணைக்கு அனுப்புங்கள்
சுரங்க இடைமுகம் இருக்கும் நிலையில் அதன் முகவரியை வைத்திருக்கும்போது, கொள்கை இப்படி இருக்கும்:
ip -4 route add default dev tun1 src 10.90.0.10 table 47100
ip -4 rule add priority 20000 lookup main suppress_prefixlength 0
ip -4 rule add priority 20001 not fwmark 0x2a lookup 47100
ip -4 rule add priority 20002 not fwmark 0x2a unreachable
முதல் விதி ஹோஸ்ட்டின் குறிப்பிட்ட வழிகளைத் தெரியும்படி வைத்திருக்கிறது, அனுமதிக்கப்பட்ட உள்ளூர் வலையமைப்பு உட்பட, அதே நேரத்தில் இந்தத் தேடலுக்கு முதன்மை அட்டவணையின் இயல்புநிலை வழியைக் கண்ணுக்குத் தெரியாததாக்குகிறது. அந்த வேறுபாடு முக்கியம்: இயல்புநிலையை அடக்குவது அட்டவணையைப் புறக்கணிப்பதற்குச் சமம் அல்ல, உங்களுக்கு இன்னும் தேவையான உள்ளூர் விதிவிலக்குகள் இதன் காரணமாகவே தப்பிப் பிழைக்கின்றன. அந்த விதிவிலக்குகளை ஒவ்வொன்றாகப் படியுங்கள், முடிவு ஒரு உலகளாவிய அவசர நிறுத்தச் சுவிட்ச் என்று கருதுவதற்குப் பதிலாக.
குறியிடப்படாத போக்குவரத்து பின்னர் சுரங்க அட்டவணையில் விழுந்து, சுரங்க மூலத்தை எடுத்து VPN வழியாக வெளியேறுகிறது. குறியிடப்பட்ட போக்குவரத்து அடுத்த இரண்டு விதிகளின் fwmark சோதனையில் தோல்வியடைந்து, பட்டியலில் கீழே உள்ள வழக்கமான முதன்மைத் தேடலுக்குத் தொடர்கிறது, அங்கே அப்லிங்கின் இயல்புநிலை வழி இன்னும் உள்ளது. இறுதி unreachable விதியே, சுரங்க வழி இல்லாதபோது குறியிடப்படாத ஓட்டம் அமைதியாக அப்லிங்கிற்குத் திரும்பி விழுவதைத் தடுக்கிறது. தேர்வி தொடக்கம் முதல் இறுதி வரை குறி, இலக்கு முகவரி ஒருபோதும் முடிவில் நுழையாது.
அந்தக் காவலாளியை இணைப்புத் துண்டிப்புகளுக்கிடையே இடத்தில் வையுங்கள், அதை மீதமுள்ள கொள்கையுடன் சேர்த்து நிறுவுங்கள், கையால் அல்ல. இடைமுகத்துடன் மறையும் விதி கொள்கை அல்ல, தற்செயல். சுரங்கம் விழும்போது கொள்கையை நீக்குவது தோல்வி முறையை “தடுக்கப்பட்டது” என்பதிலிருந்து “கசிந்தது” ஆக மாற்றுகிறது, பின்னர் காலாவதியாகும் பழைய சுரங்க வழி தவறான இடைமுகம் வழியாக வெளியேறிய போக்குவரத்தை விட விளக்க மிகவும் எளிதான பிரச்சினை.
திரும்பும் பாதையும் அதே குறியைப் பார்க்கட்டும்
வெளிச்செல்லும் குறிகள் இயங்குமுறையின் பாதி மட்டுமே, இதுவே பெரும்பாலான மறுஉருவாக்கங்கள் விட்டுவிடும் பகுதி. மறையாக்கப்பட்ட அமர்வுக்கான பதில்கள் அப்லிங்கில் வந்து, மூலம் வந்த வழியே திரும்ப அனுப்பப்படுமா எனக் கேட்கும் திரும்பும்-பாதை சரிபார்ப்புக்கு உட்படுகின்றன. உதவி இல்லாமல் அந்தத் தேடல் உங்கள் குறியிடப்படாத சுரங்கக் கொள்கையைப் பயன்படுத்தி, பாக்கெட் தவறான இடைமுகத்தில் இருப்பதாக முடிவு செய்கிறது.
திருத்தம் ஃபயர்வாலின் உரிமையாளருக்கு உரியது: வெளிச்செல்லும் இணைப்பில் குறியைச் சேமியுங்கள், பொருந்தும் உள்வரும் பாக்கெட்டுகளில் அதை மீட்டெடுங்கள், தொடர்புடைய பாதைக்கு மூலம்-சரிபார்க்கப்பட்ட குறி கையாளுதலை இயக்குங்கள். OpenVPN சாக்கெட் குறியை அமைப்பது இந்த மூன்றில் எதையும் செய்யாது, கிளையண்ட் விருப்பங்களை மட்டும் பட்டியலிடும் செய்முறை முழுமையற்றது. அந்த ஒருங்கிணைப்பை எழுத்துப்பூர்வமாகக் கேளுங்கள், ஏனெனில் அது வடிவமைப்பின் மிகக் குறைவாகத் தெரியும் பகுதி, மறுகட்டுமானத்தில் மிக எளிதாக இழக்கப்படும் பகுதி.
தளர்வான திரும்பும்-பாதை சரிபார்ப்பும் மாற்று அல்ல. தளர்வான பயன்முறையிலும் மூலத்திற்கு ஏதேனும் வழி இருக்க வேண்டும், நீங்கள் சேர்த்த unreachable காவலாளி குறியிடப்படாத தேடல்களுக்கு ஒன்றை வேண்டுமென்றே நீக்குகிறது. இந்த வடிவமைப்பை நம்புவதற்கு முன் இணைப்பு-குறி ஒருங்கிணைப்பை முடித்து மதிப்பாய்வு செய்யுங்கள், ஹோஸ்ட் வடிகட்டிகளைத் தனிக் கேள்வியாகக் கருதுங்கள்: குறி என்பது ரவுட்டிங் சமிக்ஞை, அனுமதி அல்ல. ஒருங்கிணைப்பு இல்லாவிட்டால் அறிகுறி, அமர்வு நிறுவப்பட்டு பதில்கள் வரத் தொடங்கியதும் அமைதியாகிவிடுவது.
இரண்டு வழித் தேடல்களால் இதை நிரூபியுங்கள்
கெர்னல் இரண்டு சூழல்களுக்கு என்ன தீர்மானிக்கிறது என்பதை ஒப்பிடுங்கள், வெளியேறும் நிலைக்குப் பதிலாக dev மற்றும் src புலங்களைப் படியுங்கள்:
ip -4 route get 198.51.100.25
ip -4 route get 198.51.100.25 mark 0x2a
முதல் தேடல் சுரங்க மூலத்துடன் tun1 க்குத் தீர வேண்டும், இரண்டாவது அப்லிங்கிற்கு. இவை செயற்கைத் தேடல்கள், எனவே கொள்கையை நிரூபிக்கின்றன, இயங்கும் செயல்முறையை அல்ல: இயங்கும் கிளையண்டின் உண்மையான போக்குவரத்துப் பாதையைத் தனியாக உறுதிப்படுத்தி, பின்னர் சான்றிதழ் சரிபார்ப்பை இயக்கிய நிலையில் உண்மையான HTTPS கோரிக்கையைச் செய்யுங்கள்.
முடிந்ததாக அறிவிப்பதற்கு முன் வடிவமைப்பு எதை உள்ளடக்கவில்லை என்பதை எழுதுங்கள். DNS, IPv6 மற்றும் விதிகளின் வாழ்க்கைச் சுழற்சி ஒவ்வொன்றுக்கும் தனி முடிவு தேவை, இது IPv4 ரவுட்டிங்கின் உதாரணம், முழுமையான தனியுரிமை அமைப்பு அல்ல. அதன் மதிப்பு தேர்வியில் உள்ளது: உறைக்கு அப்லிங்க் விலக்கு கிடைக்கிறது, அதே முகவரியில் உள்ள சாதாரண சேவை அதை மரபுரிமையாகப் பெறத் தேவையில்லை.