nftables is de opvolger van iptables en is standaard beschikbaar op moderne Linux-distributies zoals Debian 12, Ubuntu 22.04 en Fedora. De syntax is overzichtelijker en de prestaties zijn beter dankzij één kernel-interface voor IPv4 én IPv6.
sudo apt install nftables # Debian/Ubuntu
sudo systemctl enable --now nftables
sudo nft list ruleset
Na een verse installatie is de ruleset leeg.
Sla het volgende op als /etc/nftables.conf:
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
# Bestaande verbindingen toestaan
ct state established,related accept
# Loopback altijd toestaan
iif lo accept
# SSH openhouden
tcp dport 22 accept
# HTTP en HTTPS
tcp dport { 80, 443 } accept
# ICMP (ping)
ip protocol icmp accept
ip6 nexthdr icmpv6 accept
}
chain forward {
type filter hook forward priority 0; policy drop;
}
chain output {
type filter hook output priority 0; policy accept;
}
}
Laad de configuratie:
sudo nft -f /etc/nftables.conf
sudo nft add rule inet filter input tcp dport 8080 accept
Dit is niet persistent — na een herstart vervalt de regel. Voeg de regel toe aan /etc/nftables.conf voor een permanente instelling.
sudo nft add rule inet filter input ip saddr 203.0.113.5 drop
sudo nft list ruleset > /etc/nftables.conf # opslaan
sudo systemctl restart nftables # herladen
| iptables | nftables |
|---|---|
iptables -A INPUT -p tcp --dport 22 -j ACCEPT | nft add rule inet filter input tcp dport 22 accept |
| Aparte commando's voor IPv4/IPv6 | Één tabel voor beide |
| Geen ingebouwde sets | Sets en mappen ingebouwd |
Voor bestaande iptables-regels biedt het pakket iptables-translate een automatische vertaaltool.