Ce document explique pourquoi un routeur Cisco IOSMD peut faire l’objet d’un message d’erreur de sous-réseau commun quand le routeur est configuré avec le protocole EIGRP (Enhanced Interior Gateway Routing Protocol).
Le protocole EIGRP utilise des paquets Hello de multidiffusion afin de communiquer avec d'autres voisins EIGRP. Si EIGRP reçoit un paquet Hello provenant d'une adresse IP sur un sous-réseau qui n'est pas configuré sur l'interface de réception EIGRP, EIGRP génère ce message d'erreur :
timestamp: IP-EIGRP: Neighbor neighbor_IP_address not on common subnet for interface
Ce document nécessite une compréhension de base des protocoles de routage IP et du protocole de routage EIGRP en général. Afin d'en savoir plus sur les protocoles de routage IP et sur EIGRP, consultez les documents suivants :
Les informations de ce document sont basées sur le logiciel Cisco IOS Version 12.2(10b) sur les routeurs de la gamme Cisco 2500.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.
Cette section vous fournit des informations pour configurer les fonctionnalités décrites dans ce document.
Remarque : Utilisez l’outil de recherche de commandes (clients inscrits seulement) pour en savoir plus sur les commandes figurant dans le présent document.
Cisco recommande de configurer tous les routeurs d'un segment de réseau avec des adresses IP principales sur le même sous-réseau. Cet exemple montre une configuration EIGRP commune :
Ce document utilise les configurations suivantes :
R1 |
---|
hostname R1 ! interface Ethernet0 ip address 10.1.1.1 255.255.255.0 ! router eigrp 1 network 10.0.0.0 ! end |
R2 |
---|
hostname R2 ! interface Ethernet0 ip address 10.1.1.2 255.255.255.0 ! router eigrp 1 network 10.0.0.0 ! end |
Référez-vous à cette section pour vous assurer du bon fonctionnement de votre configuration.
L'Outil Interpréteur de sortie (clients enregistrés uniquement) (OIT) prend en charge certaines commandes show. Utilisez l'OIT pour afficher une analyse de la sortie de la commande show .
Émettez la commande show ip eigrp neighbor afin de vérifier que les deux routeurs se voient.
R1#show ip eigrp neighbor IP-EIGRP neighbors for process 1 H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 10.1.1.2 Et0 12 00:00:16 0 3000 0 23
R2#show ip eigrp neighbor IP-EIGRP neighbors for process 1 H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 10.1.1.1 Et0 14 00:01:19 12 200 0 11
Utilisez cette section pour dépanner votre configuration.
Si tout est configuré correctement, un formulaire de relation de voisinage EIGRP s'affiche. Modifiez la configuration de R2. Placez l’interface Ethernet0 de R2 dans un sous-réseau différent.
R2#configure terminal R2(config)#interface ethernet0 R2(config-if)#ip address 10.1.2.2 255.255.255.0 R2(config-if)#end
Examinez maintenant la configuration de R2 :
hostname R2 ! interface Ethernet0 ip address 10.1.2.2 255.255.255.0 ! router eigrp 1 network 10.0.0.0 ! end
Vous commencez maintenant à recevoir des messages d’erreur à la réception d’un paquet Hello EIGRP. Dans ce cas, les messages se produisent environ toutes les 15 secondes, sur R1 et R2 :
R1 3w0d: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 01:05:01: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.) 01:05:15: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.) 01:05:30: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.) 01:05:44: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.)
R2 3w0d: IP-EIGRP: Neighbor 10.1.1.1 not on common subnet for Ethernet0 00:48:40: IP-EIGRP: Neighbor 10.1.1.1 not on common subnet for Ethernet0 (10.1.) 00:48:54: IP-EIGRP: Neighbor 10.1.1.1 not on common subnet for Ethernet0 (10.1.) 00:49:08: IP-EIGRP: Neighbor 10.1.1.1 not on common subnet for Ethernet0 (10.1.) 00:49:22: IP-EIGRP: Neighbor 10.1.1.1 not on common subnet for Ethernet0 (10.1.)
Malgré les messages d'erreur, le protocole EIGRP fonctionne correctement avec tous les autres voisins R1 ou R2. La sortie de la commande show ip eigrp neighbor mise à jour indique que le message d'erreur indique un problème grave entre R1 et R2. Les routeurs ne sont plus des voisins et n’échangent plus d’informations de routage.
R1 R1#show ip eigrp neighbor IP-EIGRP neighbors for process 1
R2 R2#show ip eigrp neighbor IP-EIGRP neighbors for process 1
Vous pouvez également voir ce problème dans les réseaux qui utilisent des adresses IP secondaires, si les réseaux ne sont pas correctement configurés. Ajoutez une adresse secondaire à R2 :
R2 R2#configure terminal R2(config)#interface ethernet0 R2(config-if)#ip address 10.1.1.2 255.255.255.0 secondary R2(config-if)#end
La configuration de R2 ressemble maintenant à ceci :
hostname R2 ! interface Ethernet0 ip address 10.1.2.2 255.255.255.0 ip address 10.1.1.2 255.255.255.0 secondary ! router eigrp 1 network 10.0.0.0 ! end
Puisque R2 reconnaît maintenant 10.1.1.0/24 comme sous-réseau valide pour l’interface Ethernet0, vous ne voyez plus le message d’erreur not on common subnet sur R2. R2 affiche R1 en tant que voisin EIGRP et R2 reçoit et accepte les paquets Hello de R1.
Router2#show ip eigrp neighbor IP-EIGRP neighbors for process 1 H Address Interface Hold Uptime SRTT RTO Q Seq Type (sec) (ms) Cnt Num 0 10.1.1.1 Et0 12 00:00:35 1 5000 1 0
Cependant, R1 n’affiche pas R2 en tant que voisin et R1 n’accepte pas les mises à jour de routage de R2. Cela signifie que R2 réinitialise continuellement sa contiguïté de voisinage avec R1. Sur R1, vous continuez à voir le message d'erreur not on common subnet, et R2 ne figure pas dans la table de voisinage EIGRP.
R1#show ip eigrp neighbor IP-EIGRP neighbors for process 01:20:54: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.) 01:21:08: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.) 01:21:22: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.) 01:21:36: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.)
Cela se produit parce que les mises à jour EIGRP utilisent toujours l'adresse IP principale de l'interface sortante comme adresse source. Modifiez l'adresse principale sur R1 pour qu'elle corresponde au sous-réseau principal de R2, qui est 10.1.2.1/24 dans cet exemple.
Vous pouvez configurer certains réseaux avec deux sous-réseaux distincts sur le même segment physique. Dans ce cas, les routeurs EIGRP d'un sous-réseau peuvent ne pas pouvoir communiquer avec les routeurs EIGRP de l'autre sous-réseau. Si vous exécutez le logiciel Cisco IOS Version 11.3, 12.0 ou ultérieure, vous pouvez désactiver les messages d'erreur not on common subnet à l'aide de la commande no eigrp log-neighbor-Warning.
Remarque : Cisco ne recommande généralement pas l'utilisation de la commande no eigrp log-neighbor-Warning. La commande désactive les messages d'erreur not on common subnet sur toutes les interfaces utilisées par le processus EIGRP. Utilisez la commande avec discrétion.
Configurez la commande no eigrp log-neighbor-Warning en mode de configuration du routeur EIGRP.
Router#configure terminal Router(config)#router eigrp 1 Router(config-router)#no eigrp log-neighbor-warnings
Le protocole EIGRP utilise des paquets Hello de multidiffusion afin de communiquer avec d'autres voisins EIGRP. EIGRP génère le message d'erreur not on common subnet lorsqu'il reçoit un paquet Hello EIGRP provenant d'une adresse IP sur un sous-réseau qui n'est pas configuré sur son interface de réception.
Voici la cause générale de ce message d'erreur :
Erreur de configuration des interfaces ou des ports de commutateur ou problème de câblage.
Non-correspondance des adresses IP principales/secondaires sur l'interface voisine.
Un commutateur/concentrateur fuit des paquets de multidiffusion vers d'autres ports.
Si vous utilisez un commutateur LAN, les réseaux locaux virtuels peuvent avoir regroupé des routeurs.
Un autre routeur utilise la publicité EIGRP sur le même sous-réseau/VLAN que ce routeur et est mal configuré avec un numéro de système autonome incorrect.
Afin de résoudre ce problème, vérifiez les éléments suivants :
Vérifiez que le câble est correctement connecté.
Vérifiez deux fois la configuration de l’interface pour détecter les adresses IP mal configurées sur les routeurs locaux et voisins.
Vérifiez que l’adresse principale de l’interface se trouve dans le même sous-réseau que l’adresse principale du routeur voisin.
Si la connexion de voisinage EIGRP est jointe via un concentrateur LAN, utilisez des concentrateurs séparés afin de diviser le domaine de diffusion pour chaque segment LAN logique, ou configurez aucun log-neighbor-Warning eigrp pour éliminer les erreurs.
Si un commutateur est impliqué, vérifiez la configuration du commutateur pour vous assurer que différents segments de réseau local ne sont pas configurés pour se trouver dans le même VLAN qui partage le même domaine de diffusion.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
27-Mar-2006 |
Première publication |