Nftables : मूल परिचालन2023/09/20 |
यह Nftables का मूल संचालन है।
|
|||||||||||||||
[1] |
कई स्तरों की नेटवर्किंग को एनएफटीएबल्स आर्किटेक्चर पर परिवारों में निम्नानुसार सारगर्भित किया गया है।
|
[2] |
nftables पर डिफ़ॉल्ट रूप से कोई फ़िल्टरिंग नियम नहीं है, इसलिए तालिकाएँ बनाने से शुरुआत करें।
⇒ nft add table [family] [table name]
|
# नियम-सेट दिखाएं (डिफ़ॉल्ट रूप से कोई फ़िल्टरिंग नियम नहीं) root@dlp:~# nft list ruleset table inet filter { chain input { type filter hook input priority filter; policy accept; } chain forward { type filter hook forward priority filter; policy accept; } chain output { type filter hook output priority filter; policy accept; } } # उपरोक्त डिफ़ॉल्ट नियम को फ्लश करें और [inet] परिवार में [firewall01] तालिका जोड़ें root@dlp:~# nft flush ruleset root@dlp:~# nft add table inet firewall01 # [inet] परिवार की तालिकाएँ दिखाएँ root@dlp:~# nft list tables inet table inet firewall01 # नियम-सेट दिखाएँ root@dlp:~# nft list ruleset table inet firewall01 { } # किसी तालिका को हटाने के लिए, निम्नानुसार चलाएँ root@dlp:~# nft delete table inet firewall01 |
[3] |
इसके बाद, तालिकाओं में चेन जोड़ें।
⇒ nft add chain [family] [table name] [chain name] { type [type] hook [hook} priority [priority] \; }
उपलब्ध [type]s और [hook]s इस प्रकार हैं। [priority] के लिए, यह सामान्य पूर्णांक मान है और छोटा मान उच्च प्राथमिकता है।
|
# [filter] प्रकार, [input] हुक, [0] प्राथमिकता के साथ # add [filter_INPUT] chain to [firewall01] table in [inet] family root@dlp:~# nft add chain inet firewall01 filter_INPUT { type filter hook input priority 0 \;}
nft list ruleset table inet firewall01 { chain filter_INPUT { type filter hook input priority filter; policy accept; } } # किसी श्रृंखला को हटाने के लिए, निम्नानुसार चलाएँ root@dlp:~# nft delete chain inet firewall01 filter_INPUT root@dlp:~# nft list ruleset table inet firewall01 { } |
[4] | टेबल और चेन जोड़ने के बाद, उनके लिए नियम निर्धारित करें। |
root@dlp:~# nft list ruleset table inet firewall01 { chain filter_INPUT { type filter hook input priority filter; policy accept; } } # उदाहरण के लिए, पैकेट को अनुमति देने के लिए एक नियम जोड़ें जो बताता है कि कनेक्शन [related, establised] root@dlp:~# nft add rule inet firewall01 filter_INPUT ct state related,established accept
nft list table inet firewall01 table inet firewall01 { chain filter_INPUT { type filter hook input priority filter; policy accept; ct state established,related accept } } # उदाहरण के लिए, पैकेट को लूपबैक इंटरफ़ेस की अनुमति देने के लिए एक नियम जोड़ें root@dlp:~# nft add rule inet firewall01 filter_INPUT iif lo accept
nft list table inet firewall01 table inet firewall01 { chain filter_INPUT { type filter hook input priority filter; policy accept; ct state established,related accept iif "lo" accept } } # उदाहरण के लिए, ऊपर दिए गए अनुमति प्राप्त पैकेटों को छोड़कर अन्य पैकेटों को छोड़ने का नियम जोड़ें root@dlp:~# nft add rule inet firewall01 filter_INPUT drop
nft -a list table inet firewall01 table inet firewall01 { # handle 5 chain filter_INPUT { # handle 1 type filter hook input priority filter; policy accept; ct state established,related accept # handle 2 iif "lo" accept # handle 3 drop # handle 4 } } # उदाहरण के लिए, पैकेट को [new, untracked] कनेक्शन स्थिति के साथ 22 पोर्ट पर अनुमति देने के लिए लाइन [हैंडल 3] के आगे एक नियम जोड़ें root@dlp:~# nft add rule inet firewall01 filter_INPUT handle 3 tcp dport 22 ct state { new,untracked } accept
nft -a list table inet firewall01
table inet firewall01 { # handle 5 chain filter_INPUT { # handle 1 type filter hook input priority filter; policy accept; ct state established,related accept # handle 2 iif "lo" accept # handle 3 tcp dport 22 ct state { new, untracked } accept # handle 6 drop # handle 4 } } #उदाहरण के लिए, लाइन [हैंडल 6] के आगे एक नियम जोड़ें ताकि पैकटेस को अनुमति मिल सके कि मेटाडेटा [icmp,ipv6-icmp] है root@dlp:~# nft add rule inet firewall01 filter_INPUT handle 6 meta l4proto { icmp,ipv6-icmp } accept
nft -a list table inet firewall01 table inet firewall01 { # handle 5 chain filter_INPUT { # handle 1 type filter hook input priority filter; policy accept; ct state established,related accept # handle 2 iif "lo" accept # handle 3 tcp dport 22 ct state { new, untracked } accept # handle 6 meta l4proto { icmp, ipv6-icmp } accept # handle 8 drop # handle 4 } } # किसी नियम को हटाने के लिए, उस पंक्ति की [हैंडल] संख्या निर्दिष्ट करें जिसे आप हटाना चाहते हैं और नीचे दिए गए आदेश को चलाएँ root@dlp:~# nft delete rule inet firewall01 filter_INPUT handle 6
nft -a list table inet firewall01 table inet firewall01 { # handle 5 chain filter_INPUT { # handle 1 type filter hook input priority filter; policy accept; ct state established,related accept # handle 2 iif "lo" accept # handle 3 meta l4proto { icmp, ipv6-icmp } accept # handle 8 drop # handle 4 } } |
Sponsored Link |