OpenVPN வாடிக்கையாளர்களுக்கு இடையிலான போக்குவரத்தை nftables ஏன் காண முடியவில்லை
சக இணைப்புகளுக்கு இடையிலான போக்குவரத்து VPN செயல்முறையின் உள்ளேயே வழங்கப்படுகிறது, எனவே அனுப்பல் எண்ணிகள் ஒருபோதும் நகர்வதில்லை. அதை எண்ண வேண்டுமானால் கர்னல் பாதைக்கும் செயல்முறை பாதைக்கும் இடையே தேர்ந்தெடுக்க வேண்டும்.
ஒரே சேவையகத்தில் இரண்டு வாடிக்கையாளர்கள் கோப்புகளைப் பரிமாறிக்கொள்கிறார்கள், பரிமாற்றம் வெற்றியடைகிறது, சுரங்கப்பாதையை நோக்கிய ஒவ்வொரு அனுப்பல் விதியும் பூஜ்ஜிய பாக்கெட்டுகளைத் தெரிவிக்கிறது. விதிகள் உடைந்திருக்கவில்லை, சங்கிலியும் தவறான இடத்தில் இல்லை. சக-சக அனுப்பல் இயக்கத்தில் இருக்கும்போது பாக்கெட் சேவையக செயல்முறையின் உள்ளேயே வழங்கப்படுகிறது, ஓம்புநர் அடுக்கு ஒருபோதும் வழிமாற்றியாக மாறாது, எனவே கர்னல் தீச்சுவருக்கு எண்ண ஏதுமில்லை. இந்தப் பிரிவைப் புரிந்துகொள்வது நீங்கள் குறுக்குவழியை வைத்திருக்கிறீர்களா அல்லது கர்னல் வழியாகப் பாதையை மீண்டும் கட்டுகிறீர்களா என்பதைத் தீர்மானிக்கிறது.
சேவையகத்தின் வழியாக ஒரு பாக்கெட்டைப் பின்தொடருங்கள்
வழிமாற்றப்பட்ட சுரங்கப்பாதையில், டீமன் ஒவ்வொரு வாடிக்கையாளரின் மறைகுறியாக்கப்பட்ட பாக்கெட்டை சுரங்கப்பாதை சாதனத்திற்கு வழங்குகிறது. அங்கிருந்து ஓம்புநர் அதை வழிமாற்றுகிறார், அனுப்பல் கொக்கி இயங்குகிறது, சுரங்கப்பாதை சாதனத்துடன் பொருந்தும் விதி போக்குவரத்தை எண்ணலாம் அல்லது விட்டுவிடலாம். பெரும்பாலான தீச்சுவர் எடுத்துக்காட்டுகள் கருதும் பாதை இதுவே.
| Forwarding path | Who decides | What the host firewall sees |
|---|---|---|
| Kernel routing between clients | Host routing table and forward rules | Every inner packet, with interface names |
| Peer forwarding inside the server process | The VPN daemon's own peer table | Only the outer encrypted transport |
குறுக்குவழி ஓம்புநரை நடுவிலிருந்து நீக்குகிறது. ஒரு அமர்வின் மறைகுறியாக்கப்பட்ட பாக்கெட் டீமனுக்குள் மற்றொரு அமர்வுக்கு வழங்கப்படுகிறது, உள்ளேயுள்ள பாக்கெட் ஒருபோதும் சுரங்கப்பாதை சாதனத்தில் வெளியிடப்படுவதில்லை, ஓம்புநரும் அதை வழிமாற்றுவதில்லை. மூடப்பட்ட போக்குவரத்து இன்னும் இயற்பியல் இடைமுகத்தைக் கடக்கிறது, எனவே வெளிப்புறப் பதிவு பரபரப்பாகத் தெரிகிறது, உட்புற விதிகள் அமைதியாகவே இருக்கின்றன. சுரங்கப்பாதை சாதனத்தில் எடுக்கப்பட்ட பதிவு எதையும் காட்டுவதில்லை, இது அங்கே பரிமாற்றத்தைப் பார்க்க எதிர்பார்ப்பவர்களை ஆச்சரியப்படுத்துகிறது. இந்தச் சமச்சீரற்ற தன்மையே டீமனுக்கு வெளியேயிருந்து குறுக்குவழியை அடையாளம் காணும் வேகமான வழி.
எந்தப் பாதை சென்றது என்பதைத் தீர்மானிக்கும் எண்ணி சோதனை
பொருந்த வேண்டிய விதியில் ஒரு எண்ணியை இணைக்கவும், அந்த விதி தடுக்க வேண்டிய இரண்டு வாடிக்கையாளர்களுக்கு இடையே பரிமாற்றத்தை இயக்கவும், பின்னர் எண்ணியைப் படியுங்கள்.
sudo nft list ruleset
sudo nft add rule inet filter forward iifname "tun0" oifname "tun0" counter accept
sudo nft list chain inet filter forward
பரிமாற்றம் வெற்றியடைந்து எண்ணி பூஜ்ஜியத்திலேயே நின்றால், கர்னல் அந்தப் பாக்கெட்டுகளை ஒருபோதும் கையாளவில்லை, எவ்வளவு விதிகளைத் திருத்தினாலும் அது மாறாது. அதே சோதனையை சேவையகத்திலேயே உள்ள ஒரு சேவைக்கு எதிராக மீண்டும் செய்யுங்கள், ஏனெனில் அந்த ஓட்டம் ஓம்புநர் அடுக்கைக் கடக்கிறது, அதன் எண்ணி நகர்கிறது. இரு முடிவுகளையும் ஒப்பிடுவதே விடையைத் தருகிறது.
இரண்டு விவரங்கள் தவறான வாசிப்பைத் தடுக்கின்றன. சங்கிலி லேபிளில் எழுதப்பட்ட இடைமுகப் பெயர் தானாக எதையும் வடிகட்டுவதில்லை, ஏனெனில் பொருத்தம் விதிகளுக்குள் உள்ள இடைமுகப் புலங்களில் நடக்கிறது. மேலும் பாலமாக்கப்பட்ட அடுக்கு-2 வடிவமைப்பு மீண்டும் வேறுவிதமாக நடந்துகொள்கிறது: அங்கே வாடிக்கையாளர்கள் ஒரே ஒளிபரப்பு களத்தைப் பகிர்கிறார்கள், எனவே சக கண்டறிதல் எதிர்பார்க்கப்படுகிறது, வழிமாற்றல் குறைபாடு அல்ல.
சுவிட்ச் ஒரு அணுகல் பட்டியல் அல்ல
அரை நாள் எடுக்கும் பகுதி இதுதான். சக அனுப்பல் ஒரே இயக்கு-நிறுத்து அமைப்பாகும், அது இயக்கத்தில் இருக்கும்வரை டீமனே ஒரே அனுப்பல் புள்ளி. ஓம்புநர் தீச்சுவர் யார் யாரை அடையலாம் என்பதைச் சொல்ல முடியாது, ஒவ்வொரு வாடிக்கையாளருக்கான கோப்புகள் சுவிட்சைக் கொள்கை அணியாக மாற்றுவதில்லை.
ஒவ்வொரு சகவுக்கும் விதிகள் தேவைப்பட்டால், தேர்வு குறுக்குவழியை விட்டுக்கொடுப்பதற்கும் கட்டுப்பாடாக ஓம்புநர் தீச்சுவரை விட்டுக்கொடுப்பதற்கும் இடையே உள்ளது. அதை நிறுத்தினால் கர்னல் அனுப்பல் திரும்புகிறது, அதற்கு சேவையகத்தில் IP அனுப்பலை இயக்க வேண்டும், விரும்பிய ஓட்டங்களுக்கு வெளிப்படையான விதிகள் தேவை. இயக்கத்தில் வைத்தால் கொள்கை டீமனின் கட்டமைப்பில் வாழ்கிறது, இது நடைமுறையில் அனைத்து சகவும் அல்லது எந்தச் சகவும் இல்லை.
தங்கள் சொந்த முகவரிக் குளங்களும் துறைகளும் கொண்ட தனிச் சேவையக செயல்முறைகள் சாத்தியமான நடுப்பாதை. ஒவ்வொரு செயல்முறையும் சரியாக ஒரு அணுகல் முடிவைச் சுமக்கிறது, எனவே இரு குழுக்கள் கொள்கை அணி இல்லாமல் வெவ்வேறு விதிகளை வைத்திருக்கலாம். ஓம்புநர் விரும்பினால் குளங்களுக்கு இடையே வழிமாற்றலாம், அப்போது தீச்சுவர் அந்த ஓட்டங்களைக் காண்கிறது, ஏனெனில் அவை ஓம்புநரைக் கடக்கின்றன. விலை கூடுதல் துறைகள், கூடுதல் சான்றிதழ்கள் மற்றும் ஒவ்வொரு குழுவுக்கும் ஒரு சுயவிவரம்.
அனுப்பல் புள்ளியைத் தேர்ந்தெடுப்பது
தீச்சுவர் கொள்கை இயந்திரமாக இருக்கும்போது, ஒவ்வொரு ஓட்டத்திற்கும் பதிவு தேவைப்படும்போது, அல்லது கணக்கியல் முக்கியமாக இருக்கும்போது கர்னல் அனுப்பலைத் தேர்ந்தெடுங்கள். விலை ஓம்புநர் அடுக்கு வழியாக வெளியீடு மற்றும் பராமரிக்க அதிக விதிகள். நன்மை என்னவென்றால், எண்ணிகளிலிருந்து ஓட்ட ஏற்றுமதியாளர்கள் வரை இருக்கும் ஒவ்வொரு கருவியும் போக்குவரத்தை மீண்டும் விவரிக்கிறது. சிறிய சேவையகத்தில் இந்த விலை கண்ணுக்குத் தெரியாது; பரபரப்பான ரிலேயில் தெரியும்.
சக இணைப்புகளுக்கு இடையிலான போக்குவரத்து முழுவதும் அனுமதிக்கப்பட்டோ அல்லது முழுவதும் தடைசெய்யப்பட்டோ இருந்து, சேவையகம் அதற்கேற்ப அளவிடப்பட்டிருந்தால் செயல்முறைக்குள் அனுப்பலைத் தேர்ந்தெடுங்கள். விலை என்னவென்றால், எண்ணிகள், வரிசை ஒழுக்கங்கள் மற்றும் இணைப்புக் கண்காணிப்பு இனி உட்புற ஓட்டங்களை விவரிக்காது; பின்னர் யாரும் அவற்றைச் சார்ந்திருக்காவிட்டால் மட்டுமே இது ஏற்றுக்கொள்ளத்தக்கது.
நீங்கள் எதைத் தேர்ந்தெடுத்தாலும் அதை தீச்சுவர் விதிகளுக்குப் பக்கத்தில் எழுதுங்கள். சக இணைப்புகளுக்கு இடையிலான போக்குவரத்தை அனுமதிப்பதுபோல் தெரிந்தும் உண்மையில் டீமன் தீர்மானிக்கும் விதித்தொகுப்பு, தோல்வியடைந்த பரிமாற்றத்தைப் பிழைதிருத்தும் அடுத்த நபரைத் தவறாக வழிநடத்துகிறது. விதிகளை மட்டும் படிப்பவர் கர்னலே வாசல் என்று கருதுவார்.
விதிகளை மாற்றும் முன் என்ன சரிபார்க்க வேண்டும்
சேவையகம் உண்மையில் ஏற்றிய கட்டமைப்பைப் படியுங்கள், நீங்கள் திருத்தியதாக நினைவிருக்கும் கோப்பை அல்ல, சக விருப்பம் உள்ளதா என்பதை உறுதிசெய்யுங்கள். நீங்கள் அதை மாற்றியிருந்தால், சேவை வட்டில் கோப்பை மீண்டும் எழுதியதோடு நில்லாமல் மீண்டும் ஏற்றப்பட்டதை உறுதிசெய்யுங்கள்.
பின்னர் விதி எப்படியாவது பொருந்துகிறது என்பதை நிரூபிக்க வாடிக்கையாளரிலிருந்து சேவையகத்திற்கான ஓட்டத்துடன் சோதனையை மீண்டும் செய்யுங்கள், தள்ளப்பட்ட பாதைகளையும் சரிபாருங்கள், ஏனெனில் இல்லாத பாதை வாடிக்கையாளர் பக்கத்திலிருந்து தீச்சுவர் தடையைப் போலவே தெரிகிறது. எந்த அனுப்பல் புள்ளி முடிவைக் கொண்டுள்ளது என்று தெரிந்த பிறகே விதிகளின் வரிசையை மாற்றுங்கள்.