Netfilter: Counter für NAT Pakete

Blutschlumpf

Fleet Admiral
Registriert
März 2001
Beiträge
20.050
Moin moin,

ich versuche gerade nach 18 Jahren iptables den Sprung auf nft.
Dabei ist mir aufgefallen, dass die Counter in der nat-table nicht den Erwartungen entsprechen.

Gibts ne Möglichkeit Verbindungen mit SNAT/DNAT sinnvoll zu counten?
Die Counter in der PREROUTING/POSTROUTING Chain zählen nur eine handvoll Pakete, scheint als ob alles was einmal im Connection-Tracker drin ist nur noch in der forward-chain landet (da "funktionieren" die Counter).
 
Dann müsste ich je nach Konstellation aber zu viele oder gar keine Hits haben.
Da ich in der chain nur eine rule habe, ist das recht überschaubar.

Mal ein Beispiel:
Ich resette alles, und pinge 10 mal von der 192.168.10.2 eine externe IP an.
Ergebnis:
Code:
table inet filter {
        chain input {
                type filter hook input priority 0; policy accept;
                counter packets 176 bytes 30228
        }

        chain forward {
                type filter hook forward priority 0; policy accept;
                iif "ens160" oif "ens192" counter packets 10 bytes 600
                oif "ens160" iif "ens192" counter packets 10 bytes 600
                counter packets 165 bytes 32978
        }

        chain output {
                type filter hook output priority 0; policy accept;
                counter packets 187 bytes 34996
        }
}
table ip nat {
        chain postrouting {
                type nat hook postrouting priority 100; policy accept;
                counter packets 1 bytes 60
                ip saddr 192.168.10.2 oif "ens160" counter packets 1 bytes 60 snat to x.x.x.x
        }
}
In der NAT-Table hittet nur das erste Paket, in der filter.forward Chain sehe ich alle Pakete incl. Antwort.
x.x.x.x ist die externe IP, ens160 externes Interface, ens192 internes Interface.
 
Zurück
Oben