在最近一次做CCNP实验的时候,发现在配置了几台路由器的EIGRP之后,出现了 "Not On Common Subnet" 报错信息,本文讲一下这个报错是如何产生的,且如何正确配置来避免报错以及如何直接关闭路由器输出这个报错信息。
Enhanced Interior Gateway Routing Protocol (EIGRP)使用多播的hello报文和其他EIGRP邻居进行通信,如果配置了EIGRP的路由器收到了一个来自IP地址段不同于接受到该报文的接口的IP地址段的报文,EIGRP就会产生以下报错:
timestamp: IP-EIGRP: Neighbor neighbor_IP_address not on common subnet for interface
下面是我做实验的拓扑图:
R1, R3, R4都接在一个交换机的VLAN1上,因此导致137.1.1.0/24和137.1.34.0/24网段在同一个广播域内,因此从R1的角度说,R1的接口收到了R3,R4发的关于137.1.34.0/24网段的多播报文,所以会发出以上报错。解决这个问题的办法,是在交换机上把不同网段分配到不同VLAN中。
产生 "Not On Common Subnet" 报错的可能情况:
- 接口配置错误或者链路问题
- 邻居接口的 primary/secondary IP 地址不匹配
- 一个交换机/HUB 将多播报文传播到其他口(本文例子)
- 其他EIGRP路由器广告同样的子网/VLAN但是配置了错误的AS号码
为了排错的目的,可以检查以下的项目:
- 确保线路连接是正常的
- 再次检查自己和对段邻居的接口IP地址
- 确保本端的primary IP地址和邻居路由器的primary IP地址是在同一个子网的
- 如果和EIGRP邻居连接是通过一个LAN HUB的话,使用多个HUBS来对一个网段分割一个广播域,或者配置no eigrp log-neighbor-warnings来忽略该报错
- 如果和EIGRP邻居连接是通过一个SWITCH的话,检查交换机配置来针对不同LAN网段配置不同的VLAN以确保不同网段间不会共享同一个广播域。
文章评论
沙发我做了喔!后排跟上