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

nft -ia
add table inet filter
add chain inet filter input { type filter hook input priority 0; policy accept; }
add chain inet filter forward { type filter hook forward priority 0; policy accept; }
add chain inet filter output { type filter hook output priority 0; policy accept; }

1)

add table ip nat
add chain ip nat prerouting { type nat hook prerouting priority -100; }
add chain ip nat postrouting { type nat hook postrouting priority 100; }

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 0; policy accept;
        }
        chain forward {
                type filter hook forward priority 0; policy accept;
        }
        chain output {
                type filter hook output priority 0; policy accept;
        }
}
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 ip
delete chain ip6
rename rule
list
flush
insert
replace

2)

Doku

1)
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)
2)
inspiriert von:
fortgeschrittene/nftables.1579498700.txt.gz · Zuletzt geändert: 2020/01/20 05:38 von ingo_wichmann