Outils pour utilisateurs

Outils du site


sysadmin:reseau:diagnostic

Diagnostiquer un problème réseau

L'utilisateur est souvent très démuni face à un « problème réseau ». Cette page a pour but d'aider un utilisateur sans connaissances techniques ou presque à trouver où se situe le problème.

Vérifications

Notion d'interface

Une interface réseau est en général une carte (physique). Chaque interface d'un même réseau Ethernet a une adresse matérielle unique, l'adresse MAC. Suivant la configuration, l'accès au réseau peut dépendre de cette adresse.

Un câble y est branché s'il s'agit d'un réseau filaire. Il peut s'agir d'une carte Wi-Fi auquel cas, la carte peut être éteinte (par exemple pour économiser l'énergie d'un ordinateur portable qui fonctionne sur la batterie).

Commencer par identifier l'interface puis vérifier que le câble est branché et que l'interface est activée.

Tous les systèmes ont une interface « réseau local » ou loopback (nommée lo0 sur Unix).

À propos du Wi-Fi

Le point d'accès Wi-Fi (la fameuse « box » ADSL-TV-téléphone-routeur-… pour un usage domestique) offre souvent tout ou partie des fonctionnalités suivantes :

  • filtrage par adresse MAC,
  • masquage ou non du nom du réseau sans fil (le SSID),
  • chiffrement des communications par clef WEP ou WPA.

Pour connecter l'interface Wi-Fi à un équipement, il faut donc, s'il y a lieu :

  1. que le point d'accès accepte les connexions depuis la MAC de l'interface,
  2. connaître le nom du réseau Wi-Fi,
  3. connaître la clef de chiffrement.

Ces informations et les réglages à faire sont indiqués dans la documentation fournie avec le matériel, on présuppose donc dans la suite que le problème ne situe pas là.

Adresse IP et masque de sous-réseau

La première vérification à faire est sur l'adresse IP de l'interface réseau. En général, sur un poste client, l'adresse est reçue automatiquement depuis un équipement réseau.

Une adresse IP (version 4, de loin la plus courante actuellement), se présente sous la forme de quatre nombres compris entre 0 et 255. L'interface locale à toujours pour adresse 127.0.0.1.

Lorsqu'une interface est configurée pour obtenir automatiquement son adresse IP (par le protocole DHCP), si aucun serveur DHCP ne répond, elle a une adresse de la forme : 169.254.xxx.yyy.

Vérifier que l'interface a bien une adresse et que cette dernière n'est pas de la forme 169.254.xxx.yyy.

Si l'adresse est correcte, le masque de sous-réseau devrait l'être aussi.

Route par défaut et état du routeur

Le système doit savoir à quel routeur envoyer les paquets. Il doit disposer de l'adresse d'un routeur par défaut. Si ça n'est pas le cas, le système ne pourra communiquer qu'avec les machines connectées au même réseau que l'interface considérée.

Vérifier la présence d'une route par défaut dans la table de routage du système.

Évidemment, il faut aussi que le routeur soit en état de marche.

Tester l'état du routeur, par exemple en utilisant son adresse (route par défaut).

Nommage

Il est humainement impossible de retenir toutes les adresses IP des machines avec lesquelles on communique. Il y a donc un mécanisme (DNS) de correspondance entre une adresse IP et un nom de machine. Pour l'utiliser, un système doit connaître l'adresse IP d'au moins un serveur de nom.

Vérifier que le système connaît l'adresse IP d'au moins un serveur DNS.

Évidemment, il faut aussi que ce serveur soit en état de marche.

Tester l'état du (ou des) serveur DNS, par exemple en l'interrogeant sur un nom connu.

Bande passante et latence

La bande passante est en gros « la taille du tuyau » et se mesure en octets par seconde.

La latence est le temps de réaction i. e. le temps écoulé entre l'envoi d'une information et sa réception correcte.

Vérifier que les temps de réponse sont corrects.

État de la machine distante

Il peut arriver qu'un serveur ne réponde pas (panne, opérations de maintenance, arrêt définitif, changement d'adresse, etc.). Tester avec un autre, de préférence « loin » (en terme de réseau comme physiquement) : par exemple si microsoft.com ne répond pas, tester gouv.fr.

