நீங்கள் விதியைத் திருத்தினீர்கள், விதித் தொகுப்பை மீண்டும் ஏற்றினீர்கள், ஆனால் சுரங்கப்பாதை முன்பு போலவே செயல்படுகிறது. இந்த முடிவுக்கு இரண்டு பொதுவான காரணங்கள் உள்ளன, அவற்றுக்கு வெவ்வேறு சோதனைகள் தேவை. ஒன்று புதிய விதி ஏற்கனவே பாக்கெட்டை ஏற்றுக்கொண்ட முந்தைய விதிக்குப் பிறகு உள்ளது, அல்லது நீங்கள் கவனிக்கும் பரிமாற்றம் மாற்றம் ஒருபோதும் மறுமதிப்பீடு செய்யாத கண்காணிக்கப்பட்ட இணைப்பு. கோப்பில் உள்ள விதி நோக்கத்தை வெளிப்படுத்துகிறது; பாக்கெட்டைத் தீர்மானிப்பது அது சந்திக்கும் செயலில் உள்ள பாதை. கீழே உள்ள சரிபார்ப்புகளை வரிசையாகச் செய்யுங்கள், அவ்வாறு செய்யும்போது திரும்பும் வழியைத் திறந்து வைத்திருங்கள்.

விதிகளின் வரிசையும் இணைப்பு நிலையும் வெவ்வேறு கோளாறுகள்

வரிசைப்படுத்தப்பட்ட சங்கிலிகள் மேலிருந்து கீழாக மதிப்பிடப்படுகின்றன, இறுதித் தீர்ப்பை அடையும் முதல் விதி அந்தச் சங்கிலியின் வழியாகச் செல்வதை முடிக்கிறது. கவனமாக எழுதப்பட்ட பூட்டு விதிக்கு மேலே பரந்த அனுமதியை வைத்தால், அந்தப் பூட்டு விதி ஆவணமாக மாறும்: அது தொகுப்பில் உள்ளது, அதன் கணக்கு பூஜ்ஜியம், எந்தப் பாக்கெட்டும் ஒருபோதும் அதை அடையாது. அதே உரை வேறு சங்கிலியில் பயன்படுத்தப்பட்டாலும் எதையும் நிரூபிக்காது. nftables இல் அடிப்படைச் சங்கிலிகள் முன்னுரிமைகளில் கொக்கிகளுடன் இணைகின்றன, எனவே ஒரு சங்கிலியில் உள்ள அனுமதி வேறு கொக்கி அல்லது முன்னுரிமையில் உள்ள மற்றொரு சங்கிலி அதே பாக்கெட்டைப் பார்ப்பதைத் தடுக்காது.

இணைப்பு கண்காணிப்பு இரண்டாவது அறிகுறியை உருவாக்குகிறது, வெளியிலிருந்து அது அப்படியே தெரிகிறது. ஓட்டம் நிலை அட்டவணைக்கு வந்ததும், சங்கிலியின் உச்சிக்கு அருகிலுள்ள established-or-related அனுமதி உங்கள் புதிய விதி கருதப்படுவதற்கு முன்பே திரும்புகிறது. NAT மேப்பிங்குகளுக்கும் அதே பண்பு உள்ளது: ஓட்டம் தொடங்கியபோது மொழிபெயர்ப்பு நிர்ணயிக்கப்பட்டது, எனவே திருத்தப்பட்ட postrouting விதி ஏற்கனவே இயங்கும் அமர்வை மீண்டும் எழுதாது. அதனால்தான் 09:00 மணிக்கு புதிய இணைப்புக்கு மாற்றம் வேலை செய்வது போலவும், 08:55 மணிக்கு யாரோ திறந்த அமர்வுக்கு எதுவும் செய்யாதது போலவும் தெரிகிறது.

கிளவுட் பாதுகாப்புக் குழுக்கள் iptables இல் கற்றவர்களைப் பிடிக்கும் மூன்றாவது மாதிரியைச் சேர்க்கின்றன. அவற்றின் உள்வரும் விதிகள் முதல் பொருத்தத்தின் நடையாக அல்லாமல் தொகுப்பாக மதிப்பிடப்படும் அனுமதிப் பட்டியல், அவை நிலையுடன் செயல்படுகின்றன, அனுமதி விதியை நீக்குவது ஏற்கனவே கண்காணிக்கப்படும் ஓட்டங்களை நிறுத்தாது. அத்தகைய பொருள் இல்லாத தளத்தில் முதல் பொருத்தத்தின் பொருளைக் கருதுவது நம்பிக்கையான ஆனால் தவறான முடிவுகளுக்கு இட்டுச் செல்கிறது.

