nftables: మరింత సంక్లిష్ట నియమాలు
ufw సరిపోకపోయినప్పుడు: nftables టేబుల్స్ మరియు చైన్ల నిర్మాణం, సిద్ధంగా ఉపయోగించగల వర్కింగ్ కాన్ఫిగ్, అడ్రస్ సెట్లు, రేట్ లిమిటింగ్, పోర్ట్ ఫార్వార్డింగ్.
23 ఆగస్టు, 2026న నవీకరించబడింది
nftables అనేది ufw పనిచేసే అత్యంత కెర్నల్ మెకానిజం. మీకు నామమున్న అడ్రస్ సెట్లు, రేట్ లిమిటింగ్, ప్రతి ఇంటర్ఫేస్కు వేర్వేరు పాలసీలు, లేదా పోర్ట్ ఫార్వర్డింగ్ అవసరమైనప్పుడు — అంటే, మీ రూల్స్ “ఒక పోర్ట్ను అనుమతించు” అనే దానిలో ఇమడనప్పుడు — మీరు దీన్ని నేరుగా ఉపయోగించాలి.
రెండు టూల్స్ను ఒకేసారి ఉపయోగించాల్సిన అవసరం లేదు: మారే ముందు ufw disable తో ufw ను ఆఫ్ చేయండి, లేకపోతే రూల్స్ ఒకదానిపై ఒకటి overlap అయ్యి డీబగ్గింగ్ సమయంలో మిమ్మల్ని గందరగోళపరుస్తాయి.
నిర్మాణం
రూల్స్ టేబుల్స్లో ఉంటాయి, టేబుల్స్ చైన్స్ను కలిగి ఉంటాయి, చైన్స్ రూల్స్ను కలిగి ఉంటాయి. ఒక చైన్ ప్యాకెట్ ప్రాసెసింగ్ దశ (input, forward, output) కు కట్టుబడి ఉంటుంది మరియు ఒక డిఫాల్ట్ పాలసీని కలిగి ఉంటుంది.
apt install -y nftables
systemctl enable --now nftables
nft list ruleset
పనిచేసే కాన్ఫిగ్
ఫైల్ /etc/nftables.conf:
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
set admins {
type ipv4_addr
elements = { 203.0.113.5, 198.51.100.7 }
}
chain input {
type filter hook input priority 0; policy drop;
iif lo accept
ct state established,related accept
ct state invalid drop
ip protocol icmp icmp type echo-request limit rate 5/second accept
tcp dport 22 ip saddr @admins accept
tcp dport 22 ct state new limit rate 6/minute accept
tcp dport { 80, 443 } accept
}
chain forward {
type filter hook forward priority 0; policy drop;
}
chain output {
type filter hook output priority 0; policy accept;
}
}
వర్తింపజేయండి మరియు సేవ్ చేయండి:
nft -c -f /etc/nftables.conf
nft -f /etc/nftables.conf
systemctl restart nftables
-c ఫ్లాగ్ రూల్స్ను వర్తింపజేయకుండా సింటాక్స్ను మాత్రమే తనిఖీ చేస్తుంది. దీన్ని ఎప్పుడూ ఉపయోగించండి: టైపో ఉన్న drop పాలసీ యాక్సెస్ను కట్ చేస్తుంది, అప్పుడు మీరు /hosting/vds/m/<id> ప్యానెల్లోని కన్సోల్ ద్వారా తిరిగి లోపలికి రావాల్సి ఉంటుంది.
అడ్రస్ సెట్లు మరియు రేట్ లిమిటింగ్
ఒక నామమున్న సెట్ రూల్స్ను రీలోడ్ చేయకుండా, అక్కడికక్కడే ఎడిట్ చేయబడుతుంది:
nft add element inet filter admins { 192.0.2.10 }
nft delete element inet filter admins { 198.51.100.7 }
nft list set inet filter admins
టైమౌట్ ఉన్న డైనమిక్ సెట్ కస్టమ్ బ్లాక్స్కు ఉపయోగపడుతుంది:
set blocked {
type ipv4_addr
flags timeout
timeout 1h
}
ఫార్వర్డింగ్ మరియు అడ్రస్ ప్రతిక్షేపణ
లోపల ఒక కంటైనర్ లేదా టన్నెల్ నడుస్తున్నప్పుడు ఇది అవసరం:
table ip nat {
chain prerouting {
type nat hook prerouting priority -100;
tcp dport 8443 dnat to 10.10.0.2:443
}
chain postrouting {
type nat hook postrouting priority 100;
oifname "eth0" masquerade
}
}
సాధారణ తప్పులు
| తప్పు | పరిణామం | పరిష్కారం |
|---|---|---|
ct state established రూల్ లేకపోవడం | బయటకు వెళ్లే రిక్వెస్ట్లకు వచ్చే రిప్లైలు కట్ అవుతాయి | దీన్ని మొదటి రూల్గా జోడించండి |
iif lo accept మరచిపోవడం | లోకల్ సర్వీసులు మరియు డేటాబేస్లు పనిచేయవు | లూప్బ్యాక్ ఇంటర్ఫేస్ను అనుమతించండి |
| రూల్స్ వర్తింపజేయబడ్డాయి కానీ సేవ్ చేయలేదు | రీబూట్ తర్వాత అంతా ఓపెన్గా ఉంటుంది | /etc/nftables.conf లో రాయండి |
| ufw మరియు nftables కలిసి | ఊహించలేని ఫలితం | ఒక టూల్ను మాత్రమే ఉంచండి |
మీరు పనిచేస్తున్న సెషన్ను మూసివేయకుండా కొత్త రూల్సెట్ను వేరే సెషన్లో టెస్ట్ చేయండి. ఒక సులభమైన రక్షణ: బ్యాక్గ్రౌండ్లో
sleep 300 && nft flush ruleset— మీరు మిమ్మల్ని మీరే లాక్ అవుట్ చేసుకుంటే, యాక్సెస్ దానంతట అదే తిరిగి వస్తుంది.
మీకు ఈ వివరాలు అవసరం లేకపోతే, ufw కు తిరిగి వెళ్లండి: ఇది చాలా పనులను కవర్ చేస్తుంది.