Mémo pour le pare-feu firewalld de Fedora

Ce court billet me servira de mémo pour tout ce qui concerne le pare-feu firewalld que j’utilise avec mon serveur sous Fedora.

La gestion de firewall m’a toujours ennuyé, je ne me suis jamais vraiment attardé à être un expert en la matière, c’était le cas avec IPtables, c’est toujours le cas avec firewalld qui est le pare-feu par défaut sous Fedora depuis plusieurs versions (officiellement depuis Fedora 18). A noter que firewalld s’appuie toujours sur l’architecture netfilter.



Ce billet regroupe donc simplement les commandes classiques que l’on est amené à exécuter pour gérer le firewall.

# Voir l'état de fonctionnement du pare-feu :
firewall-cmd --state

# Obtenir la liste des zones supportées :
firewall-cmd --get-zones

# Obtenir la liste des services supportés :
firewall-cmd --get-services

# Lister ce qui est activé sur toutes les zones :
firewall-cmd --list-all-zones

# Voir ce qui est activé sur la zone 'public' :
firewall-cmd --zone=public --list-all

# Lister les services actifs de la zone 'public' :
firewall-cmd --zone=public --list-services

# Lister les ports actifs :
firewall-cmd --zone=public --list-ports

# Voir la zone par défaut pour les connexions réseau :
firewall-cmd --get-default-zone

# Définir la zone par défaut à 'public' :
firewall-cmd --set-default-zone=public

#Lister les zones actives :
firewall-cmd --get-active-zones

# Ajouter (ouvrir) le port 8080 (protocole tcp) à la zone 'public' :
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=7000-8000/tcp

# Supprimer (fermer) le port 8080 (protocole tcp) pour la zone 'public' :
firewall-cmd --zone=public --remove-port=8080/tcp
firewall-cmd --zone=public --remove-port=7000-8000/tcp

# Ajouter (ouvrir) le service http pour la zone 'public' :
firewall-cmd --zone=public --add-service=http

# Supprimer (fermer) le service http pour la zone 'public' :
firewall-cmd --zone=public --remove-service=http

# Vérifier si le service http est actif pour la zone 'public' :
firewall-cmd --zone=public --query-service=http

# Recharger la configuration :
firewall-cmd --reload



Pour modifier la configuration de façon permanente, il suffit d’ajouter l’option --permanent, dans ce cas les changements ne sont pas répercutés immédiatement, il faut recharger la configuration avec firewall-cmd --reload pour qu’ils soient pris en compte.