செயலில் உள்ள விதித் தொகுப்பைப் படியுங்கள், நீங்கள் திருத்திய கோப்பை அல்ல

கர்னல் இப்போது அமல்படுத்துவதிலிருந்து தொடங்குங்கள். ஒருபோதும் பயன்படுத்தப்படாத சேமிக்கப்பட்ட கட்டமைப்பு வியக்கத்தக்க அளவு மாறாத நடத்தைகளை விளக்குகிறது, அதை விலக்குவதற்கு ஒரே கட்டளை மட்டுமே தேவை:

nft list ruleset
iptables-save

பின்னர் உங்கள் விதி எட்டப்படுகிறதா என்று கேளுங்கள். பாக்கெட் கணக்குகள் அதற்கு நேரடியாகப் பதிலளிக்கின்றன, நோக்கம் பற்றிய எந்தச் சிந்தனையையும் விடச் சிறப்பாகப் பதிலளிக்கின்றன:

iptables -L FORWARD -v -n --line-numbers
nft list chain inet filter forward

உண்மையான சோதனை முயற்சிக்குப் பிறகு பூஜ்ஜிய பாக்கெட்டுகள் உள்ள பூட்டு விதி கொள்கைப் பிரச்சினை அல்ல, அது நிலைப் பிரச்சினை. அதை நகர்த்துவது ஒரு வரி மாற்றம், இலக்கணமே அசல் பிழையை ஏற்படுத்தியது. iptables இல் -I தொடக்கத்தில் செருகுகிறது, -A முடிவில் சேர்க்கிறது; nftables இல் insert விதியைச் சங்கிலியின் தொடக்கத்தில் வைக்கிறது, add முடிவில் சேர்க்கிறது. ஒரு விதி வெல்ல வேண்டும் என்றால், தற்செயலாக ஏற்றப்பட்ட வரிசையை நம்புவதற்குப் பதிலாக அதை வெளிப்படையாகச் சொல்லுங்கள்.

ஓட்டம் கண்காணிக்கப்படுகிறதா என நிரூபியுங்கள்

விதியைக் குறை கூறுவதற்கு முன், போக்குவரத்து உண்மையில் கண்காணிக்கப்பட்ட இணைப்பா என்று சரிபாருங்கள். முழு நிலை அட்டவணையையும் கொட்டுவதற்குப் பதிலாக குறிப்பிட்ட ஓட்டத்தைப் பற்றிக் கேளுங்கள்:

conntrack -L -p tcp --dport 1194
conntrack -E -p tcp --dport 1194

பட்டியல் நிலையையும் மீதமுள்ள நேர வரம்பையும் காட்டுகிறது, இப்படித்தான் நிறுவப்பட்ட அமர்வைப் புதிய முயற்சியிலிருந்து வேறுபடுத்துகிறீர்கள்; நிகழ்வு முறை நடக்கும்போதே புதுப்பிப்புகளை அச்சிடுகிறது, இது வாடிக்கையாளரை மீண்டும் இணைக்கும்போது பயனுள்ளது. நீங்கள் எதையும் தொடுவதற்கு முன்பே ஓட்டம் நிறுவப்பட்ட நிலையில் இருந்தால், வடிகட்டி விதிகளின் எந்தத் திருத்தமும் அதன் தலைவிதியை மாற்றாது. இது ஃபயர்வாலில் உள்ள பிழை அல்ல, இது நிலையுடன் கூடிய வடிகட்டலின் ஒப்பந்தம்.

உற்பத்தி நுழைவாயிலில் முழு அட்டவணையையும் காலியாக்கும் குறுக்குவழியை எதிருங்கள். conntrack -F கிடைக்கிறது, அது இயந்திரத்தில் உள்ள ஒவ்வொரு கண்காணிக்கப்பட்ட ஓட்டத்தையும் அழிக்கிறது, நீங்கள் வேலை செய்யும் நிர்வாக அமர்வு மற்றும் உங்கள் ஷெல்லை ஏந்தும் சுரங்கப்பாதை உட்பட. உண்மையில் தேவைப்படும்போது தனிப்பட்ட பதிவுகளை நீக்கலாம், ஆனால் புதிய மூல துறையிலிருந்து புதிய ஓட்டம் வழக்கமாகத் தூய்மையான பரிசோதனை.

