Test de la Connectivité Réseau

LinuxBeginner
Pratiquer maintenant

Introduction

La connectivité réseau est un aspect fondamental de tout système informatique moderne. En cas de problèmes, savoir comment les diagnostiquer est une compétence essentielle pour tout développeur ou administrateur système. Ce laboratoire vous guidera à travers une série de commandes Linux essentielles pour tester et dépanner les connexions réseau de manière systématique.

Vous apprendrez à utiliser ping pour vérifier l'accessibilité de base, traceroute pour cartographier le chemin emprunté par vos données sur le réseau, nslookup pour vérifier la résolution DNS, et ip route pour inspecter la table de routage de votre système. À la fin de ce laboratoire, vous aurez une base solide pour diagnostiquer les problèmes réseau courants.

Tester l'Hôte Local avec la Commande ping 127.0.0.1

Dans cette étape, vous utiliserez la commande ping pour tester la pile réseau (network stack) de votre machine locale. C'est la première étape, la plus basique et essentielle, de tout processus de dépannage réseau.

La commande ping envoie des paquets ICMP (Internet Control Message Protocol) de type ECHO_REQUEST à un hôte cible et attend une ECHO_RESPONSE. L'adresse 127.0.0.1 est l'adresse standard de "localhost" ou de "bouclage" (loopback), qui pointe toujours vers la machine sur laquelle vous vous trouvez. Un ping réussi vers localhost confirme que le logiciel réseau de votre système fonctionne correctement.

Nous utiliserons l'option -c 4 pour n'envoyer que 4 paquets, empêchant ainsi la commande de s'exécuter indéfiniment.

Exécutez la commande suivante dans votre terminal :

ping -c 4 127.0.0.1

Vous devriez voir une sortie similaire à ce qui suit, indiquant que les paquets ont été envoyés et reçus avec succès.

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.048 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.047 ms

--- 127.0.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3074ms
rtt min/avg/max/mdev = 0.045/0.047/0.049/0.001 ms

La ligne 0% packet loss confirme que l'interface réseau locale fonctionne correctement.

Tester la Passerelle avec la Commande ping 172.60.0.1

Dans cette étape, vous allez tester la connectivité vers la passerelle (gateway) de votre réseau local. La passerelle est un routeur qui connecte votre réseau local à d'autres réseaux, y compris Internet. Un ping réussi vers la passerelle confirme que votre machine peut communiquer avec votre réseau local.

Tout d'abord, vous devez trouver l'adresse IP de votre passerelle par défaut. Vous pouvez le faire en utilisant la commande ip route et en filtrant pour la route "default".

Exécutez cette commande pour trouver votre passerelle :

ip route | grep default

La sortie vous indiquera la route par défaut. L'adresse IP qui suit immédiatement via est l'adresse de votre passerelle. Dans cet environnement de laboratoire, il s'agit généralement de 172.60.0.1.

default via 172.60.0.1 dev eth1

Maintenant, utilisez la commande ping pour tester la connectivité vers cette adresse de passerelle. N'oubliez pas d'utiliser l'option -c 4.

ping -c 4 172.60.0.1

Un résultat réussi ressemblera à ceci :

PING 172.60.0.1 (172.60.0.1) 56(84) bytes of data.
64 bytes from 172.60.0.1: icmp_seq=1 ttl=64 time=0.075 ms
64 bytes from 172.60.0.1: icmp_seq=2 ttl=64 time=0.051 ms
64 bytes from 172.60.0.1: icmp_seq=3 ttl=64 time=0.052 ms
64 bytes from 172.60.0.1: icmp_seq=4 ttl=64 time=0.053 ms

--- 172.60.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3060ms
rtt min/avg/max/mdev = 0.051/0.057/0.075/0.010 ms

Ce résultat confirme que votre machine peut communiquer avec la passerelle du réseau local.

Traceroute avec la Commande traceroute google.com

Dans cette étape, vous utiliserez traceroute pour tracer le chemin réseau depuis votre machine vers une destination externe, telle que google.com. Cette commande est utile pour identifier où une connexion pourrait échouer le long de son parcours.

La commande traceroute n'est peut-être pas installée par défaut. Commencez par mettre à jour votre liste de paquets, puis installez-la. Il est de bonne pratique d'exécuter sudo apt-get update avant d'installer de nouveaux paquets.

sudo apt-get update

Maintenant, installez l'utilitaire traceroute. L'option -y répond automatiquement "oui" à toute invite.

sudo apt-get install -y traceroute

Une fois l'installation terminée, vous pouvez exécuter traceroute vers google.com. Cela affichera la séquence de routeurs (sauts ou hops) que les paquets traversent pour atteindre la destination.

traceroute google.com

La sortie listera chaque saut, son adresse IP et le temps de trajet aller-retour nécessaire aux paquets pour l'atteindre. La sortie variera, mais elle ressemblera à ceci (nous l'avons tronquée pour plus de concision) :

