nftables

Nftables ist die Weiterentwicklung von iptables.

Installation

apt install nftables

Dienst starten

systemctl enable --now nftables


Befehle

Liste alle Regel auf

nft list ruleset


Einfache nftables.conf

                                                                                                                                                                                 
#!/usr/sbin/nft -f

flush ruleset

table inet filter {
        chain input {
                type filter hook input priority 0;

                # Lokale Verbindungen immer akzeptieren
                iif lo accept

                # Akzeptiere bestehende Verbindungen
                ct state established,related accept

                # SSH Verbindung
                tcp sport >=1024 tcp dport 22 accept

                # Webserver Eingein
                tcp sport >=1024 tcp dport 443 accept
                tcp sport >=1024 tcp dport 80 accept

                # Openvpn
                udp sport >=1024 udp dport 42004 accept

                # Wireguard
                udp sport >=1024 udp dport 51820 accept

                # Verweigere den Rest und Logge dies
                log prefix "[nftables] Input Denied: " counter drop
        }

        chain forward {
                type filter hook forward priority 0;

                # Lokale Verbindungen immer akzeptieren
                iif lo accept

                log prefix "[nftables] Forward Denied: " counter drop
        }

        chain output {
                type filter hook output priority 0;
                # Lokale Verbindungen immer akzeptieren
                iif lo accept

                # Akzeptiere bestehende Verbindungen
                ct state established,related accept

                # Namensauflösung
                udp dport 53 ip daddr 8.8.8.8 accept
                udp dport 53 ip daddr 8.8.4.4 accept

                # http Ausgang
                tcp sport >=1024 tcp dport 80 accept
                tcp sport >=1024 tcp dport 443 accept

                # NTP Client
                udp dport 123 accept

                # Verweigere den Rest und Logge dies
                log prefix "[nftables] Output Denied: " counter drop
        }
}