Diagnostic réseau

De Wiki info-lab.fr
Aller à : Navigation, rechercher

Sommaire

Introduction

Voici une méthodologie et quelques utilitaires pour effectuer de la résolution d'incidents réseau.

Méthodes de diagnostic

En cas de problème réseau avéré voici deux méthodes possibles pour identifier l'élément fautif :

  • Contrôler un à un tous les éléments traversés, en partant de la machine jusqu'au grand Internet mondial : Du plus près au plus loin.
  • A chaque niveau contrôle de la partie matérielle, puis de la partie logicielle.

Une autre méthode consiste à partir du retour de quelques commandes lancées combinées à la lecture de quelques logs, de formuler 3 hypothèses, et de les vérifier en partant de la plus rapide (ou la plus simple) à contrôler à la moins rapide (ou la plus complexe).

  • Soit une des 3 hypothèses était bonne et la panne est identifiée.
  • Soit la vérification des 3 hypothèses à permis de collecter assez d'éléments nouveaux afin de reformuler 3 hypothèses supplémentaires.

Contrôle au niveau de sa machine

  • Contrôler sa propre pile TCP/IP :
$ ping localhost    (variante ping 127.0.0.1)
64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.067 ms
64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.049 ms
  • Si la connexion au réseau est filaire, utiliser ethtool :
# ethtool eth1
  Supported ports: [ TP ]
  .......................
  .......................
  Link detected: yes
  • Identification des interfaces réseau :
$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1a:92:45:9b:2b  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          Packets reçus:0 erreurs:0 :0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B)
          Interruption:21 Adresse de base:0xe000 
lo        Link encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          Packets reçus:251 erreurs:0 :0 overruns:0 frame:0
          TX packets:251 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          Octets reçus:24857 (24.8 KB) Octets transmis:24857 (24.8 KB)
wlan0     Link encap:Ethernet  HWaddr 00:08:d3:70:73:1a  
          inet adr:192.168.1.19  Bcast:192.168.1.255  Masque:255.255.255.0
          adr inet6: fe80::208:d3ff:fe90:ad83/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Packets reçus:4845 erreurs:0 :59 overruns:0 frame:0
          TX packets:3810 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          Octets reçus:5623900 (5.6 MB) Octets transmis:498627 (498.6 KB)
  • Contrôle de l'état physique des interfaces au moyen de l'utilitaire mii-tool (Media Independent Interface)
# mii-tool               
15:53:14 eth0: negotiated 1000baseT-HD flow-control, link ok
# mii-tool -w    (-w rafraîchissement régulier de l'état de l'interface)
  • Contrôle d'un connexion sans fil :
$ iwconfig 
Lo     no wireless extensions
eth1   no wireless extensions
wlan0  IEEE 802.11bg  ESSID:"NEUF_0123"  Nickname:"rtl_wifi"
       Mode:Managed  Frequency:2.462 GHz  Access Point: E0:A1:D7:6F:B5:28   
       Bit Rate:54 Mb/s   Sensitivity:0/0  
       Retry:off   RTS thr:off   Fragment thr:off
       Encryption key:off
       Power Management:off
       Link Quality=94/100  Signal level=57/100  Noise level=0/100
       Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
       Tx excessive retries:0  Invalid misc:0   Missed beacon:0
  • Contrôle de la présence de route(s) pour accéder à Internet :
# netstat -rn     (variante route -n)
Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic   MSS Fenêtre irtt Iface       
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlan0        (192.168.1.1 passerelle par défaut)
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 wlan0        (adressage de type APIPA)
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0        (192.168.1.0/24 est mon réseau local)
  • L'interface privée de ma passerelle et-elle joignable ?
$ ping 192.168.1.1
64 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=2.42 ms
64 bytes from 192.168.1.1: icmp_req=2 ttl=64 time=4.48 ms
64 bytes from 192.168.1.1: icmp_req=3 ttl=64 time=2.87 ms

Contrôle au niveau de son accès à Internet (crétinBox, modem/routeur...)

  • Vérifier le bon branchement des interfaces entre la box ou le routeur d'accès opérateur et sa ligne ADSL ou câble. Des diodes lumineuses peuvent renseigner sur l'état de la ligne en question.
  • Se connecter à l'interface de cette crétinBox pour consulter l'état de la ligne et récupérer l'adresse IP publique, puis tester cette adresse publique à partir de son réseau local.
$ ping 84.60.25.251
64 bytes from 192.168.1.1: icmp_req=1 ttl=63 time=3.42 ms
64 bytes from 192.168.1.1: icmp_req=2 ttl=63 time=3.77 ms
  • Le DNS est il fautif ?
$ ping www.gogle.fr          (test d'une machine distante par son nom DNS)
...................
$ ping 82.66.233.254         (test d'une machine distante par son adresse IP)
...................
$ less /etc/resolv.conf
nameserver 192.168.1.1
nameserver 8.8.8.8             (DNS Google)
nameserver 212.27.40.240       (DNS FREE)
  • Si l'adressage des machine est attribué par la crétinBox via DHCP provoquer un renouvellement de bail
# dhclient wlan0
Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Outils