Aller au contenu

Cours – Dépanner une infrastructure : méthode et outils

BTS SIO SISR 2e année – Bloc 2 – S13

Un mot ou un sigle inconnu ? Passe la souris dessus, ou ouvre le glossaire.

« Tout est lent » ou « le site ne marche plus » : un utilisateur décrit un symptôme, jamais une cause. Le métier de l'administrateur est de remonter du symptôme à la cause, vite, sans casser davantage. Trois qualités y aident : une méthode, des outils maîtrisés, et la trace de ce qu'on a fait.


1. La méthode en sept étapes

# Étape Question Exemple
1 Observer le symptôme Que se passe-t-il exactement ? Pour qui ? Depuis quand ? « Le site refuse de s'ouvrir depuis le poste de Léa, pas depuis le mien »
2 Délimiter Qu'est-ce qui marche encore ? Qu'est-ce qui a changé ? Le ping du serveur répond, la page non
3 Formuler des hypothèses Quelles causes expliquent tous les faits ? Service arrêté, pare-feu, droits, mauvaise adresse
4 Tester, une hypothèse à la fois Quel test élimine ou confirme ? curl -v, ss -tln
5 Identifier la cause Pourquoi est-ce arrivé ? Un correctif a redémarré Apache avec un mauvais port
6 Corriger et vérifier Le symptôme a-t-il disparu ? Rien d'autre n'est cassé ? curl OK, supervision verte
7 Documenter et prévenir Comment éviter ou détecter plus tôt ? Fiche d'incident, alerte, procédure

Quelques règles d'hygiène :

  • Un changement à la fois : sinon on ne sait plus ce qui a corrigé (ou aggravé).
  • Noter l'état initial avant de modifier (sauvegarde du fichier, capture).
  • Annuler une modification qui n'a pas aidé.
  • Aller du simple au compliqué : câble, adresse, service, configuration, application.
  • Ne pas supposer : vérifier (« le service tourne ») plutôt que croire (« il tourne forcément »).

2. Remonter les couches

Le modèle OSI sert de plan de recherche : on part du bas (physique) ou du haut (application) et on élimine par étages.

Couche Question Outil
Physique / liaison Le lien est-il actif ? ip -br link, voyants
Réseau (IP) Adresse, masque, passerelle corrects ? La machine voisine répond-elle ? ip -br a, ip route, ping
Nom (DNS) Le nom donne-t-il la bonne adresse ? getent hosts nom, dig nom
Transport Le port est-il à l'écoute ? Est-il joignable ? ss -tlnp (serveur), curl -v, nc -zv hôte port (client)
Application Le service répond-il correctement ? curl -I, journaux du service

Lire un message d'erreur : la bonne piste

Symptôme du client Ce que ça veut dire Pistes
Network is unreachable Aucune route vers ce réseau Adresse, masque, passerelle du client
Could not resolve host Le nom n'est pas résolu DNS, /etc/hosts, resolv.conf
Nom résolu mais délai dépassé (timed out) Les paquets partent mais rien ne revient Pare-feu qui jette les paquets, mauvaise adresse, serveur éteint, route de retour
Connection refused (ou « Couldn't connect ») La machine répond : le port est fermé Service arrêté, mauvais port d'écoute, pare-feu qui rejette
403 Forbidden Le service répond mais refuse Droits sur les fichiers, configuration d'accès
404, 500 Le service répond, l'application pose problème Journaux applicatifs, fichier manquant, erreur de code

La différence entre « refusé » (réponse immédiate) et « délai dépassé » (silence) est l'indice le plus précieux : le premier désigne une machine qui répond et dit non, le second une machine qui ne répond pas ou dont les paquets sont jetés.


3. Les outils du dépannage

Besoin Commandes
État du système uptime, free -h, df -h, top
Services systemctl status service, systemctl is-active service, ss -tlnp
Journaux journalctl -u apache2 --since "10 minutes ago", tail -f /var/log/apache2/error.log
Réseau ip -br a, ip route, ping, traceroute -n, curl -v
Résolution getent hosts nom, dig nom
Trames sudo tcpdump -n -i enp0s3 host 192.168.10.10 and port 80
Pare-feu sudo nft list ruleset
Fichiers ls -l, namei -l chemin (droits tout au long du chemin)

La capture de trames, pour trancher

Quand on hésite entre « le paquet n'arrive pas » et « il arrive mais personne ne répond » :

  • côté serveur, tcpdump montre-t-il la demande (SYN) ? Si non, le paquet n'arrive pas (réseau, route) ;
  • si oui, et qu'aucune réponse ne part : le pare-feu jette, ou le service ne répond pas ;
  • si une réponse RST part : le port est fermé.

4. Garder la trace : la fiche d'incident

Rubrique Contenu
Identification Numéro, date, heure, auteur de la déclaration, service concerné
Symptôme Ce que l'utilisateur a constaté, en ses termes
Impact Qui est touché, quelle gravité, quelle durée
Chronologie Heures des constats, tests, actions
Cause Cause racine, établie par un test
Correction Ce qui a été fait, par qui
Vérification Comment on a confirmé le retour à la normale
Prévention Alerte, procédure, changement pour éviter ou détecter plus tôt

Cette fiche alimente la base de connaissances : le même incident, un mois plus tard, se règle en cinq minutes. Dans un service de support, elle prend la forme d'un ticket (S02 : niveau de service).

Ce que tu dois retenir de la séance

  • Une méthode : observer, délimiter, hypothèses, tester un changement à la fois, cause, corriger et vérifier, documenter.
  • Lire l'erreur : « refusé » (le port est fermé) ≠ « délai dépassé » (paquets jetés ou perdus) ≠ 403 (droits) ≠ « nom non résolu » (DNS).
  • Remonter les couches et utiliser ip, ss, curl -v, journalctl, tcpdump.
  • Rédiger la fiche d'incident et la prévention.