Il peut aussi arriver que ce soit le chemin sur le réseau entre le système local et le serveur distant qui soit en cause.

Outils

Les outils et les méthodes varient suivant les plateformes. Les outils présentés sont quasi-systématiquement installés par défaut.

Dans la suite, quelle que soit la plateforme, on présuppose que les paramètres (adresses IP, masques, etc.) sont corrects, partant du principe qu'ils sont obtenus par DHCP et que le serveur DHCP est correctement configuré.

sur Mac OS X

Les outils disponibles sur Unix sont bien évidemment aussi disponibles sur Mac OS X.

Sur Mac OS X, les Préférences Système… (dans le menu POMME) affiche les diverses configurations ; sélectionner Réseau et il apparaît :

Préférences réseau

Ici, on voit que l'interface filaire (Ethernet) est connectée et configurée. En effet, le système connaît :

  • l'adresse IP,
  • le masque de sous-réseau,
  • l'adresse du routeur,
  • l'adresse d'un serveur DNS.

De plus, l'interface est connectée.

À ce stade, on sait que la connexion au réseau est correcte. Si quelque chose ne va pas, cela ne vient pas du système, ni de sa configuration.

Apple offre aussi l'interface Utilitaire de réseau (situé dans /Applications/Utilities).

Informations générales

Dans l'onglet Netstat, cliquer le bouton et la table apparaît ; sur la première ligne, on note la route par défaut : Table de routage

Ici, cette route est liée à l'interface en0 et le routeur se nomme Livebox-B2A0.

L'onglet Ping permet de tester si une machine fonctionne ou non ; le résultat est sujet à caution étant donné qu'une machine, bien que fonctionnant normalement, peut ne pas répondre aux requêtes envoyées avec cet outil.

Ici, le routeur à l'adresse 192.168.1.1 répond correctement (0 % de perte, temps de réponse inférieur à 1.5ms) :

Ping

En principe, le routeur du réseau local répond à ces requêtes.

L'onglet Lookup permet de voir les informations renvoyer par les serveurs DNS configurés sur le système. Commençons par Livebox-B2A0 (c'est ainsi qu'apparaît notre routeur) :

DNS

Le serveur DNS renvoie bien sa propre adresse ; le serveur DNS renseigné étant aussi le routeur (192.168.1.1), c'est raisonnable. Testons maintenant sur un nom connu. Pour tester le nommage et la connexion, les informaticiens utilisent en général perdu.com (voir la page http://perdu.com, une des plus anciennes du Web) :

DNS perdu.com

À ce stade, le service de noms fonctionne.

Enfin, l'onglet Traceroute permet de voir le chemin emprunté pour communiquer avec telle ou telle machine. Recommençons avec perdu.com :

Traceroute

Pour chaque routeur traversé, le temps de réponses à trois requêtes est affiché, montrant ainsi la latence. Ici la machine est au 14ème hop et semble aux États-Unis.

Arrivé à ce stade, la connexion à Internet est parfaitement fonctionnelle.

sur Unix et GNU/Linux

D'un système Unix à un autre, d'une distribution GNU/Linux à une autre les outils graphiques seront très différents les uns des autres, cet aspect n'étant pas normalisé. Notons néanmoins que la distribution GNU/Linux « Ubuntu » propose un outil similaire à celui de Mac OS X pour configurer les interfaces.

Par contre, les commandes classiques, montrent elles à peu près toujours les mêmes choses. Ouvrir un terminal (même remarque que ci-dessus) avant de continuer.

La commande ifconfig(8) affiche l'état d'une interface :

$ ifconfig bge0
bge0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.1.13 netmask ffffff00 broadcast 192.168.1.255

Ici l'interface est UP et elle a pour adresse IP 192.168.1.13.

La commande arp(8) montre les voisins sur le réseau :

$ arp -a
Livebox-B2A0 (192.168.1.1) at 0:1f:9f:66:g2:a2 on en0 [ethernet]
plop (192.168.1.11) at 8:0:27:af:eb:65 on en0 [ethernet]
sol10 (192.168.1.13) at 0:3:ba:a1:22:09 on en0 [ethernet]

Comme les entrées dans cette table disparaissent vite, si aucune autre machine n'apparaît, utiliser ping(8) (cf. supra) avant d'utiliser arp(8).

À ce stade, on sait que le système est correctement connecté au réseau.

