Questo documento spiega perché un router Cisco IOS® può ricevere un messaggio di errore not on common subnet quando il router è configurato con Enhanced Interior Gateway Routing Protocol (EIGRP).
Il protocollo EIGRP utilizza pacchetti hello multicast per comunicare con altri vicini del protocollo EIGRP. Se il protocollo EIGRP riceve un pacchetto Hello originato da un indirizzo IP su una subnet non configurata sull'interfaccia di ricezione EIGRP, EIGRP genera questo messaggio di errore:
timestamp: IP-EIGRP: Neighbor neighbor_IP_address not on common subnet for interface
Questo documento richiede una comprensione di base dei protocolli di routing IP e del protocollo di routing EIGRP in generale. Per ulteriori informazioni sui protocolli di routing IP e sull'EIGRP, consultare i seguenti documenti:
Per la stesura del documento, è stato usato il software Cisco IOS versione 12.2(10b) sui router Cisco serie 2500.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
In questa sezione vengono presentate le informazioni necessarie per configurare le funzionalità descritte più avanti nel documento.
Nota: per ulteriori informazioni sui comandi menzionati in questo documento, usare lo strumento di ricerca dei comandi (solo utenti registrati).
Cisco consiglia di configurare tutti i router su un segmento di rete con indirizzi IP primari sulla stessa subnet. L'esempio mostra una configurazione EIGRP comune:
Nel documento vengono usate queste configurazioni:
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 |
Per verificare che la configurazione funzioni correttamente, consultare questa sezione.
Lo strumento Output Interpreter (solo utenti registrati) (OIT) supporta alcuni comandi show. Usare l'OIT per visualizzare un'analisi dell'output del comando show.
Utilizzare il comando show ip eigrp neighbors per verificare che entrambi i router si vedano.
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
Utilizzare questa sezione per risolvere i problemi relativi alla configurazione.
Se tutti gli elementi sono configurati correttamente, verrà visualizzato un modulo di relazione di tipo adiacente EIGRP. Modificare la configurazione di R2. Posizionare l'interfaccia Ethernet0 di R2 in una subnet diversa.
R2#configure terminal R2(config)#interface ethernet0 R2(config-if)#ip address 10.1.2.2 255.255.255.0 R2(config-if)#end
Osservare la configurazione di R2:
hostname R2 ! interface Ethernet0 ip address 10.1.2.2 255.255.255.0 ! router eigrp 1 network 10.0.0.0 ! end
Ora si inizia a ricevere messaggi di errore alla ricezione di un pacchetto di saluto EIGRP. In questo caso, i messaggi vengono visualizzati approssimativamente ogni 15 secondi, su R1 e 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.)
Nonostante i messaggi di errore, EIGRP funziona correttamente con tutti gli altri vicini R1 o R2. L'output aggiornato del comando show ip eigrp neighbors mostra che il messaggio di errore indica un problema grave tra R1 e R2. I router non sono più vicini e non si scambiano più informazioni di routing.
R1 R1#show ip eigrp neighbor IP-EIGRP neighbors for process 1
R2 R2#show ip eigrp neighbor IP-EIGRP neighbors for process 1
Il problema si verifica anche nelle reti che utilizzano indirizzi IP secondari, se le reti non sono configurate correttamente. Aggiungere un indirizzo secondario a 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 configurazione di R2 è ora simile alla seguente:
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
Poiché R2 ora riconosce 10.1.1.0/24 come subnet valida per l'interfaccia Ethernet0, non è più possibile visualizzare il messaggio di errore non su subnet comune in R2. R2 visualizza R1 come router adiacente EIGRP e R2 riceve e accetta pacchetti hello 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
R1 tuttavia non visualizza R2 come router adiacente e R1 non accetta aggiornamenti di routing da R2. Ciò significa che R2 reimposta continuamente la adiacenza di router adiacente con R1. In R1 continuerà a essere visualizzato il messaggio di errore non su subnet comune e R2 non sarà elencato nella tabella dei router adiacenti 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.)
Ciò si verifica perché gli aggiornamenti EIGRP utilizzano sempre l'indirizzo IP primario dell'interfaccia in uscita come indirizzo di origine. Modificare l'indirizzo primario di R1 in modo che corrisponda alla subnet primaria di R2, ovvero 10.1.2.1/24 in questo esempio.
È possibile configurare alcune reti con due subnet separate sullo stesso segmento fisico. In questo caso, i router EIGRP su una subnet potrebbero non essere in grado di comunicare con i router EIGRP sull'altra subnet. Se si esegue il software Cisco IOS versione 11.3, 12.0 o successive, è possibile disabilitare i messaggi di errore non in subnet comune usando il comando no eigrp log-neighbors-warnings.
Nota: Cisco in genere non consiglia di utilizzare il comando no eigrp log-neighbors-warnings. Il comando disabilita i messaggi di errore not on common subnet su tutte le interfacce utilizzate dal processo EIGRP. Utilizzare il comando con discrezione.
Configurare il comando no eigrp log-neighbors-warnings nella modalità di configurazione del router EIGRP.
Router#configure terminal Router(config)#router eigrp 1 Router(config-router)#no eigrp log-neighbor-warnings
Il protocollo EIGRP utilizza pacchetti hello multicast per comunicare con altri vicini del protocollo EIGRP. Il protocollo EIGRP genera il messaggio di errore non in subnet comune quando riceve un pacchetto di pronto soccorso EIGRP inviato da un indirizzo IP di una subnet non configurata sull'interfaccia di ricezione.
Di seguito è riportata la causa generale del messaggio di errore:
Configurazione errata delle interfacce o delle porte dello switch o problema di cablaggio.
Mancata corrispondenza degli indirizzi IP primario/secondario sull'interfaccia del router adiacente.
Uno switch/hub sta inviando pacchetti multicast ad altre porte.
Se si utilizza uno switch LAN, le vlan potrebbero aver unito i router.
Un altro router usa l'annuncio EIGRP sulla stessa subnet/vlan del router specificato e non è configurato correttamente con un numero AS errato.
Per risolvere il problema, controllare i seguenti elementi:
Verificare che il cavo sia collegato correttamente.
Controllare due volte la configurazione dell'interfaccia per individuare gli indirizzi IP non configurati correttamente sui router locale e adiacenti.
Verificare che l'indirizzo primario dell'interfaccia si trovi nella stessa subnet dell'indirizzo primario del router adiacente.
Se la connessione adiacente EIGRP viene unita tramite un hub LAN, utilizzare hub separati per suddividere il dominio di trasmissione per ciascun segmento LAN logico o configurare nessun avviso di accesso adiacente Eigrp per eliminare gli errori.
Se è coinvolto uno switch, controllare la configurazione dello switch per verificare che segmenti LAN diversi non siano configurati per essere sulla stessa VLAN che condivide lo stesso dominio di broadcast.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
27-Mar-2006 |
Versione iniziale |