|
Objectif :
Examiner, vérifier et diagnostiquer le bon fonctionnement du routeur.
1)Définition :
Pour diagnostiquer une situation, on procédera par des vérifications à partir de la couche la plus basse. La principale commande est "show" suivie des paramètres appropriés. L'autre principale commande de diagnostic "debug".
2) Vérifications de couche 1
Voici les erreurs communes de couche 1 :
- des câbles rompus
- des câbles déconnectés
- des câbles raccordés à des ports inappropriés
- des connexions instables
- des câbles inappropriés pour la tâche à accomplir (les câbles console, les câbles d'interconnexion et les câbles droits doivent être employés à bon escient)
- des problèmes d'émetteur-récepteur
- des problèmes de câblage ETCD
- des problèmes de câblage ETTD
- des unités hors tension
Ces problèmes sont les plus courants et doivent être vérifiés auparavant.
3) Vérifications de couche 2 :
Plusieurs commandes permettent de donner sur l'état de la liaison et sur le résultat de messages de tests d'activité.
L'état de la liaison correspond à la détection d'une porteuse.
Les messages de tests d'activité correspondent à l'émission de keepalive.
Voici les commandes qui donnent ces résultats :
#show interfaces
#show ip interface
#show ip interface brief
#show protocols
Etat de la liaison |
Test d'activité |
Interprétation |
Interface is up |
line protocol is up |
Opérationnel |
Interface is up |
line protocol is down |
Câblage incorrect (couche 1) :
Par exemple, en Ethernet, câble droit entre un routeur et une station de travail.
Problème de configuration :
- clock rate non reçu sur une interface DTE
- clock rate non donné sur une interface DCE
- encapsulations différentes sur des liaisons
- keepalive à 0 secondes sur une interface
|
Interface is down |
line protocol is down |
La porteuse n'a pas été détectée (couche 1) :
- câble débranché
- câble ou interface défectueux
- interface shutdown du voisin
|
Interface is administratively down |
line protocol is down |
Interface shutdown |
On examinera la commande show interfaces, par exemple :
#show interfaces serial 0
Serial0 is up, line protocol is up
Hardware is HD64570
Internet address is 10.0.0.2/8
MTU 1500 bytes, BW 1544 Kbit, DLY 1000 usec, rely 255/255, load 1/255
Encapsulation HDLC, loopback not set, keepalive set (10 sec)
Champ |
Description |
Hardware is |
Donne le type de matériel. |
Internet address is |
Donne l'adresse IP et le masque. |
MTU |
Maximum transmission unit : taille maximale de paquet, en octets, que peut traiter une interface. |
BW |
Bande passante. |
DLY |
Délai de l'interface en microsecondes : temps entre l'amorce d'une transaction par un émetteur et la première réponse reçue par cet émetteur. |
Relay |
Reliability - Fiabilité : Taux de messages de veille attendus d'une liaison. Si le taux est élevé, la ligne est fiable. Fraction de 255 (255/255 est 100 % de fiabilité), calculé comme moyenne exponentielle sur 5 minutes. |
Load |
Charge : Quantité d'activité sur la liaison. Fraction de 255 (255/255 est complètement saturé), calculé comme moyenne exponentielle sur 5 minutes. |
Encapsulation |
Méthode d'encapsulation de couche 2 sur l'interface |
loopback |
Loopback activé ou non. |
keepalive |
Keepalive défini |
On vérifiera également la configuration courante :
#show running-config
Sans se déplacer sur les routeurs, on peut voir si les interfaces séries sont DCE ou DTE :
#show controllers serial interfacee_number(0/0, 0/1 ...)
HD unit 0, idb = 0x1AE828, driver structure at 0x1B4BA0
buffer size 1524 HD unit 0,V.35 DCE cable
cpb = 0x7, eda = 0x58DC, cda = 0x58F0
RX ring with 16 entries at 0x4075800
...
Les problèmes communs peuvent être les suivants :
- Une interface qui n'est pas activée (shutdown)
- Des interfaces série configurées de façon incorrecte,
- Des interfaces Ethernet configurées de façon incorrecte,
- Un ensemble d'encapsulation inapproprié (HDLC est utilisé par défaut pour les interfaces série),
- Une fréquence d'horloge inappropriée pour les interfaces série.
3) Vérifications de couche 3
a. Configuration :
On vérifiera la configuration courante :
router#show running-config
b. Adressage:
L'état d'ip peut être vérifié.
c. Interfaces
router#show ip interface
Serial0 is up, line protocol is up
Internet address is 10.0.0.2/8
Broadcast address is 255.0.0.0
MTU 1500 bytes,
...
Ethernet0 is up, line protocol is up
Internet address is 192.168.38.2/24
Broadcast address is 255.255.255.0
MTU 1500 bytes,
...
#show ip interface brief :Cette commande permet de vérifier rapidement les paramètres essentiels des interfaces.
#show protocols :
router#show protocols
Global values:
Internet Protocol routing is enabled
Serial0 is up, line protocol is up
Internet address is 10.0.0.2/8
Ethernet0 is up, line protocol is up
Internet address is 192.168.38.2/24
d. Routage :
La table de routage donnera les différentes destinations prises par le ou les protocoles de routage activés sur le routeur. L'existence de routes prises par un protocole de routage signifie que le routeur a pris des routes. Par ailleurs, l'existence des ces entrées n'indique nullement que le routeur envoie des informations de routage.
#show ip route:
Où :
Colonne 1 : type de protocole de routage
Colonne 2 : réseau de destination
Colonne 3 : distance administrative / valeur de la métrique
Colonne 4 : joignable par telle prochaine interface
Colonne 5 : âge de la route apprise
Colonne 6 : interface de sortie du routeur
Par contre, on vérifiera les paramètres de routage sur le routeur en regardant le fichier de configuration ou de manière plus dynamique par la commande :
#show ip protocols:
5) Connectivité :
Ping:
La commande Ping (Packet InterNet Groper) est une méthode très utile pour vérifier la connectivité. Elle utilise deux messages ICMP (Internet Control Message Protocol), des ICMP Echo Requests et des ICMP Echo Replies pour déterminer qu'un hôte distant est joignable. Cette commande mesure également le temps pris pour recevoir un Echo Reply.
router>ping 10.0.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
router>
Le ping étendu :
Quand la commande normale ping est envoyée d'un routeur, l'adresse source est celle de l'interface qui est utilisée pour sortir. Avec la commande ping étendu, on peut construire plus précisément sa requête Echo ICMP (notamment spécifier l'adresse IP source). L'appel à la commande étendue se fait en tapant ping suivi d'un retour chariot. La commande posera une série de question auxquelles il faudra répondre. Les réponses par défaut s'accusent par un retour chariot.
#ping :
Question |
Description |
Protocol [ip]: |
Protocole routé supporté : appletalk, clns, ip, novell, apollo, vines, decnet, or xns. Par défaut, ip. |
Target IP address: |
Adresse IP de destination ou nom d'hôte à vérifier. Par défaut, rien. |
Repeat count [5]: |
Nombre de paquets qui seront envoyés à l'adresse de destination. Par défaut, 5. |
Datagram size [100]: |
Taille du paquet en octets. Par défaut, 100 octets. |
Timeout in seconds [2]: |
Intervalle de Timeout. Par défaut, 2 secondes. Le ping est déclaré satisfaisant seulement si l'Echo Reply est reçu endéans cet intervalle. |
Extended commands [n]: |
Demande si l'on veut utiliser des commandes supplémentaires. Par défaut, non. |
Source address or interface: |
Adresse source ou interface (avec une syntaxe correcte). |
Type of service [0]: |
Spécifie le le « type of service » (ToS). Par défaut, 0. |
Set DF bit in IP header? [no]: |
Spécifie si le bit « Don't Fragment » (DF) est activé ou pas. Utile pour spécifier le plus petit MTU dans un trajet. Par défaut, non. |
Validate reply data? [no]: |
Spécifie s'il y aura validation ou non des données de réponse. Par défaut, non. |
Data pattern [0xABCD] |
Spécifie le modèle de donnée. Utile pour diagnostiquer des problèmes de trames ou d'horloge sur des lignes sérielles. Par défaut, 0xABCD. |
Loose, Strict, Record, Timestamp, Verbose[none]: |
Options d'en-têtes IP. Par défaut, non. |
Sweep range of sizes [n]: |
Permet de faire varier la taille des paquets d'écho envoyés. Par défaut, non. |
!!!!! |
Chaque « ! » signifie la réception d'une réponse. |
..... |
Chaque « . » signifie que les requêtes ICMP n'ont pas reçu de réponse avant le temps requis. |
UUUUU |
Chaque « U » signifie qu'un paquet « destination inaccessible » a été reçu. |
MMMMM |
Chaque « M » correspond à l'impossibilité de fragmenter les paquets |
????? |
Chaque « ? » correspond à des paquets inconnus reçus |
&&&&& |
Chaque « & » signifie que la durée de vie des paquets est dépassée |
Success rate is 100 percent |
Pourcentage des paquets pour lesquels le routeur a reçu une réponse. En dessous de 80 % est habituellement considéré comme problématique. |
round-trip min/avg/max = 1/2/4 ms |
Temps de trajet de retour (Round-trip travel time intervals) pour les réponses (minimum/moyenne/maximum) |
Traceroute :
La commande traceroute permet de voir les différents sauts qu'empruntent les paquets à un moment donné. Sous windows, cette commande devient ‘tracert'. Par exemple:
router#tracerout 192.168.0.3
"Type escape sequence to abort."
Tracing the route to 192.168.0.3
1 10.0.0.1 0 msec 16 msec 0 msec
2 192.168.0.3 20 msec 16 msec *
Comme pour la commande ping, on peut utiliser la commande traceroute en mode étendu (commande seule suivie d'un retour chariot).
Problèmes communs
- un protocole de routage non activé
- un protocole de routage activé mais incorrectement configuré
- des adresses IP incorrectes ou absentes
- des masques de sous-réseau incorrects
- des liens DNS-IP incorrects
- Une passerelle par défaut non configuré sur l'hôte distant (pas de retour possible)
6) Vérifications de la couche 4-7:
Les vérifications de couche 7 s'opèrent en établissant des requêtes à partir d'un client approprié vers le service demandé. On cite çi après que les services les plus courant :
- un navigateur internet pour HTTP
- la commande telnet (IOS et OS PC) pour TELNET
- la commande ftp (OS PC) pour FTP
Il va de soi que ce type de diagnostic permet aussi d'établir l'état des ports ouverts ou filtrés (Liste d'accès ACL).
Debug :
La commande debug donne des messages de diagnostic sur des processus mis en œuvre sur le routeur. En production, il faut prendre garde d'activer ce type de méthode car elle peut prendre beaucoup de ressources. Avant d'activer un quelconque débogage, il convient de vérifier les ressources restantes du routeur avec la commande ‘show process cpu' en mode privilège.
Débogage du routage :
Il peut être utile de voir les informations de routage qui sont envoyées et reçues par le routeur.
Pour Rip:
router#debug ip rip
RIP protocol debugging is on
router_1#
RIP: sending update to 255.255.255.255 via Serial0 (10.0.0.2)
subnet 192.168.38.0, metric 1
RIP: sending update to 255.255.255.255 via Ethernet0 (192.168.38.2)
subnet 10.0.0.0, metric 1
subnet 192.168.0.0, metric 2
...
Pour IGRP:
#debug igrp events
Débogage du ping :
On verra ici l'origine, la destination et la nature des paquets ICMP envoyés et reçus.
#debug ip packet
Désactivation du débogage :
On peut désactiver un debug par la négation (no). On peut également désactiver tout débogage par les commandes suivantes :
#undebug all
Ou,
#no debug all
7) Autres diagnostics :
Pour vérifier la valeur du registre de démarrage, on appliquera la commande
#show version
Pour visualiser le contenu de la startup-config située en NVRAM, autrement dit, pour constater l'enregistrement d'une configuration, on utilisera les commandes :
#show startup-config
Ou,
#show configuration
8) Protocole CDP
Le protocole CDP permet principalement de connaître les plates-formes et les protocoles utilisés par les dispositifs voisins (c'est-à-dire directement connectés). Voici les différentes caractéristiques du protocole CDP :
- Il est exécuté au niveau de la couche liaison de données du modèle OSI. Ainsi, les dispositifs CDP supportant des protocoles de couches réseau différents peuvent échanger des informations.
- Il est apparu à partir de la version 10.3 de la plate-forme logicielle Cisco IOS.
- Il est amorcé par défaut.
On utilise une commande show cdp pour afficher des informations sur les réseaux directement connectés au routeur. Le protocole CDP fournit des renseignements sur tous les voisins exécutant le protocole CDP. Les valeurs affichées sont parmi les suivantes et dépendent de la sous-commande utilisée :
- ID de dispositifs : Par exemple, le nom d'hôte et le nom de domaine du routeur (s'ils existent).
- Liste d'adresses : Au moins une adresse pour le protocole SNMP et, au maximum, une adresse pour chaque protocole supporté.
- Identifiant de port : Par exemple, Ethernet 0, Ethernet 1 et Série 0.
- Liste de capacités : Par exemple, si le dispositif est un routeur, un pont ou un commutateur.
- Version : Information correspondant à celle fournie par la commande locale show version.
- Plate-forme : Plate-forme matérielle du dispositif, par exemple, Cisco 7000.
Voici l'essentiel des commandes concernant le protocole CDP :
- cdp enable : Activer le protocole CDP (Actif par défaut).
- show cdp neighbors : Afficher les mises à jour CDP sur le routeur local.
- show cdp entry {nom du dispositif} : Afficher une entrée CDP particulière mise en mémoire cache.
- Show cdp entry * : Idem mais pour tous les dispositifs voisins en même temps.
- show cdp neighbors detail : Cumule les informations livrées par les commandes show cdp entry et show cdp neighbors.
- show cdp interface : Afficher les valeurs des compteurs CDP, l'état de l'interface et l'encapsulation utilisée par le protocole CDP pour la transmission des trames d'annonce et de recherche.
8) Liste des commandes
- #show interfaces [type number]
- #show ip interface[type number]
- #show ip interface brief
- #show protocols
- #show running-config
- #show controllers [type number]
- (config)#cdp run
- (config-if)#cdp enable
- (config)#cdp timer seconds
- (config)#cdp holdtime seconds
- #clear cdp counters
- #clear cdp table
- #show cdp
- #show cdp entry entry-name [protocol|version]
- #show cdp interface [type number]
- #show cdp neighbors [type number] [detail]
- #show cdp traffic
- #show ip route
- #show ip protocols
- >ping ip_address
- #ping [ip_address]
- >traceroute ip_address
- #traceroute [ip_address]
- #show process cpu
- #debug ip rip
- #debug igrp events
- #debug ip packet
- #undebug all
- #no debug all
- #show process memory
- (config)#logging console
- (config)#logging buffered value_in_bytes
- #show log
- (config)#logging ip_address
- #show version
- #show startup-config
- #show configuration
|
|