Nun, ich habe es herausgefunden. Und es ist ein Trottel.
CentOS 8 verwendet nftables, was an sich nicht überraschend ist. Es wird mit dem nft
ausgeliefert Version von iptables
Befehle, also wenn Sie den iptables
verwenden Befehl verwaltet es tatsächlich eine Reihe von Kompatibilitätstabellen in nftables.
Allerdings...
Firewalld – das standardmäßig installiert wird – hat nativ Unterstützung für nftables, also macht es keinen Gebrauch von der iptables-Kompatibilitätsschicht.
Also während iptables -S INPUT
zeigt Ihnen:
# iptables -S INPUT
-P INPUT ACCEPT
Was Sie eigentlich haben ist:
chain filter_INPUT {
type filter hook input priority 10; policy accept;
ct state established,related accept
iifname "lo" accept
jump filter_INPUT_ZONES_SOURCE
jump filter_INPUT_ZONES
ct state invalid drop
reject with icmpx type admin-prohibited <-- HEY LOOK AT THAT!
}
Die Lösung hier (und ehrlich gesagt wahrscheinlich ein guter Rat im Allgemeinen) ist:
systemctl disable --now firewalld
Mit Firewalld aus dem Weg, die iptables-Regeln sichtbar mit iptables -S
verhält sich wie erwartet.