La commande netstat(1) montre la table de routage du système, le plus souvent avec les options -rn et -f inet (utiliser -rn -4 sur GNU/Linux) :

$ netstat -rn -f inet
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.1.1        UGSc       26      585    en0
127                127.0.0.1          UCS         0        0    lo0
127.0.0.1          127.0.0.1          UH          0        4    lo0
...                ...                ...       ...      ...    ...

Ici la première ligne montre que la destination default a pour route 192.168.1.1. Parfois l'adresse 0.0.0.0 est affichée à la place de default, comme ici sous GNU/Linux :

;; netstat -rn -4
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.124   0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0

La dernière ligne affiche ici la route par défaut.

À ce stade, on sait qu'une route par défaut est configurée.

La commande ping(8) envoie des requêtes à une adresse ; l'option -c permet d'indiquer combien de paquets envoyer avant de terminer. Si l'appareil fonctionne, en général il est configuré pour répondre. Testons le routeur :

;;  ping -c 4 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=1.381 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1.151 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=1.215 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=1.164 ms

--- 192.168.1.1 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.151/1.228/1.381/0.092 ms

Ici, le routeur répond correctement (0 % de perte, réponse en 1.2ms en moyenne).

En principe, le routeur du réseau local répond à ces requêtes.

Pour tester le service de nommage, utiliser la commande nslookup(8) :

$ nslookup 192.168.1.1
Server:         192.168.1.1
Address:        192.168.1.1#53

1.1.168.192.in-addr.arpa        name = Livebox-B2A0.

