Nftables: Difference between revisions

From MK Wiki EN
Jump to navigation Jump to search
No edit summary
 
Line 52: Line 52:
}
}
</code>
</code>
"flags interval" enables adding multiple elements, like subnets (127.0.0.0/8) or port ranges (8080-8099).


[[Category:Linux]]
[[Category:Linux]]

Latest revision as of 21:36, 16 February 2026

nftables superseeds iptables and related programs and should be used for new deployments of Linux based systems.

Documentation

Sets

table inet filter {

       # adding:   nft add element inet filter privileged_hosts { 1.2.3.4 }
       # removing: nft delete element inet filter privileged_hosts { 1.2.3.4 }
       set privileged_hosts {
               type ipv4_addr
               flags interval
               elements = { 1.2.3.5 }
       }
       
       set tcp_ports_always_allowed {
               type inet_service
               flags interval
               elements = { 80, 443 }
       }
       
       set tcp_ports_privileged {
               type inet_service
               flags interval
               elements = { 22 }
       }
       
       chain input {
               type filter hook input priority 0; policy drop;
               ct state established,related accept
               ct state invalid drop
               # loopback interface
               iifname lo accept
               iifname lxcbr0 accept
               tcp dport @tcp_ports_always_allowed accept
               tcp dport @tcp_ports_privileged ip saddr @privileged_hosts accept
               tcp dport @tcp_ports_always_allowed ip6 saddr $allow_ip6s accept
       }
       chain forward {
               type filter hook forward priority 0; policy accept;
       }
       chain output {
               type filter hook output priority 0; policy accept;
       }

}

"flags interval" enables adding multiple elements, like subnets (127.0.0.0/8) or port ranges (8080-8099).