交换机出现err-disable原因及解决方法
程序员文章站
2022-06-11 08:42:38
交换机出现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。这个太简单,就不解释啦。
上一篇: 宽带路由选购关键参数逐个看
下一篇: 有线、无线混合网典型故障及其解决方法
推荐阅读
-
asp.net导出Excel乱码的原因及解决方法
-
MySQL命令行界面中出现字符错误提示的原因及解决方法
-
MSSQL产生死锁的根本原因及解决方法
-
.net生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法
-
MySQL命令行界面中出现字符错误提示的原因及解决方法
-
MSSQL产生死锁的根本原因及解决方法
-
.net生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法
-
同一文件分别用PHP/Python/Javascript读取并计算MD5,结果均不同,请教原因及解决方法
-
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
-
Mysql 报Row size too large 65535 的原因及解决方法