Le serveur DNS répond que 192.168.1.1 a pour nom Livebox-B2A0 ; les deux premières lignes identifient le serveur lui-même, la réponse se lit donc sur la dernière ligne. Pour tester le nommage et la connexion, les informaticiens utilisent en général perdu.com (voir la page http://perdu.com, une des plus anciennes du Web) :

$ nslookup perdu.com
Server:         192.168.1.1
Address:        192.168.1.1#53

Non-authoritative answer:
Name:   perdu.com
Address: 82.165.176.145

Le serveur, lorsqu'il est interrogé sur un nom (perdu.com) renvoie une adresse IP (82.165.176.145). Il semble donc fonctionner correctement.

À ce stade, on sait que le nommage fonctionne et la connexion à Internet est fonctionnelle.

Pour finir, pour tester le chemin réseau vers une machine, utiliser la commande traceroute(8) :

;;  traceroute perdu.com
traceroute to perdu.com (82.165.176.145), 64 hops max, 40 byte packets
 1  Livebox-B2A0 (192.168.1.1)  40.884 ms  0.959 ms  0.874 ms
 2  * * *
 3  10.224.1.5 (10.224.1.5)  55.295 ms  55.539 ms  55.851 ms
 4  tengige1-0-0-4.ntaub201.Aubervilliers.francetelecom.net (193.252.98.134)  55.336 ms  54.208 ms  56.464 ms
 5  81.253.131.98 (81.253.131.98)  61.631 ms  56.514 ms  57.836 ms
 6  tengige0-5-0-7.pastr1.Paris.opentransit.net (193.251.129.130)  54.528 ms  58.461 ms  53.811 ms
 7  telia-4.GW.opentransit.net (193.251.254.154)  54.048 ms  54.641 ms  57.639 ms
 8  prs-bb1-link.telia.net (80.91.249.36)  57.968 ms prs-bb2-link.telia.net (80.91.248.10)  70.967 ms prs-bb1-link.telia.net (80.91.250.53)  57.371 ms
 9  nyk-bb2-link.telia.net (80.91.251.100)  166.206 ms  129.516 ms  125.577 ms
10  nyk-b5-link.telia.net (80.91.253.102)  132.069 ms nyk-b5-link.telia.net (80.91.248.158)  130.787 ms nyk-b5-link.telia.net (80.91.248.162)  130.387 ms
11  schlund-118342-nyk-b5.c.telia.net (213.248.95.70)  126.985 ms  128.449 ms  129.300 ms
12  vl-840.gw-core-b.whn.oneandone.net (74.208.1.221)  129.782 ms  128.563 ms  131.704 ms
13  ae-1.gw-prtr-b.whn.oneandone.net (74.208.6.54)  132.197 ms  148.475 ms  132.032 ms
14  koala.bok.net (82.165.176.145)  131.455 ms  128.347 ms  132.151 ms

Pour chaque routeur traversé, le temps de réponses à trois requêtes est affiché, montrant ainsi la latence. Ici la machine est au 14ème hop et semble aux États-Unis.

Arrivé à ce stade, la connexion à Internet est parfaitement fonctionnelle.

sur Windows

Pour identifier les interfaces, ouvrir le panneau de configuration : cliquer sur Démarrer et dans Paramètres, cliquer sur Connexions réseau. Apparaît une fenêtre montrant les connexions réseau :

Les connexions réseau

Ici, l'interface est connectée. Lorsque ça n'est pas le cas, l'interface peut être désactivée :

Interface désactivée

ou simplement déconnectée :

Interface déconnectée

Dans ce dernier cas, c'est affiché dans la zone de notification (systray, en bas à droite) :

Déconnexion

Informations sur une interface

Pour obtenir des informations sur une connexion, la sélectionner puis cliquer sur Afficher le statut de cette connexion : Sélection d'une connexion réseau

Une nouvelle fenêtre s'ouvre. On note dores et déjà l'état de l'interface (connectée) : État de l'interface

L'onglet Support affiche plus d'informations : Informations sur l'interface

En cliquant sur le bouton Détails, ces derniers s'affichent : Informations avancées

Ici, on voit que l'interface filaire (Ethernet) est connectée et configurée. En effet, le système connaît :

  • l'adresse IP,
  • le masque de sous-réseau,
  • l'adresse du routeur,
  • l'adresse d'un serveur DNS.

De plus, l'interface est connectée.

À ce stade, on sait que la connexion au réseau est correcte. Si quelque chose ne va pas, cela ne vient pas du système, ni de sa configuration.

Tests

Lancer le shell ; pour cela, cliquer sur Démarrer puis Exécuter et taper cmd dans le cartouche ; valider.

Une fenêtre s'ouvre : Le shell Windows

La commande ipconfig.exe affiche l'état des interfaces, l'utiliser avec l'option /all :

C:\Documents and Settings\m> ipconfig /all

Configuration IP de Windows

        Nom de l'hôte . . . . . . . . . . : plop
        Suffixe DNS principal . . . . . . :
        Type de nœud . . . . . . . . . . : Inconnu
        Routage IP activé . . . . . . . . : Non
        Proxy WINS activé . . . . . . . . : Non

Carte Ethernet Connexion au réseau local:

        Suffixe DNS propre à la connexion :
        Description . . . . . . . . . . . : AMD PCNET Family Ethernet Adapter (PCI)
        Adresse physique. . . . . . . . . : 08-00-27-AF-EB-65
        DHCP activé . . . . . . . . . . . : Oui
        Configuration automatique activée . . . . : Oui
        Adresse IP. . . . . . . . . . . . : 192.168.1.11
        Masque de sous-réseau . . . . . . : 255.255.255.0
        Passerelle par défaut . . . . . . : 192.168.1.1
        Serveur DHCP. . . . . . . . . . . : 192.168.1.1
        Serveurs DNS. . . . . . . . . . . : 192.168.1.1
        Bail obtenu . . . . . . . . . . . : lundi 23 novembre 2009 23:28:16
        Bail expirant . . . . . . . . . . : mardi 24 novembre 2009 23:28:16

Ici, l'interface est configurée en DHCP, a pour adresse 192.168.1.11 ; le routeur, le serveur DHCP et le serveur DNS ont tous la même adresse 192.168.1.1.

La commande arp.exe, avec l'option -a, montre les voisins sur le réseau :

C:\Documents and Settings\m> arp -a

Interface : 192.168.1.11 --- 0x20002
  Adresse Internet      Adresse physique      Type
  192.168.1.1           00-1f-9f-66-b2-a2     dynamique
  192.168.1.195         00-23-62-9d-ac-8a     dynamique

Ici, la machine a l'adresse 192.168.1.11 connaît deux voisins : 192.168.1.1 et 192.168.1.196. Si ces appareils sont affichés par arp.exe et si leur adresse est de type dynamique (comme c'est le cas ici), ils fonctionnent. Comme les entrées dans cette table disparaissent vite, si aucune autre machine n'apparaît, utiliser ping.exe (cf. supra) avant d'utiliser arp.exe.

