Introduction
Lorsqu'un service réseau est inaccessible, vérifiez le chemin par couches : état du service, socket en écoute, requête locale, règle de pare-feu, puis accès final. Cela vous évite d'ouvrir des ports de pare-feu pour un service qui n'est même pas en cours d'exécution.
Dans ce laboratoire, un petit service HTTP écoute sur le port TCP 8088, mais firewalld n'autorise pas ce port. Vous allez inspecter le chemin du service et ajouter la règle de pare-feu permanente manquante.
Vérifier l'état du service
Dans cette étape, vous confirmerez que le service de l'application est en cours d'exécution avant d'examiner les règles du pare-feu.
Accédez au répertoire du projet et créez un espace de travail.
cd /home/labex/project
mkdir -p firewall-path
Vérifiez l'état du service.
systemctl is-active rhce-http-demo.service | tee firewall-path/service-state.txt
Lisez la commande du service.
systemctl show rhce-http-demo.service -p ExecStart | tee firewall-path/exec-start.txt
Le service est actif, la question suivante est donc de savoir s'il écoute sur le port attendu.
Inspecter le socket en écoute
Dans cette étape, vous confirmerez que l'hôte écoute bien sur le port TCP 8088.
Affichez les sockets TCP en écoute pour le port 8088.
sudo ss -ltnp 'sport = :8088' | tee firewall-path/socket.txt
Testez le service via l'interface de bouclage (loopback).
curl -s http://127.0.0.1:8088/ | tee firewall-path/loopback-response.txt
Le service répond localement, l'application elle-même fonctionne donc correctement.
Trouver la règle de pare-feu manquante
Dans cette étape, vous vérifierez si le port du service est configuré dans firewalld. Un socket local ne signifie pas automatiquement que le pare-feu autorise le port.
Listez les ports ouverts dans la zone par défaut.
sudo firewall-cmd --list-ports | tee firewall-path/ports-before.txt
Interrogez le port 8088/tcp.
sudo firewall-cmd --query-port=8088/tcp | tee firewall-path/query-before.txt || true
La requête devrait renvoyer no, ce qui signifie que la règle est absente de firewalld.
Ouvrir le port du service
Dans cette étape, vous ajouterez une règle firewalld permanente et rechargerez le pare-feu.
Ajoutez la règle de port permanente.
sudo firewall-cmd --add-port=8088/tcp --permanent
Rechargez firewalld.
sudo firewall-cmd --reload
Interrogez à nouveau le port.
sudo firewall-cmd --query-port=8088/tcp | tee firewall-path/query-after.txt
Le pare-feu autorise désormais le port du service.
Vérifier le chemin complet du service
Dans cette étape, vous vérifierez ensemble le service, le socket, la règle de pare-feu et la réponse.
Vérifiez l'état du service.
systemctl is-active rhce-http-demo.service
Affichez la liste des ports du pare-feu.
sudo firewall-cmd --list-ports | tee firewall-path/ports-after.txt
Sollicitez à nouveau le service.
curl -s http://127.0.0.1:8088/ | tee firewall-path/final-response.txt
Le chemin de l'application est complet : le service est actif, le socket est en écoute, la règle de pare-feu est présente et la réponse HTTP fonctionne.
Résumé
Vous avez vérifié le chemin d'un service par couches : état du service, socket en écoute, réponse HTTP locale, port firewalld manquant, réparation permanente du pare-feu et validation finale de la réponse.



