Gestion du firewall sous CentOS8 / Red Hat 8

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

 

Catégorie