À ce stade, on sait que le système est correctement connecté au réseau.

La commande ping.exe envoie des requêtes à une adresse. Si l'appareil fonctionne, en général il est configuré pour répondre. Testons le routeur :

C:\Documents and Settings\m> ping 192.168.1.1

Envoi d'une requête 'ping' sur 192.168.1.1 avec 32 octets de données :

Réponse de 192.168.1.1 : octets=32 temps=5 ms TTL=64
Réponse de 192.168.1.1 : octets=32 temps=3 ms TTL=64
Réponse de 192.168.1.1 : octets=32 temps=1 ms TTL=64
Réponse de 192.168.1.1 : octets=32 temps=2 ms TTL=64

Statistiques Ping pour 192.168.1.1:
    Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
    Minimum = 1ms, Maximum = 5ms, Moyenne = 2ms

Ici, le routeur répond correctement (0 % de perte, réponse en 2ms en moyenne).

En principe, le routeur du réseau local répond à ces requêtes.

Pour tester le service de nommage, utiliser la commande nslookup.exe :

C:\Documents and Settings\m> nslookup 192.168.1.1
Serveur :  Livebox-B2A0
Address:  192.168.1.1

Nom :    Livebox-B2A0
Address:  192.168.1.1

Le serveur DNS répond que 192.168.1.1 a pour nom Livebox-B2A0 ; les deux premières lignes identifient le serveur lui-même, la réponse se lit donc sur les deux dernières lignes. Pour tester le nommage et la connexion, les informaticiens utilisent en général perdu.com (voir la page http://perdu.com, une des plus anciennes du Web) :

C:\Documents and Settings\m> nslookup perdu.com
Serveur :  Livebox-B2A0
Address:  192.168.1.1

Réponse ne faisant pas autorité :
Nom :    perdu.com
Address:  82.165.176.145

Le serveur, lorsqu'il est interrogé sur un nom (perdu.com) renvoie une adresse IP (82.165.176.145).

À ce stade, le service de noms fonctionne correctement.

Pour finir, pour tester le chemin réseau vers une machine, utiliser la commande tracert.exe :

C:\Documents and Settings\m> tracert perdu.com

Détermination de l'itinéraire vers perdu.com [82.165.176.145]
avec un maximum de 30 sauts :

  1     8 ms    <1 ms     1 ms  Livebox-B2A0 [192.168.1.1]
  2     *        *        *     Délai d'attente de la demande dépassé.
  3    59 ms    59 ms   133 ms  10.224.1.5
  4   231 ms    57 ms    57 ms  tengige1-0-0-4.ntaub201.Aubervilliers.francetelecom.net [193.252.98.134]
  5    64 ms    58 ms    58 ms  81.253.131.98
  6    59 ms    56 ms    59 ms  tengige0-5-0-7.pastr1.Paris.opentransit.net [193.251.129.130]
  7    59 ms    60 ms    59 ms  telia-4.GW.opentransit.net [193.251.254.154]
  8    62 ms    60 ms    59 ms  prs-bb1-link.telia.net [80.91.250.53]
  9   135 ms   135 ms   133 ms  nyk-bb1-link.telia.net [80.91.253.122]
 10   133 ms   133 ms   195 ms  nyk-b5-link.telia.net [80.91.249.16]
 11   132 ms   130 ms   129 ms  schlund-118342-nyk-b5.c.telia.net [213.248.95.70]
 12   134 ms   132 ms   135 ms  vl-840.gw-core-b.whn.oneandone.net [74.208.1.221]
 13   134 ms   134 ms   136 ms  ae-1.gw-prtr-b.whn.oneandone.net [74.208.6.54]
 14   134 ms   134 ms   134 ms  koala.bok.net [82.165.176.145]

Itinéraire déterminé.

Pour chaque routeur traversé, le temps de réponses à trois requêtes est affiché, montrant ainsi la latence. Ici la machine est au 14ème hop et semble aux États-Unis.

Arrivé à ce stade, la connexion à Internet est parfaitement fonctionnelle.
LDAP: couldn't connect to LDAP server
sysadmin/reseau/diagnostic.txt · Dernière modification: 2011/01/06 12:26 de pc

Outils de la page