J'ai récemment mis à niveau une installation propre de CentOS 7 vers CentOS 8 à l'aide de ce tutoriel:
https://www.tecmint.com/upgrade-centos-7-to-centos-8/
Je n'avais aucun logiciel supplémentaire installé, seulement l'installation de base. Après la mise à niveau, la première chose que j'ai essayé de faire était d'ouvrir uniquement les portes à SSH et HTTP, j'ai donc activé et démarré firewalld:
systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2019-12-24 11:05:50 -02; 10min ago
Docs: man:firewalld(1)
Main PID: 7620 (firewalld)
Tasks: 2 (limit: 17886)
Memory: 22.1M
CGroup: /system.slice/firewalld.service
└─7620 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid
dez 24 11:05:49 renie.cc systemd[1]: Stopped firewalld - dynamic firewall daemon.
dez 24 11:05:49 renie.cc systemd[1]: Starting firewalld - dynamic firewall daemon...
dez 24 11:05:50 renie.cc systemd[1]: Started firewalld - dynamic firewall daemon.
Ajout des services ssh et http:
firewall-cmd --add-service http
firewall-cmd --add-service http --permanent
firewall-cmd --add-service ssh
firewall-cmd --add-service ssh --permanent
firewall-cmd --add-service ssh
firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: http ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Mais je ne vois aucune règle dans IPTables:
iptables -nvL
Chain INPUT (policy ACCEPT 143 packets, 13998 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 114 packets, 13295 bytes)
pkts bytes target prot opt in out source destination
Même après le redémarrage du serveur, aucune règle n'est créée. Cela pourrait-il être dû à la mise à niveau CentOS 7 → CentOS 8?
Je n'ai pas testé ou utilisé firewalld avant de mettre à niveau ce serveur, mais j'ai d'autres serveurs CentOS 7 qui ont firewalld qui fonctionne.
Y a-t-il un journal que je peux analyser afin de déboguer le problème?
Merci d'avance.
Parce que vous ne voyez aucune règle iptables , cela ne signifie pas firewalld ne fonctionne pas. En fait firewalld est passé à l'utilisation de nftables as backend. Vous pouvez donc retrouver vos règles avec par exemple:
nft list ruleset
Les règles que vous avez ajoutées pour ssh et http seraient probablement dans la chaîne filter_IN_public_allow
:
chain filter_IN_public_allow {
tcp dport ssh ct state new,untracked accept
tcp dport http ct state new,untracked accept
}
Vous trouverez probablement également des règles vides iptables (mais considérées comme nftables règles) dans la sortie de nft list ruleset
, car iptables utilise l'API du noyau de compatibilité nftables :
# iptables -V
iptables v1.8.2 (nf_tables)
lien utile: Redhat - Firewalld: L'avenir est nftables