Passer au contenu principal

Réseau (Linux)

Diagnostic réseau

Quand un service ne répond pas, une connexion SSH échoue ou un paquet disparaît, le diagnostic réseau permet de localiser le problème. L'arsenal standard sur Debian couvre la connectivité, le routage, les sockets ouverts et l'inspection des paquets.

Tester la connectivité : ping

ping envoie des requêtes ICMP Echo et mesure la latence de réponse.

ping 1.1.1.1          # tester la connectivité IP (sans résolution DNS)
ping debian.org       # tester aussi la résolution DNS
ping -c 4 1.1.1.1    # limiter à 4 paquets
ping -i 0.2 1.1.1.1  # intervalle de 200 ms entre paquets

Si ping 1.1.1.1 fonctionne mais pas ping debian.org, le problème est dans la résolution DNS, pas dans la connectivité réseau.

Tracer le chemin : traceroute

traceroute affiche les sauts successifs d'un paquet jusqu'à destination, avec la latence à chaque saut.

apt install traceroute
traceroute debian.org
traceroute -n debian.org   # sans résolution DNS inverse (plus rapide)

mtr combine ping et traceroute en une vue dynamique, pratique pour surveiller la stabilité d'un chemin dans le temps :

apt install mtr
mtr debian.org
mtr --report debian.org   # rapport non-interactif (100 cycles)

Inspecter les sockets : ss

ss remplace netstat (déprécié). Il liste les sockets ouverts, les connexions établies et les ports en écoute.

ss -tuln          # ports TCP/UDP en écoute (sans résolution DNS)
ss -tulnp         # avec le processus associé (requiert root)
ss -s             # statistiques globales
ss -t state established   # connexions TCP établies

Options clés : -t TCP, -u UDP, -l listening, -n numérique, -p processus.

Capturer des paquets : tcpdump

tcpdump est l'outil de capture réseau en ligne de commande. Il inspecte le trafic réel sur une interface.

tcpdump -i ens3                        # tout le trafic sur ens3
tcpdump -i ens3 port 22               # filtrer sur le port SSH
tcpdump -i ens3 host 1.1.1.1          # filtrer par IP
tcpdump -i ens3 -w /tmp/capture.pcap  # sauvegarder pour Wireshark
tcpdump -i any -n port 80             # toutes interfaces, HTTP, sans DNS

La syntaxe de filtre est celle de Berkeley Packet Filter (BPF) : host, port, net, src, dst, combinables avec and, or, not.

En pratique

Le diagnostic réseau suit une logique en couches : connectivité IP d'abord (ping 1.1.1.1), puis résolution DNS (ping debian.org), puis routage (traceroute), puis services locaux (ss -tulnp). tcpdump intervient quand les couches supérieures ne permettent pas de conclure : paquet qui part mais ne revient pas, trafic inattendu sur une interface, vérification qu'un firewall laisse bien passer ce qu'il est censé laisser passer.