परवानगीचा नियम चुकीच्या ठिकाणी ठेवला तर तो नियमच नसल्यासारखा वागतो। nftables मध्ये insert आणि add मधील निवड नवे विधान संदर्भित नियमाच्या कोणत्या बाजूला बसेल हे ठरवते, आणि हँडल जिवंत नियमसंचात नियमाला नाव देते, त्याच्या ओळ क्रमांकाला नाही। जागा चुकीची असल्यास पॅकेट प्रथम ड्रॉपपर्यंत पोहोचते।

खालील तुलना एक स्थिर पीअर आणि एक बाह्य श्रोता-देवाणघेवाण वापरते। ती जाणूनबुजून अरुंद आहे; संपूर्ण साखळी बदलणे हा वेगळ्या जोखीम प्रोफाइलचा दुसरा बदल आहे।

दोन जागा, दोन वेगळे परिणाम

insert संदर्भित नियमापूर्वी नियम ठेवते। add तो त्यानंतर ठेवते। संदर्भित नियम प्रवाहासाठी अंतिम ड्रॉप असल्यास, नियमाचा मजकूर एकसारखा असूनही हे दोन आदेश विरुद्ध परिणाम देतात।

जागा वगळण्याचे स्वतःचे मूलभूत वर्तन असते, जे नियम कशाला जोडलेला आहे हे न वाचता फोरमवरून आदेश कॉपी न करण्याचे आणखी एक कारण आहे। अँकर हाच संपूर्ण निर्णय आहे। आदेश लिहिण्यापूर्वी इच्छित बाजू लिहून ठेवा। फाइलमध्ये insert आणि add एका शब्दाने वेगळे आहेत।

जागा विशिष्ट साखळीतील नियमाच्या सापेक्ष असते। तेच विधान दुसऱ्या साखळीत किंवा दुसऱ्या hook प्राधान्यात हलवल्यास ते कोणते पॅकेट पाहते हे बदलते, नियमाची वाक्यरचना बरोबर दिसली तरी।

हँडल नियम ओळखते, ओळ क्रमांक नाही

42 सारखे हँडल सध्याच्या नियमसंच स्थितीतील ओळखकर्ता आहे। तो बेचाळिसावा नियम नाही, आणि यजमान, पुनर्निर्मिती किंवा स्वतःची संरचना पुन्हा लोड करणाऱ्या व्यवस्थापकादरम्यान तो स्थिर नाही।

अँकर निवडण्यापूर्वी साखळी आणि प्रत्यक्ष अंतिम ड्रॉप शोधा। नंतर ड्रॉप दाखवणाऱ्या त्याच यादीत त्या नियमावरील हँडलची पुष्टी करा, जेणेकरून क्रमांक आणि नियम एकत्र वाचले जातील। जुन्या यादीतून वाचलेले हँडल आधीच दुसऱ्या नियमाचे असू शकते। बदल लागू करणाऱ्या सत्रात ते पुन्हा वाचा।

iptables --version
nft -a list ruleset

iptables आवृत्ती कोणता backend वापरात आहे ते सांगते। iptables-nft नियमसंच आणि स्वतंत्रपणे व्यवस्थापित मूळ तक्ता एकत्र राहू शकतात, म्हणून एका frontendची यादी आपोआप संपूर्ण फिल्टरिंग चित्र नसते। साखळी निवडण्यापूर्वी दोन्ही दृश्ये तपासा।

प्रत्यक्षात ड्रॉप करणारी साखळी आणि नियम शोधा

input hook, साखळीचे प्राधान्य आणि हा श्रोता-प्रवाह नाकारणारा नियम वाचा। inet तक्ता दोन्ही पत्ता कुटुंबे धारण करू शकतो, पण वैयक्तिक नियम अजूनही फक्त IPv4शी जुळू शकतो।

