Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


fortgeschrittene:nftables

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
fortgeschrittene:nftables [2022/09/14 16:03]
ingo_wichmann [erste tcp-Ports schließen]
fortgeschrittene:nftables [2023/12/27 11:31] (aktuell)
ingo_wichmann [interaktiv]
Zeile 6: Zeile 6:
 ====== nftables Regeln zurücksetzen/​löschen ====== ====== nftables Regeln zurücksetzen/​löschen ======
   nft flush ruleset   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 ===== ====== erste nftables Regeln =====
 ===== iptables-ähnliche Tabellen und Chains anlegen ===== ===== iptables-ähnliche Tabellen und Chains anlegen =====
 ==== interaktiv ==== ==== interaktiv ====
-(( TODO: kann ich das inet weglassen? Oder kriege ich dann ip?)) 
   nft -ia   nft -ia
   add table inet filter   add table inet filter
Zeile 19: Zeile 16:
   add chain inet filter output { type filter hook output priority filter; }   add chain inet filter output { type filter hook output priority filter; }
 (( 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) )) (( 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) ))
-  add table ip nat +  add table inet nat 
-  add chain ip nat prerouting { type nat hook prerouting priority dstnat; } +  add chain inet nat prerouting { type nat hook prerouting priority dstnat; } 
-  add chain ip nat postrouting { type nat hook postrouting priority srcnat; } +  add chain inet nat postrouting { type nat hook postrouting priority srcnat; } 
  
 ==== mit Konfigurationsdatei ==== ==== mit Konfigurationsdatei ====
-Erste Zeile ''​flush ruleset''​ beachten, sonst werden die Regeln hinzugefügt. ​ 
 <file txt nftables.conf>​ <file txt nftables.conf>​
 flush ruleset flush ruleset
Zeile 59: Zeile 55:
   replace rule inet filter input handle 7 tcp dport @port_blacklist drop   replace rule inet filter input handle 7 tcp dport @port_blacklist drop
  
 +===== einzelne Regel löschen ===== 
 +  nft -ia 
 +  delete rule inet filter input handle 7
 ====== nftables Regeln debuggen ====== ====== nftables Regeln debuggen ======
 ===== counter nutzen ===== ===== 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. ​+''​accept'',​ ''​drop''​ oder ''​reject''​ jeweils ''​counter''​ voran stellen: ''​counter accept'',​ ''​counter drop''​ oder ''​counter reject'' ​
  
 Beispiel: Beispiel:
Zeile 68: Zeile 66:
   replace rule inet filter input handle 7 tcp dport { 80, 3128 } counter reject with tcp reset   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
 +
 +==== counter zurücksetzen ====
 +auf die harte Tour: alle aktuellen Regeln löschen und neu einlesen:
 +  (echo 'flush ruleset';​ nft -s list ruleset) | nft -f -
 ===== Pakete loggen ===== ===== Pakete loggen =====
   nft -ia   nft -ia
   add rule inet filter input log prefix "input accept"​   add rule inet filter input log prefix "input accept"​
  
-gelogte ​Pakete anzeigen:+geloggte ​Pakete anzeigen:
   dmesg -Tw   dmesg -Tw
  
Zeile 83: Zeile 89:
  
 ====== aktuelle nftables Regeln speichern ====== ====== aktuelle nftables Regeln speichern ======
-  nft -s flush ruleset > /​etc/​nftables.conf+  nft -s list ruleset > /​etc/​nftables.conf
  
 ====== nftables Regeln aus Datei laden ====== ====== nftables Regeln aus Datei laden ======
Zeile 94: Zeile 100:
 | delete ​ | chain(s) | ip6     | | delete ​ | chain(s) | ip6     |
 | rename ​ | rule     | | rename ​ | rule     |
-| list    | +| list    ​| set      ​|
 | flush   | | flush   |
 | insert ​ | | insert ​ |
fortgeschrittene/nftables.1663171425.txt.gz · Zuletzt geändert: 2022/09/14 16:03 von ingo_wichmann