nftables: ड्रॉप हैंडल से पहले VPN अनुमति नियम डालें
nftables में, insert और add किसी हैंडल के विपरीत पक्षों पर नियम रखते हैं। ड्रॉप खोजें, पक्ष चुनें, फिर नियम-समूह बदलने से पहले फ़ाइल जाँचें।
अनुमति नियम को गलत जगह रखें तो वह बिल्कुल अनुपस्थित नियम की तरह व्यवहार करता है। nftables में insert और add के बीच का चुनाव तय करता है कि नया कथन संदर्भित नियम के किस पक्ष में बैठेगा, और हैंडल जीवंत नियम-समूह में नियम का नाम देता है, उसकी पंक्ति संख्या नहीं। जगह गलत होने पर पैकेट पहले ड्रॉप तक पहुँचता है।
नीचे दी गई तुलना एक स्थिर सहकर्मी और एक बाहरी श्रोता-अदला-बदली का उपयोग करती है। यह जानबूझकर संकरी है; पूरी श्रृंखला बदलना अलग जोखिम-प्रोफ़ाइल वाला दूसरा बदलाव है।
दो जगहें, दो अलग परिणाम
insert संदर्भित नियम से पहले नियम रखता है। add उसे बाद में रखता है। यदि संदर्भित नियम प्रवाह के लिए अंतिम ड्रॉप है, तो नियम का पाठ समान होने पर भी ये दो आदेश विपरीत परिणाम देते हैं।
स्थान छोड़ देने का अपना डिफ़ॉल्ट व्यवहार है, जो फ़ोरम से आदेश कॉपी न करने का एक और कारण है—बिना पढ़े कि वह किससे जुड़ा है। एंकर ही पूरा निर्णय है। आदेश लिखने से पहले इच्छित पक्ष लिख लें। फ़ाइल में insert और add एक शब्द के अंतर पर हैं।
स्थान किसी विशिष्ट श्रृंखला के नियम के सापेक्ष है। वही कथन दूसरी श्रृंखला या दूसरी hook प्राथमिकता में ले जाने से बदल जाता है कि वह किन पैकेटों को देखता है, तब भी जब नियम का वाक्यविन्यास सही लगे।
हैंडल नियम की पहचान है, पंक्ति संख्या नहीं
42 जैसा हैंडल वर्तमान नियम-समूह स्थिति में एक पहचानकर्ता है। यह बयालीसवाँ नियम नहीं है, और यह मेज़बानों, पुनर्निर्माणों या अपना कॉन्फ़िगरेशन फिर से लोड करने वाले प्रबंधक के बीच स्थिर नहीं है।
एंकर चुनने से पहले श्रृंखला और वास्तविक अंतिम ड्रॉप खोजें। फिर ड्रॉप दिखाने वाली उसी सूची में उस नियम पर हैंडल की पुष्टि करें, ताकि संख्या और नियम साथ पढ़े जाएँ। पुरानी सूची से पढ़ा हैंडल पहले से किसी दूसरे नियम का हो सकता है। बदलाव लागू करने वाले सत्र में उसे फिर पढ़ें।
iptables --version
nft -a list ruleset
iptables संस्करण बताता है कि कौन-सा बैकएंड उपयोग में है। iptables-nft नियम-समूह और स्वतंत्र रूप से प्रबंधित मूल तालिका साथ रह सकते हैं, इसलिए एक फ़्रंटएंड की सूची अपने आप पूरी फ़िल्टरिंग तस्वीर नहीं है। श्रृंखला चुनने से पहले दोनों दृश्य जाँचें।
वह श्रृंखला और नियम खोजें जो वास्तव में ड्रॉप करता है
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
स्वामी की नियंत्रित प्रक्रिया से लागू करें और पुनर्प्राप्ति पहुँच बनाए रखें। यदि नियम गलत है, तो जिस ड्रॉप से पहले आप आना चाहते थे वह उस पथ को भी काट सकता है जिसका उपयोग आप उसे ठीक करने के लिए करते हैं।
बदलाव के बाद नया स्वीकृत सहकर्मी प्रयास देखें और जाँचें कि स्वीकृत सहकर्मी के बाहर के स्रोत अब भी अस्वीकार हो रहे हैं। टिकाऊ नियम को उस प्रबंधक के पास ले जाएँ जो नियम-समूह का स्वामी है, क्योंकि रनटाइम हैंडल वर्तमान वस्तुओं का स्थान खोजते हैं, बूट के बीच उन्हें पहचानते नहीं।