OpenBSD VPN நுழைவாயிலில் tun0 வழியாக LAN-க்கு NAT
OpenBSD tun0 வெளியேற்றத்திலிருந்து வெளியேறும் LAN போக்குவரத்துக்கு மூல NAT அல்லது திரும்பு பாதை இரண்டில் ஒன்றைத் தேர்ந்தெடுத்து, pf இன்னும் அனுமதிக்கும் இடத்தில் nat-to விதியை வைக்கவும்.
ஒரே OpenBSD நுழைவாயிலைக் கொண்ட இரண்டு பொறியாளர்கள் தொலை நெட்வொர்க்கை அடைய பெரும்பாலும் இரண்டு வெவ்வேறு விதித்தொகுப்புகளைத் தருவார்கள், இரண்டையும் நியாயப்படுத்தலாம். மூல மொழிபெயர்ப்புக்கும் திரும்பு பாதைக்கும் இடையிலான தேர்வு எந்த வகையிலும் இலக்கணக் கேள்வி அல்ல. எதிர்ப்பக்கம் 192.168.88.0/24 பற்றி ஏற்கனவே என்ன அறியும், உங்கள் பதிவுகளில் என்ன வைத்திருக்க வேண்டும் என்பதைப் பொறுத்தது. இங்கே தவறு செய்தால் nat-to வரி முற்றிலும் சரியாகத் தெரியும், ஆனால் பதில்கள் தொலை இயல்புநிலை நுழைவாயிலில் மறைந்துவிடும்.
வழிசெலுத்தலும் மறுஎழுத்தும் வெவ்வேறு கேள்விகளுக்குப் பதிலளிக்கின்றன
172.20.0.0/16 tun0 வழியாக அடையக்கூடியது என்று வழிசெலுத்தல் அட்டவணை தீர்மானிக்கிறது, அந்த முடிவு எந்த pf மொழிபெயர்ப்பையும் கலந்தாலோசிக்கும் முன் எடுக்கப்படுகிறது. பின்னர் மூல மொழிபெயர்ப்பு பாக்கெட் தலைப்பை மாற்றுகிறது, அதனால் தொலை முனை LAN புரவலனுக்குப் பதிலாக நுழைவாயிலின் சுரங்க முகவரியைப் பார்க்கிறது. எந்த இயங்குமுறையும் மற்றொன்றை மாற்றாது: nat விதி பாதையை உருவாக்க முடியாது, பாதை உங்கள் தனியார் துணை வலைப்பிணையம் பற்றிக் கேள்விப்படாத தொலை திசைவியை நம்பவைக்க முடியாது. எதிர்ப்பக்கத்திற்குத் திரும்பும் வழி இல்லாவிட்டால் பதில்கள் நிராகரிக்கப்படும் அல்லது அதன் இயல்புநிலை நுழைவாயிலுக்கு அனுப்பப்படும், விதிகளை எவ்வளவு சீரமைத்தாலும் அது சரியாகாது.
எளிமையாகச் சொல்ல, அனுப்புதல் போக்குவரத்து எங்கே செல்கிறது என்பதற்குப் பதிலளிக்கிறது, மொழிபெயர்ப்பு அது எங்கிருந்து வருவதாகத் தெரிகிறது என்பதற்குப் பதிலளிக்கிறது. விதித்தொகுப்பை வடிவமைக்கும்போது இரண்டையும் தனித்தனி மனப் பெட்டிகளில் வைத்திருங்கள்.
தீர்மானிக்கும் மூன்று நிபந்தனைகள்
மூன்று கேள்விகளை வரிசையாகக் கேளுங்கள், வடிவமைப்பு பொதுவாகத் தானே தேர்ந்தெடுக்கப்படும். தொலை நெட்வொர்க்கில் 192.168.88.0/24 க்கான சுரங்க முகவரியை நோக்கும் நிலையான பாதை உள்ளதா, அல்லது அதன் நிர்வாகி அந்தப் பாதையின் திசைவிகளைக் கட்டுப்படுத்துகிறாரா? ஆம் எனில், LAN முகவரிகள் மாற்றமின்றிச் செல்ல அனுமதித்து மொழிபெயர்ப்பை முழுமையாகத் தவிர்க்கவும். எதிர்ப்பக்கத்தில் ஒவ்வொரு வாடிக்கையாளருக்கும் தெரிவுநிலை தேவையா, அணுகல் கொள்கைக்கோ தணிக்கைத் தடத்திற்கோ? தேவை எனில், மூலத்தைப் பாதுகாப்பது வழிசெலுத்தல் வேலைக்குத் தகுதியானது. சுரங்க முகவரி தொலை பாதையில் எழுதும் அளவுக்கு நிலையாக உள்ளதா, அல்லது மீளிணைப்புகளுக்கு இடையே மாறுகிறதா?
ஏதேனும் பதில் இல்லை அல்லது தெரியவில்லை எனில், nat-to நடைமுறைத் தேர்வு, அதைத் திருப்பவும் முடியும். எதிர்ப்பக்கம் சரியான பாதையைச் சேர்த்தவுடன் மொழிபெயர்ப்பு விதி ஒரே வரியில் வெளியேறும். ஒருபோதும் நிறுவப்படாத திரும்பு பாதை, சுரங்கம் ஒரு திசையில் மட்டும் ஏன் இயங்குகிறது என்று யாராவது கேட்கும் ஒவ்வொரு முறையும் ஒரு ஆதரவு இழையை எடுக்கும்.
pf உண்மையில் மதிப்பிடும் வகையில் பகுதியை வைக்கவும்
கீழே உள்ள பகுதி LAN 192.168.88.0/24, தொலை நெட்வொர்க் 172.20.0.0/16, சுரங்க இடைமுகம் tun0 என்று கருதுகிறது. அதில் அடுத்த தாவலைத் தேர்ந்தெடுப்பது எதுவும் இல்லை. ஏற்கனவே சுரங்கத்தின் வழியாக வெளியேறும் பாக்கெட்டுகளில் மூலத்தை மட்டும் மறுஎழுதுகிறது.
match out on tun0 inet from 192.168.88.0/24 to 172.20.0.0/16 nat-to (tun0)
pass in on em0 inet from 192.168.88.0/24 to any keep state
அந்த முதல் வரியின் இரண்டு விவரங்கள் பெரும்பாலான எடையைத் தாங்குகின்றன. tun0 ஐச் சுற்றியுள்ள அடைப்புக்குறிகள், நிலைப் பதிவை உருவாக்கும் ஒவ்வொரு முறையும் இடைமுக முகவரியைப் படிக்க pf-க்குச் சொல்கின்றன, மீளிணைப்புக்குப் பிறகு சுரங்கம் மறுஎண்ணிடப்படும்போது இது முக்கியம். match என்ற சொல் விதி மறுஎழுதி பின்னர் கீழே விழும் என்பதைக் குறிக்கிறது, எனவே தனி pass விதி இன்னும் ஓட்டத்தை அனுமதிக்க வேண்டும். match வரியில் பெயரிடப்பட்ட இடைமுகமும் வழிசெலுத்தல் அட்டவணை தேர்ந்தெடுப்பதாகவே இருக்க வேண்டும், இல்லையெனில் pf விதியைப் பாக்கெட் உண்மையில் செல்லும் பாதையிலிருந்து வேறுபட்ட வெளியேறும் பாதையில் மதிப்பிடும்.
கர்னல் பக்கத்தை மறக்காதீர்கள். IPv4 அனுப்புதல் இயக்கப்பட்டிருக்க வேண்டும், சுரங்கம் மற்றும் LAN க்கான நிலையுள்ள pass விதிகள் இவை அனைத்தும் பொருள் பெறும் முன் இருக்க வேண்டும். இங்கே முக்கியச் சொல் வரிசைக்கு OpenBSD FAQ இன் PF NAT பகுதி சரியான குறிப்பு.
போக்குவரத்தை நம்பும் முன் விதித்தொகுப்பைச் சரிபார்க்கவும்
முதலில் pfctl -nf /etc/pf.conf மூலம் இலக்கணத்தைச் சரிபார்க்கவும், அது கோப்பை ஏற்றாமல் பகுப்பாய்வு செய்கிறது. பின்னர் கொள்கையை ஏற்றி கர்னல் உண்மையில் என்ன வைத்திருக்கிறது என்பதை மீண்டும் படியுங்கள், ஏனெனில் தூய்மையாகப் பகுப்பாய்வு செய்யப்பட்ட விதியும் நிழலிடப்படலாம் அல்லது தவறான இடைமுகத்துடன் இணைக்கப்படலாம். pfctl -sn மொழிபெயர்ப்பு விதிகளை ஏற்றிய வடிவில் அச்சிடுகிறது, pfctl -sr வடிகட்டி விதிகளை மதிப்பீட்டு வரிசையில் அச்சிடுகிறது.
அடுத்து கம்பியைக் கவனிக்கவும். நுழைவாயிலில் tcpdump -ni tun0 'host 172.20.0.10' சுரங்கத்திலிருந்து வெளியேறும் மூல முகவரி சுரங்க முகவரியா LAN புரவலனா என்பதைக் காட்டுகிறது. விரைவான netstat -rn -f inet இலக்கு எந்த இடைமுகத்தில் தீர்க்கப்படுகிறது என்பதை உறுதிப்படுத்துகிறது. போக்குவரத்து பாயத் தொடங்கியதும் pfctl -ss நிலைப் பதிவுகளைப் பட்டியலிடுகிறது; ஓட்டம் நிலையை உருவாக்கவில்லை எனில், பாக்கெட் அதை உருவாக்கும் விதியை ஒருபோதும் சந்திக்கவில்லை.
சுரங்கப் பக்கம் சரியாகத் தெரிந்தும் பதில்கள் வரவில்லை எனில், pf ஐத் திருத்துவதை நிறுத்துங்கள். மீதமுள்ள கோளாறு தொலை திசைவியில் உள்ளது, அங்கு பதில் அந்தப் பக்கம் அடைய முடியாத தனியார் முகவரிக்கு அனுப்பப்படுகிறது.
மொழிபெயர்ப்பு சேமிப்பை விட அதிகம் செலவாகும்போது
மொழிபெயர்ப்பு வாடிக்கையாளர்களை மறைக்கிறது, சில நேரங்களில் அதுவே தவறான பரிவர்த்தனை. ஒன்றின் மேல் ஒன்று வரும் துணை வலைப்பிணையங்கள் ஒரு நிலை: எதிர்ப்பக்கமும் உள்ளே 192.168.88.0/24 ஐப் பயன்படுத்தினால், LAN புரவலர்களை நுழைவாயிலாகக் காட்டுவது மோதலை மேம்படுத்துவதற்குப் பதிலாக மோசமாக்குகிறது. முகவரி இணையால் போக்குவரத்தைத் தேர்ந்தெடுக்கும் IPsec கொள்கைகள் மற்றொரு நிலை, ஏனெனில் பாதுகாப்புக் கொள்கைத் தரவுத்தளம் மொழிபெயர்ப்புக்கு முன் பொருத்தப்படுகிறது, நீங்கள் மறுஎழுதிய பாக்கெட்டை ஒருபோதும் காணாது. பயனர் ஒவ்வொருவருக்கும் கட்டணம் வசூலிக்கும், கட்டுப்படுத்தும் அல்லது தணிக்கை செய்யும் எந்தப் பயன்பாடும், மூலம் ஒரே முகவரியாகச் சுருங்கும் தருணத்தில் தேவையான அடையாளத்தை இழக்கிறது.
எடுத்துச் செல்லக்கூடிய pf வழித்தோன்றல்கள் தனி பொறி. தங்கள் சொந்த விதிக் கோப்புகளை உருவாக்கும் தயாரிப்புகள் NAT தங்கள் இடைமுகம் வழியாக அமைக்கப்படும் என்று எதிர்பார்க்கின்றன, கையால் திருத்திய பகுதிகள் அடுத்த மறுஏற்றத்தில் மேலெழுதப்படும். match முக்கியச் சொல் தோன்றுவதற்கு முன் எழுதப்பட்ட வழிகாட்டிகளிலிருந்து நகலெடுக்கப்பட்ட விதித்தொகுப்புகள் தற்போதைய கர்னலில் ஏற்றப்படாது, எனவே இலக்கணத்தை மாற்றி ஊகிப்பதற்குப் பதிலாக பிழையைப் படியுங்கள்.
உண்மையான நெட்வொர்க்குகளுடன் தொடர்புகொண்டு நிலைத்திருக்கும் முடிவு விதி சுருக்கமானது: முடிந்தால் திரும்பு பாதையை நிறுவுங்கள், முடியாவிட்டால் மொழிபெயர்க்கவும், மூன்று நிபந்தனைகளில் எது அந்தத் தேர்வைச் செய்யவைத்தது என்பதை எழுதி வையுங்கள். அந்தக் குறிப்பு அடுத்த நபரின் அரை நாளைச் சேமிக்கிறது.