A partir de la version 8, Red Hat et CentOS n'utilisent plus iptables mais firewalld.
Par défaut, celui-ci est activé. On peut voir la liste des ports ouverts :
firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp1s0
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Les ports correspondant aux services listés sont ouverts :
De ce fait il n'est pas possible d'accéder à des ports 80, 8080 ou autre.
On peut ajouter un port, via la commande firewall-cmd --add-port=xxx/protocol. Par exemple pour ouvrir le port 8080 :
firewall-cmd --permanent --add-port 8080/tcp
Il faut ensuite lancer la commande firewall-cmd --reload pour que ceci soit pris en compte
firewall-cmd --reload
firewall-cmd --list-ports
8080/tcp
Si les services utilisent des ports standard (ex : http, smtp) on peut également utiliser directement le nom du service. Par exemple pour ouvrir les ports http, https et smtp :
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=smtp
firewall-cmd --reload
firewall-cmd --list-services
cockpit dhcpv6-client http https smtp ssh
Si on veut complètement arrêter le firewall, on utilise les commandes systemctl :
systemctl stop firewalld
systemctl disable firewalld