watch -d nft -a list table inet filter
watch -d nft -a list ruleset
nft flush ruleset
nft -ia
add table inet filter
add chain inet filter input { type filter hook input priority filter; }
add chain inet filter forward { type filter hook forward priority filter; }
add chain inet filter output { type filter hook output priority filter; }
add table inet nat
add chain inet nat prerouting { type nat hook prerouting priority dstnat; }
add chain inet nat postrouting { type nat hook postrouting priority srcnat; } 
flush ruleset
table inet filter {
        chain input {
                type filter hook input priority filter;
        }
        chain forward {
                type filter hook forward priority filter;
        }
        chain output {
                type filter hook output priority filter;
        }
}
table inet nat {
        chain prerouting {
                type nat hook prerouting priority dstnat;
        }
        chain postrouting {
                type nat hook postrouting priority srcnat;
        }
}
nft -f nftables.conf
nft -ia
insert rule inet filter input tcp dport { 80, 3128 } drop
Alternativ, mit named sets:
nft -ia
add set inet filter port_blacklist { type inet_service; }
add element inet filter port_blacklist { 80, 3128 }
replace rule inet filter input handle 7 tcp dport @port_blacklist drop
nft -ia delete rule inet filter input handle 7
accept, drop oder reject jeweils counter voran stellen: counter accept, counter drop oder counter reject
Beispiel:
nft -ia
replace rule inet filter input handle 7 tcp dport { 80, 3128 } counter reject with tcp reset
alle counter beobachten:
watch -d nft -a list ruleset
gezielter nur die counter einer Chain beobachten:
watch -d nft -a list chain inet filter input
auf die harte Tour: alle aktuellen Regeln löschen und neu einlesen:
(echo 'flush ruleset'; nft -s list ruleset) | nft -f -
nft -ia add rule inet filter input log prefix "input accept"
geloggte Pakete anzeigen:
dmesg -Tw
Trace-Regel hinzufügen:
nft insert rule inet filter input iifname eth0 nftrace set 1
Pakete anzeigen:
nft monitor trace
nft -s list ruleset > /etc/nftables.conf
nft -f /etc/nftables.conf
| action | object | family | 
|---|---|---|
| create | ruleset | inet | 
| add | table(s) | ip | 
| delete | chain(s) | ip6 | 
| rename | rule | |
| list | set | |
| flush | ||
| insert | ||
| replace | 
watch -d nft -a list table inet filter