Yah, saya menemukan jawabannya. Dan itu doozy.
CentOS 8 menggunakan nftables, yang dengan sendirinya tidak mengejutkan. Itu dikirimkan dengan nft
versi iptables
perintah, yang berarti ketika Anda menggunakan iptables
perintah itu benar-benar mempertahankan satu set tabel kompatibilitas di nftables.
Namun...
Firewalld -- yang diinstal secara default -- memiliki native dukungan untuk nftables, sehingga tidak menggunakan lapisan kompatibilitas iptables.
Jadi sementara iptables -S INPUT
menunjukkan kepada Anda:
# iptables -S INPUT
-P INPUT ACCEPT
Apa yang Anda sebenarnya miliki adalah:
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!
}
Solusinya di sini (dan sejujurnya mungkin saran yang bagus secara umum) adalah:
systemctl disable --now firewalld
Dengan menyingkirnya firewall, aturan iptables terlihat dengan iptables -S
akan berperilaku seperti yang diharapkan.