Ich habe eine Frage zu nftables, der chain forward und nat (pre/postrouting).
Ich habe mir selbst einen Router, erstellt mit einem NUC / Debian 10 und nftables. Das läuft auch alles wunderbar und auch die firewall regeln laufen soweit sauber. Ich bin immer noch im lern Modus, also es wird noch viel zugefügt und erweitert, aber fürs erste habe ich eine Frage zur Chain forwart vom Typ Filter.
Das ist meine /etc/nftables.conf :
Code: Alles auswählen
#!/usr/sbin/nft -f
flush ruleset
define LAN = "enp5s0"
define WAN = "enp0s25"
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
ct state established, related counter accept
ct state invalid counter drop
iifname lo accept
iifname { $WAN, $LAN } tcp dport 22 counter accept
drop
}
chain forward {
type filter hook forward priority 0; policy drop;
ct state new,established,related counter accept
ct state invalid drop
ip daddr 172.16.100.100 tcp dport 6776 counter accept
drop
}
chain output {
type filter hook output priority 0; policy drop;
ct state established, related, new accept
ct state invalid drop
oifname $WAN accept
drop
}
}
table ip nat {
chain prerouting {
type nat hook prerouting priority -100; policy accept;
nftrace set 1
iifname $WAN tcp dport 6776 counter dnat 172.16.100.100
}
chain postrouting {
type nat hook postrouting priority 100; policy accept;
oifname $WAN counter masquerade
}
}
Code: Alles auswählen
ip daddr 172.16.100.100 tcp dport 6776 counter accept
Wenn ich die zeile lösche, kann ich nicht mehr einloggen, wen ich sie wieder hinzufüge, geht es wieder. Dennoch, der COunter bleibt bei 0.
Wieso ? Funktionieren counter beim forwarding filter nicht ?
Und noch eine frage zu "ct state" im Forward Filter, braucht es da wirklich "new" oder sollte man dies genauer auf "LAN -> WAN = ct state new accept" stellen ?
Ich grüsse Euch
Andi