Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


fortgeschrittene:nftables

Dies ist eine alte Version des Dokuments!


nftables beobachten

watch -d nft -a list ruleset

nftables Regeln zurücksetzen/löschen

nft flush ruleset

counter zurücksetzen

auf die harte Tour: alle aktuellen Regeln löschen und neu einlesen:

(echo 'flush ruleset'; nft -s list ruleset) | nft -f -

erste nftables Regeln

iptables-ähnliche Tabellen und Chains anlegen

interaktiv

1)

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

2)

add table ip nat
add chain ip nat prerouting { type nat hook prerouting priority dstnat; }
add chain ip nat postrouting { type nat hook postrouting priority srcnat; } 

mit Konfigurationsdatei

Erste Zeile flush ruleset beachten, sonst werden die Regeln hinzugefügt.

nftables.conf
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

nftables Regeln debuggen

counter nutzen

accept, drop oder reject jeweils counter voran stellen: counter accept, counter drop oder counter reject und Regeln wie oben beschrieben mit watch -d nft -a list ruleset beobachten.

Lauf von Paketen nachverfolgen/tracen

Trace-Regel hinzufügen:

nft insert rule inet filter input iifname eth0 nftrace set 1

Pakete anzeigen:

nft monitor trace

aktuelle nftables Regeln speichern

nft -s flush ruleset > /etc/nftables.conf

nftables Regeln aus Datei laden

nft -f /etc/nftables.conf

nft Syntax

action object family
create ruleset inet
add table(s) ip
delete chain(s) ip6
rename rule
list
flush
insert
replace

3)

Doku

1)
TODO: kann ich das inet weglassen? Oder kriege ich dann ip?
2)
Since Linux kernel 5.2, there is support for performing stateful NAT in inet family chains: http://wiki.nftables.org/wiki-nftables/index.php/Performing_Network_Address_Translation_(NAT)
3)
inspiriert von:
fortgeschrittene/nftables.1663163182.txt.gz · Zuletzt geändert: 2022/09/14 13:46 von ingo_wichmann