traceroute to google.com (142.250.191.46), 30 hops max, 60 byte packets
 1  uswest5 (172.60.0.1)  0.031 ms  0.010 ms  0.010 ms
 2  10.220.8.54 (10.220.8.54)  0.289 ms 10.220.8.38 (10.220.8.38)  0.275 ms 10.220.8.54 (10.220.8.54)  0.263 ms
 3  11.73.4.217 (11.73.4.217)  2.134 ms 11.73.4.241 (11.73.4.241)  2.141 ms 11.73.4.185 (11.73.4.185)  1.409 ms
 ...
 8  142.251.65.127 (142.251.65.127)  4.316 ms  2.849 ms  4.335 ms
 9  nuq04s42-in-f14.1e100.net (142.250.191.46)  4.296 ms  1.556 ms  2.964 ms

Chaque ligne représente un routeur sur le chemin. Les astérisques * * * indiquent que le routeur n'a pas répondu à la sonde dans les délais impartis.

Vérification de la Résolution DNS avec la Commande nslookup google.com

Dans cette étape, vous allez vérifier la résolution du Domain Name System (DNS). Le DNS est l'annuaire téléphonique d'Internet ; il traduit les noms de domaine lisibles par l'homme (comme google.com) en adresses IP lisibles par la machine (comme 142.250.199.14). Si le DNS ne fonctionne pas, vous ne pourrez pas accéder aux sites web par leur nom, même si votre connexion réseau est par ailleurs fonctionnelle.

La commande nslookup est un outil utilisé pour interroger les serveurs DNS afin d'obtenir cette information.

Exécutez la commande suivante pour rechercher l'adresse IP de google.com :

nslookup google.com

La sortie vous indique quel serveur DNS a répondu à votre requête et les adresses IP associées au nom de domaine.

Server:  127.0.0.11
Address: 127.0.0.11#53

Non-authoritative answer:
Name: google.com
Address: 142.250.191.46
Name: google.com
Address: 2607:f8b0:4005:80f::200e

Les lignes Server et Address montrent le résolveur DNS que votre système utilise. La section Non-authoritative answer fournit les adresses IPv4 (Address: 142.250.191.46) et IPv6 (Address: 2607:...) pour google.com. Une réponse réussie comme celle-ci confirme que la résolution DNS fonctionne correctement.

Résoudre les Problèmes de Connectivité avec ip route show

Dans cette étape, vous allez examiner la table de routage IP du noyau (kernel). La table de routage est un ensemble de règles que votre système utilise pour déterminer où envoyer le trafic réseau. Une route incorrecte ou manquante est une cause fréquente de problèmes de connectivité.

La commande ip route show (ou son alias plus court ip r) affiche la table de routage principale. C'est l'une des commandes les plus importantes pour diagnostiquer les problèmes réseau à un niveau bas (low level).

Exécutez la commande pour visualiser votre table de routage :

ip route show

La sortie listera toutes les routes que votre système connaît.

default via 172.60.0.1 dev eth1
172.60.0.0/16 dev eth1 proto kernel scope link src 172.60.1.160

La ligne la plus critique est la route default.

  • default via 172.60.0.1 dev eth1 : Cette ligne signifie que pour toute destination non explicitement listée dans la table, le trafic sera envoyé à la passerelle (gateway) à l'adresse 172.60.0.1 (celle que vous avez pingée à l'Étape 2) via l'interface réseau eth1.

Si cette route par défaut était manquante, votre système ne saurait pas comment envoyer le trafic vers Internet, et des commandes comme ping google.com échoueraient avec une erreur "Network is unreachable" (Réseau inaccessible). Comprendre cette table est essentiel pour résoudre de tels problèmes, souvent en ajoutant une route par défaut correcte à l'aide d'une commande telle que sudo ip route add default via <gateway_ip>.

Résumé

Félicitations pour avoir terminé ce laboratoire ! Vous avez appris une approche systématique pour tester et diagnostiquer les problèmes de connectivité réseau sur un système Linux.

Vous vous êtes exercé à utiliser les commandes essentielles suivantes :

  • ping : Pour tester l'accessibilité de la machine locale et de la passerelle réseau.
  • ip route : Pour trouver votre passerelle par défaut et inspecter la table de routage du système.
  • traceroute : Pour tracer le chemin emprunté par les paquets vers un hôte distant, identifiant les points de défaillance potentiels.
  • nslookup : Pour vérifier que le Domain Name System (DNS) résout correctement les noms d'hôtes en adresses IP.

Cette progression logique — de soi-même, au réseau local, à Internet, et enfin la vérification de la résolution de noms — fournit un cadre puissant pour dépanner presque tous les problèmes réseau que vous pourriez rencontrer.