Ist der Artikel zu nftables noch aktuell?

Ist der Artikel nftables: Firewall-Einstellungen noch aktuell? Oder gibt es irgendwelche Optimierungen zu den Firewall Regeln?

Ich habe die Firewall so nur aktiviert bekommen, in den ich die Regel in „/etc/nftables.conf“ eingefügt habe. Danach ein „systemctl enable nftables“ und „systemctl restart nftables“.

Wie es in der Beschreibung steht, hat bei mir nicht funktioniert(nur nft -f …), es wurden nach dem Neustart des Systems immer die alten Standard Regeln geladen.

#!/usr/sbin/nft -f

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

Den Regelsatz musst du selbst in /etc/nftables.conf erneuern. Da wird er beim aktivieren des Dienstes auch draus gelesen und angewendet. Übernimmt also das nft -f nach Systemstart.

nft -f /pfad/zur/datei ist nur temporär, überschreibt also den aktuellen Regelsatz im Kernel, dieser wird aber weder hinterher noch durch den Befehl selbst in /etc/nftables.conf, und auch nicht irgendwo anders, gespeichert.
Taugt also nur zum ändern der Regelsätze im Betrieb (die man vorher auf korrekte Syntax prüfen könnte mit nft -c -f ./datei).

#!/usr/sbin/nft -f nutz Ich gar nicht erst, wirkt irgendwie unnötig, wird aber nicht schaden.

Das hatte ich bemerkt und habe dann von mir aus die Regeln in die .conf eingefügt. Ich dachte nur, am Anfang, dass nft -f ausreichen würde und hatte mich dann immer gewundert, dass die alten mitgelieferten Regeln angewandt wurden.

Die Regeln von 2021 kann man so noch anwenden oder gibt es Verbesserungen etc:.?

####################
# Purge/Flush      #
####################
flush ruleset

####################
# Incoming Traffic #
####################
table inet filter { 	
   chain input { 		
      type filter hook input priority 0; policy drop;

      # Allow packets to established/related connections 
      ct state established,related accept
 
      # Drop invalid connections 
      ct state invalid drop

      # Allow loopback interface 		
      iifname lo accept

      # Allow ICMPv4: Ping requests | Error messages | Router selection messages
      ip protocol icmp icmp type { echo-request, echo-reply, destination-unreachable, time-exceeded, parameter-problem, router-solicitation, router-advertisement } accept
      
      # Allow ICMPv6 traffic (https://tools.ietf.org/html/rfc4890#page-18)
      ip6 nexthdr icmpv6 icmpv6 type { destination-unreachable, packet-too-big, time-exceeded, echo-request, parameter-problem, echo-reply, nd-router-solicit, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert, ind-neighbor-solicit, ind-neighbor-advert } accept
	
      # Reject other packets
      ip protocol tcp reject with tcp reset
      ip6 nexthdr tcp reject with tcp reset
   }
####################
# Forward Traffic  #
####################
   chain forward { 		
      type filter hook forward priority 0; policy drop; 	
   }
####################
# Outgoing Traffic #
####################
   chain output { 		
      type filter hook output priority 0; policy accept; 
		
      # Allow loopback interface 		
      oifname lo accept	
   }
}