Nftables

From MK Wiki EN
Revision as of 21:32, 16 February 2026 by MkWikiEnSysOp (talk | contribs)
Jump to navigation Jump to search

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;
       }

}