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 :
- cockpit : 9090
- ssh : 22
- dhcpv6-client
De ce fait il n'est pas possible d'accéder à des ports 80, 8080 ou autre.
Ajout de ports
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
Ajout de services
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
Désactivation
Si on veut complètement arrêter le firewall, on utilise les commandes systemctl :
systemctl stop firewalld systemctl disable firewalld