एक मंजूर पीअर घ्या, उदाहरण म्हणून दस्तऐवजीकरण श्रेणीतील 198.51.100.25 वापरून। पुनरावलोकित मूळ फाइल हँडल 42पूर्वी बाह्य परवानगी ठेवू शकते:

insert rule inet filter input handle 42 iifname "eth0" ip saddr 198.51.100.25 udp dport { 500, 4500 } counter accept

तपासणीनंतर कुटुंब, तक्ता, साखळी, हँडल, प्रवेश इंटरफेस आणि पीअर बदला। उदाहरण nft 1.0.9 साठी दस्तऐवजीकृत हँडल-स्थान स्वरूप वापरते, आणि ते input फाइलमध्ये येते; आदेश संवादात्मकपणे लिहिला जातो तेव्हा कंसांचे अवतरण वेगळा विषय आहे।

संरचनेचा मालक स्पष्ट ठेवा। स्वतःचे नियम पुन्हा बांधणारा व्यवस्थापक रनटाइम संपादनावर लिहू शकतो, आणि जुने हँडल हार्डकोड करणारी बूट स्क्रिप्ट एकतर अयशस्वी होईल किंवा चुकीच्या नियमाला जोडली जाईल।

परवानगी मर्यादित आहे, ड्रॉप अंतिम आहे

परवानगीचा निर्णय आपल्या सध्याच्या मार्गात मूल्यांकन संपवतो, पण नंतर लागू होणारी आधार साखळी अजूनही पॅकेट ड्रॉप करू शकते। ड्रॉपचा निर्णय अंतिम आहे। म्हणून वाढणारा परवानगी काउंटर प्रवाह यशस्वी झाल्याचा पुरावा नाही।

एका साखळीची वेगळी तपासणी करण्याऐवजी सर्व संबंधित hook प्राधान्ये तपासा। पॅकेट input फिल्टर पार करूनही दुसऱ्या तक्त्याच्या hookकडून वेगळ्या प्राधान्यावर नाकारले जाऊ शकते। प्रवाह पाहू शकणारी प्रत्येक आधार साखळी यादीत घ्या।

तो नियम फक्त बाह्य श्रोता-देवाणघेवाण व्यापतो। ट्रान्सपोर्ट-एन्कॅप्स्युलेटेड ESP, मूळ ESP, IPv6 पीअर आणि बोगद्यातील डिक्रिप्ट झालेला रहदारी—सर्वांना स्वतःची धोरणे लागतात। हे संपूर्ण साइट VPN फायरवॉल नाही।

फाइल तपासा, नंतर जिवंत परिणाम सत्यापित करा

लागू करण्यापूर्वी पुनरावलोकित फाइलवर वाक्यरचना आणि व्यवहार तपासणी चालवा। तपासणी मोड nft बदल पार्स करून तयार करू शकतो का ते सांगतो; तो तो लागू करत नाही आणि दुसरा hook पॅकेटला परवानगी देईल याचा पुरावा देत नाही। मालक लागू करेपर्यंत फाइल प्रस्ताव राहते:

nft -c -f reviewed-vpn-rule.nft

मालकाच्या नियंत्रित प्रक्रियेद्वारे लागू करा आणि पुनर्प्राप्ती प्रवेश राखा। नियम चुकीचा असल्यास, ज्या ड्रॉपपूर्वी तुम्हाला जायचे होते तो तुम्ही दुरुस्तीसाठी वापरता तो मार्गही कापू शकतो।

बदलानंतर नवीन मंजूर पीअर प्रयत्न पाहा आणि मंजूर पीअरबाहेरील स्रोत अजूनही नाकारले जात असल्याची खात्री करा। टिकाऊ नियम ज्या व्यवस्थापकाकडे नियमसंच आहे त्या व्यवस्थापकाकडे हलवा, कारण रनटाइम हँडल सध्याच्या वस्तू शोधतात, बूटदरम्यान त्यांना ओळखत नाहीत।

संबंधित लेख