Introduction
Bienvenue, Navigateur Réseau ! Vous venez d'être embauché en tant qu'administrateur système junior dans une startup technologique en pleine croissance. Ce matin, un serveur web critique est tombé en panne. Les utilisateurs signalent qu'ils ne peuvent plus accéder au portail interne de l'entreprise.
Votre administrateur senior est retenu en réunion et vous a chargé du diagnostic initial. C'est le moment de briller ! Votre mission consiste à enquêter méthodiquement sur l'état du réseau du serveur, à identifier la cause profonde du problème et à rétablir la connectivité. Remettons ce serveur en ligne !
- Passez temporairement le défi et continuez avec les laboratoires guidés suivants dans le parcours d'apprentissage Linux.
- Discutez avec Labby ou consultez la solution.
Vérification de l'état des interfaces réseau
Votre première étape en tant que Navigateur Réseau consiste à recueillir des informations de base. Le matériel réseau est-il seulement reconnu et actif ? Vous devez vérifier l'état de toutes les interfaces réseau sur le serveur. L'outil moderne pour cette tâche est la commande ip.
Tâches
- Utilisez la commande
ippour afficher l'état et la configuration de toutes les interfaces réseau.
Exigences
- Vous devez utiliser la commande
ip addrpour effectuer cette vérification.
Exemples
Après avoir exécuté la commande, vous devriez voir une sortie affichant des interfaces réseau telles que lo (loopback) et eth0 (ou similaire). Observez l'état de votre interface principale : elle doit afficher UP pour indiquer qu'elle est active.
## Format de sortie attendu (les noms d'interface peuvent varier)
1: lo: 65536 qdisc noqueue state UNKNOWN group default qlen 1000 < LOOPBACK,UP,LOWER_UP > mtu
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: 1500 qdisc mq state UP group default qlen 1000 < BROADCAST,MULTICAST,UP,LOWER_UP > mtu
link/ether 00:16:3e:04:b0:40 brd ff:ff:ff:ff:ff:ff
inet 172.16.50.108/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
valid_lft 1892159216sec preferred_lft 1892159216sec
Conseils
- La commande
ipest un outil puissant doté de nombreuses sous-commandes. Celle permettant de gérer les adresses estaddr. - Vous pouvez utiliser
ip addr showou son alias plus courtip addr.
Vérification de la configuration de l'adresse IP
D'accord, l'interface est UP. C'est un bon début. Mais possède-t-elle une adresse IP ? Une interface sans adresse IP ne peut pas communiquer sur le réseau. Bien que ip addr affiche cette information, utilisons une autre commande classique, ifconfig, pour effectuer une double vérification. Il est toujours utile de connaître plusieurs outils pour la même tâche.
Tâches
- Utilisez la commande
ifconfigpour vérifier la configuration de l'adresse IP.
Exigences
- Vous devez impérativement utiliser la commande
ifconfig.
Exemples
La sortie devrait afficher vos interfaces réseau avec leurs adresses IP respectives. Recherchez le champ inet sous votre interface réseau principale (comme eth0) pour confirmer la configuration IP.
## Sortie attendue montrant la configuration IP
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.50.108 netmask 255.255.255.0 broadcast 172.16.50.255
ether 00:16:3e:04:b0:40 txqueuelen 1000 (Ethernet)
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
Conseils
- La commande
ifconfigfait partie du paquetnet-tools, que nous avons déjà installé pour vous. - L'exécution de
ifconfigsans argument affichera toutes les interfaces actives.
Test de connectivité vers des hôtes distants
Le serveur dispose d'une interface active et d'une adresse IP. L'étape logique suivante consiste à vérifier s'il peut atteindre le monde extérieur. Un échec ici pourrait indiquer un problème avec la passerelle (gateway) ou les paramètres DNS. La commande ping est l'outil idéal pour ce test.
Tâches
- Testez la connectivité du serveur à Internet en envoyant exactement 3 paquets ICMP au serveur DNS public de Google à l'adresse
8.8.8.8.
Exigences
- Vous devez utiliser la commande
ping. - Vous devez limiter le nombre de paquets envoyés à 3.
- L'adresse IP cible doit être
8.8.8.8.
Exemples
Si la connectivité fonctionne, vous devriez voir des réponses de l'adresse IP cible avec des informations de délai. Le résumé à la fin doit indiquer 3 paquets transmis et 3 paquets reçus avec 0 % de perte de paquets.
## Modèle de sortie réussie attendu
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=119 time=4.33 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=119 time=4.30 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=119 time=4.30 ms
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 4.298/4.309/4.329/0.014 ms
Conseils
- La commande
pings'exécutera indéfiniment à moins que vous ne lui demandiez de s'arrêter. - Utilisez l'option
-cpour spécifier le nombre (count) de paquets à envoyer.
Inspection des ports réseau ouverts
La connectivité est bonne ! Alors, pourquoi le portail interne est-il toujours inaccessible ? Le problème vient peut-être de l'application elle-même. Le processus du serveur web est-il réellement en cours d'exécution et à l'écoute des connexions sur le bon port ? La commande ss (socket statistics) est un outil moderne et rapide pour enquêter sur ce point.
Tâches
- Le portail interne est censé fonctionner sur le port
8000. Utilisez la commandesspour vérifier si un processus écoute les connexions TCP sur le port8000.
Exigences
- Vous devez utiliser la commande
ss. - Votre commande doit être construite pour afficher les sockets TCP en écoute.
Exemples
Si un processus écoute sur le port 8000, vous devriez voir une sortie contenant des informations sur le socket d'écoute. Recherchez une ligne affichant le port 8000 dans la colonne "Local Address".
## Sortie attendue montrant un processus en écoute sur le port 8000
LISTEN 0 5 0.0.0.0:8000 0.0.0.0:* users:(("python3",pid=3765,fd=3))
Conseils
- La commande
sspossède plusieurs drapeaux utiles :-t: Affiche les socketsTCP.-l: Affiche les sockets en écoute (listening).-n: Affiche les numéros de ports au formatnumérique au lieu des noms de services.-p: Affiche leprocessus utilisant le socket.
- Vous pouvez combiner ces drapeaux, par exemple
ss -tlnp. - Pour trouver un port spécifique, vous pouvez rediriger la sortie de
ssvers la commandegrep. Par exemple :ss -tlnp | grep 8000.
Configuration des règles de base du pare-feu
Vous avez tout confirmé : l'interface est active, l'IP est configurée, la connectivité Internet fonctionne et l'application écoute sur le bon port. Il ne reste qu'un seul suspect majeur : le pare-feu. Il bloque probablement le trafic entrant vers le portail. Votre dernière tâche consiste à configurer le pare-feu pour refuser l'accès au portail. Nous utiliserons ufw (Uncomplicated Firewall), une interface conviviale pour gérer les règles de pare-feu.
Tâches
- Ajoutez une règle de pare-feu pour refuser le trafic entrant sur le port
8000. - Ajoutez une règle de pare-feu pour autoriser le trafic SSH entrant (port 22).
- Activez le pare-feu pour appliquer les nouvelles règles.
Exigences
- Vous devez utiliser la commande
ufwpour toutes les opérations. - Vous devez utiliser
sudocar la modification des règles de pare-feu nécessite des privilèges administratifs.
Exemples
Après avoir configuré les règles, l'exécution de sudo ufw status devrait montrer que le pare-feu est actif avec le port 8000 refusé et le SSH (port 22) autorisé.
## Sortie attendue après l'activation du pare-feu avec le port 8000 refusé et SSH autorisé
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
8000 DENY Anywhere
22 (v6) ALLOW Anywhere (v6)
8000 (v6) DENY Anywhere (v6)
Lors de l'ajout de la règle, vous devriez voir :
Rules updated
Rules updated (v6)
Lors de l'activation du pare-feu, vous devriez voir :
Firewall is active and enabled on system startup
Conseils
- La syntaxe de
ufwest très directe. Pour refuser le trafic sur un port, utilisezufw deny <port>. - Vous pouvez refuser le trafic sur le port 8000 avec
ufw deny 8000. - Vous pouvez autoriser spécifiquement le trafic SSH avec
ufw allow sshouufw allow 22. - Avertissement critique : Si vous n'ouvrez pas correctement le port SSH (22), la vérification échouera car elle dépend de ce port pour la connectivité SSH.
- Avertissement important : Ne modifiez pas arbitrairement les règles de pare-feu pour d'autres ports, car cela pourrait entraîner des pannes de la machine virtuelle en ligne.
- Après avoir ajouté vos règles, vous devez activer le pare-feu avec
ufw enable.
Résumé
Excellent travail, Navigateur ! En vérifiant systématiquement les interfaces réseau, en validant la configuration IP, en testant la connectivité, en inspectant les ports ouverts et enfin en configurant le pare-feu, vous avez diagnostiqué et résolu le problème avec succès. Le portail interne est à nouveau opérationnel et vous avez gagné le respect de votre équipe.
Vous avez démontré une solide maîtrise des outils réseau fondamentaux de Linux tels que ip, ifconfig, ping, ss et ufw. Ce processus de dépannage logique et étape par étape est une compétence cruciale pour tout administrateur système et sera inestimable dans votre carrière. Continuez à perfectionner vos talents !



