交换机出现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。这个太简单,就不解释啦。
引用
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。这个太简单,就不解释啦。
推荐阅读
-
华硕笔记本外接键盘无法使用的原因及解决方法
-
WIN8下华硕笔记本Fn键不能用的原因及解决方法
-
交换机出现err-disable原因及解决方法
-
Win8系统发生蓝屏提示reference by pointer错误的故障原因及解决方法
-
Win7系统开机提示An operating system wasnt found错误的原因及三种解决方法
-
win10系统经常假死怎么办 Win10系统电脑经常假死机的原因及解决方法图文教程
-
win7系统提示找不到kx支持的设备请尝试重新安装驱动的原因及解决方法
-
win7系统自动注销怎么办?win7系统经常自动注销的原因分析及两种解决方法
-
win8系统打不开迅雷怎么办?win8系统电脑迅雷无法打开的五种原因及解决方法
-
QQ空间打开几秒后空白页,出现“iexplore.exe 应用程序错误”的原因和解决方法