欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

交换机出现err-disable原因及解决方法

程序员文章站 2023-10-28 17:20:04
交换机出现err-disable原因及解决方法...
导致交换机接口出现err-disable的几个常见原因:

引用
1. etherchannel misconfiguration
2. duplex mismatch
3. bpdu port guard
4. udld
5. link-flap error
6. loopback error
7. port security violation


1 当fec两端配置不匹配的时候就会出现err-disable。假设switch a把fec模式配置为on,这时switch a是不会发送pagp包和相连的switch b去协商fec的,它假设switch b已经配置好fec了。但实事上swtich b并没有配置fec,当switch b的这个状态超过1分钟后,switch a的stp就认为有环路出现,因此也就出现了err-disable。解决办法就是把fec的模式配置为channel-group 1 mode desirable non-silent这个意思是只有当双方的fec协商成功后才建立channel,否则接口还处于正常状态。

2 第二个原因就是双工不匹配。一端配置为half-duplex后,他会检测对端是否在传输数据,只有对端停止传输数据,他才会发送类似于ack的包来让链路up,但对端却配置成了full-duplex,他才不管链路是否是空闲的,他只会不停的发送让链路up的请求,这样下去,链路状态就变成err-disable了。

3 第三个原因bpdu,也就是和portfast和bpdu guard有关。如果一个接口配置了portfast,那也就是说这个接口应该和一个pc连接,pc是不会发送spanning-tree的bpdu帧的,因此这个口也接收bpdu来生成spanning-tree,管理员也是出于好心在同一接口上配置了bpdu guard来防止未知的bpdu帧以增强安全性,但他恰恰不小心把一个交换机接到这个同时配置了portfast和bpdu guard接口上,于是这个接口接到了bpdu帧,因为配置了bpdu guard,这个接口自然要进入到err-disable状态。解决办法:no spanning-tree portfast bpduguard default,或者直接把portfast关了。

4 第四个原因是udld。udld是cisco的私有2层协议,用于检测链路的单向问题。有的时候物理层是up的,但链路层就是down,这时候就需要udld去检测链路是否是真的up的。当ab两端都配置好udld后,a给b发送一个包含自己port id的udld帧,b收到后会返回一个udld帧,并在其中包含了收到的a的port id,当a接收到这个帧并发现自己的port id也在其中后,认为这链路是好的。反之就变成err-disable状态了。假设a配置了udld,而b没有配置udld:a给b发送一个包含自己port id的帧,b收到后并不知道这个帧是什么,也就不会返回一个包含a的port id的udld帧,那么这时候a就认为这条链路是一个单向链路,自然也就变成err-disable状态了。

5 第五个原因就是链路的抖动,当链路在10秒内反复up、down五次,那么就进入err-disable状态。

6 第六个原因就是keepalive loopback。在12.1ea之前,默认情况下交换机会在所有接口都发送keepalive信息,由于一些不通交换机协商spanning-tree可能会有问题,一个接口又收到了自己发出的keepalive,那么这个接口就会变成err-disable了。解决办法就是把keepalive关了。或者把ios升到12.2se

7 最后一个原因,相对简单,就是由于配置了port-security violation shutdown。这个太简单,就不解释啦。