சில பாதைகள் கண்காணிக்கப்படுவதில்லை, அவை எதிர்மாறாக நடந்துகொள்ளும். raw அட்டவணையில் notrack எனக் குறிக்கப்பட்ட போக்குவரத்து, வழக்கமான கொக்கிகளைத் தவிர்க்கும் சில சுரங்கப்பாதைகள், ஓட்டத்தை இரண்டு நுழைவாயில்களுக்கு இடையே பிரிக்கும் சமச்சீரற்ற வழியமைப்பு — அனைத்தும் ஒவ்வொன்றாக மதிப்பிடப்படும் பாக்கெட்டுகளையோ இரு முனைகளிலும் ஒருபோதும் உருவாகாத நிலையையோ உருவாக்குகின்றன. ஒவ்வொரு பாக்கெட்டிலும் கணக்குகள் நகர்ந்தால், வரிசையைச் சந்தேகிப்பதற்கு முன் அத்தகைய பாதையைச் சந்தேகியுங்கள்.

திரும்பும் வழியுடன் புதிய ஓட்டத்திலிருந்து சோதியுங்கள்

தொலை அணுகலைத் துண்டிக்கக்கூடிய விதியைச் சோதிப்பதற்கு முன் மீட்புப் பாதையை உருவாக்குங்கள்: வழங்குநரின் பணியகம், தொடர் பணியகம், பட்டைக்கு வெளியேயான நிர்வாக முகவரி, அல்லது விதி பொருந்த முடியாத இரண்டாவது இடைமுகம். மீளமைப்பு நேரங்காட்டி பொருத்தமான துணை, ஏனெனில் சோதனையின் நடுவில் உங்கள் அமர்வு இறந்தாலும் அது முந்தைய விதித் தொகுப்பை மீட்டெடுக்கும்.

பின்னர் நிலை ஏற்கனவே மூட முடியாத பரிமாற்றத்துடன் சோதியுங்கள். வாடிக்கையாளரைத் துண்டித்து மீண்டும் இணைத்து புதிய ஐந்து தொகுப்பு உருவாகட்டும், அது நடக்கும்போது இரு முனைகளையும் கவனியுங்கள்:

tcpdump -ni eth0 'tcp port 1194'
journalctl -k -n 50 --no-pager

சோதனையை இரு திசைகளிலும் நடத்துங்கள். புதிய உள்வரும் கைக்குலுக்கலைத் தடுக்கும் விதி பதில் பாதையை இன்னும் அனுமதிக்கலாம், அல்லது நேர்மாறாகவும் இருக்கலாம், ஒரு திசை முடிவே பூட்டு பாதி வேலை செய்வதற்கான வழக்கமான காரணம். சோதனைக்குப் பிறகு நிலையான நிலையை உறுதிப்படுத்த மீண்டும் ஒருமுறை இணையுங்கள், சட்டபூர்வ நிர்வாக அணுகல் தப்பிப் பிழைத்ததா என்று பாருங்கள்; ஒரு துறைக்கு எழுதப்பட்ட விதி நோக்கத்தை விட பரந்த வரம்புடன் பொருந்தும் பழக்கத்தைக் கொண்டுள்ளது.

விதியுடன் நோக்கத்தையும் இடத்தையும் பதிவு செய்யுங்கள்

பதிவு செய்யப்பட்ட நோக்கம் இல்லாத விதி யாரும் நீக்கத் துணியாத விதி. ஒவ்வொரு பூட்டுப் பதிவுடனும் அது பாதுகாக்கும் ஓட்டம், அது வாழும் சங்கிலி மற்றும் கொக்கி, பரந்த அனுமதிகளுக்கு எதிராக அது வைத்திருக்க வேண்டிய இடம், அதை நிரூபித்த சோதனை ஆகியவற்றை வைத்திருங்கள். ஆறு மாதங்களுக்குப் பிறகு யாராவது சுற்றியுள்ள விதித் தொகுப்பைத் திருத்தும்போது, அந்தக் குறிப்பே இடம் வேண்டுமென்றே இருந்தது என்பதற்கான ஒரே எச்சரிக்கையாக இருக்கும்.

மாற்றத்தை மூடுவதற்கு முன் நான்கு விஷயங்களை உறுதிப்படுத்துங்கள்: இயங்கும் விதித் தொகுப்பு கோப்புடன் பொருந்துகிறது, புதிய முயற்சிக்குப் பிறகு புதிய விதிக்கு பூஜ்ஜியமல்லாத கணக்குகள் உள்ளன, எதிர் திசையும் நிர்வாக அணுகலும் இன்னும் வேலை செய்கின்றன, மாற்றத்திற்கு முந்தைய அமர்வின் நிலையை அல்ல, நிலையான நிலையை நிரூபிக்க ஒருமுறை மீண்டும் இணைந்தீர்கள். இவற்றில் ஏதேனும் சரிபார்க்கப்படவில்லை என்றால், சுரங்கப்பாதை என்ன செய்தாலும் மாற்றம் முடியவில்லை.

தொடர்புடைய கட்டுரைகள்