1、ciscoerrdisable关于cisco errdisableshow inter statusshow inter status errshow errdisable recovery errdisable recovery cause ? (config)#no errdisable detect cause allerrdisable recovery interval 300(config-if)#no keep交换机端口假死(err-disable)解决方法-出现了这个问题,我们不得不重视起交换机端口“假死”的现象,寻求在交换机不重启的状态下将该端口“拯救”回来的方法。拯救步骤1
2、:查看日志/端口的状态登录进入交换机后,执行show log,会看到如下的提示:21w6d: %ETHCNTR-3-LOOP_BACK_DETECTED: Keepalive packet loop-back detected on FastEthernet0/20.21w6d: %PM-4-ERR_DISABLE: loopback error detected on Fa0/20, putting Fa0/20 in err-disable state以上信息就明确表示由于检测到第20端口出现了环路,所以将该端口置于了err-disable状态。 查看端口的状态Switch# show i
3、nter fa0/20 statusPort Name Status Vlan Duplex Speed TypeFa0/20 link to databackup err-disabled 562 auto auto 10/100BaseTX这条信息更加明确的表示了该端口处于err-disabled状态。既然看到了该端口是被置于了错误的状态了,我们就应该有办法将其再恢复成正常的状态。 拯救步骤2:将端口从错误状态中恢复回来进入交换机全局配置模式,执行errdisable recovery cause ?,会看到如下信息:Switch(config)#errdisable recovery c
4、ause ? all Enable timer to recover from all causes bpduguard Enable timer to recover from BPDU Guard error disable state channel-misconfig Enable timer to recover from channel misconfig disable state dhcp-rate-limit Enable timer to recover from dhcp-rate-limit error disable state dtp-flap Enable tim
5、er to recover from dtp-flap error disable state gbic-invalid Enable timer to recover from invalid GBIC error disable state l2ptguard Enable timer to recover from l2protocol-tunnel error disable state link-flap Enable timer to recover from link-flap error disable state loopback Enable timer to recove
6、r from loopback detected disable state pagp-flap Enable timer to recover from pagp-flap error disable state psecure-violation Enable timer to recover from psecure violation disable state security-violation Enable timer to recover from 802.1x violation disable state udld Enable timer to recover from
7、udld error disable state unicast-flood Enable timer to recover from unicast flood disable state vmps Enable timer to recover from vmps shutdown error disable state从列出的选项中,我们可以看出,有非常多的原因会引起端口被置于错误状态,由于我们明确的知道这台交换机上的端口是由于环路问题而被置于错误状态的,所以就可以直接键入命令:Switch(config)#errdisable recovery cause loopback是啊,就这么
8、简单的一条命令,就把困挠我们很长时间的问题解决了,真的就这么神奇。那么如何验证这条命令是生效了呢? 拯救步骤3:显示被置于错误状态端口的恢复情况Switch# show errdisable recoveryErrDisable Reason Timer Status- -udld Disabledbpduguard Disabledsecurity-violatio Disabledchannel-misconfig Disabledvmps Disabledpagp-flap Disableddtp-flap Disabledlink-flap Disabledgbic-invalid D
9、isabledl2ptguard Disabledpsecure-violation Disabledgbic-invalid Disableddhcp-rate-limit Disabledunicast-flood Disabledloopback EnabledTimer interval: 300 secondsInterfaces that will be enabled at the next timeout:Interface Errdisable reason Time left(sec)- - -Fa0/8 loopback 276Fa0/17 loopback 267Fa0
10、/20 loopback 250从以上显示的信息可以看出,这台交换机有三个端口(Fa0/8、Fa0/17、Fa0/20)会分别在276、267、250秒之后恢复为正常的状态,实际情况也是这样,等了几分钟以后,我们找了一台笔记本电脑,分别接到这几个端口上试了一下,端口都可以正常工作了。这下总算在不重交换机的情况下,将几个处于“假死”状态的端口“拯救”了回来。关于接口处于err-disable的故障排查故障症状:线路不通,物理指示灯灭或者显示为橙色(不同平台指示灯状态不同)show interface 输出显示接口状态:FastEthernet0/47 is down, line protocol
11、 is down (err-disabled)接口状态是err-disable。sw1#show interfaces statusPort Name Status Vlan Duplex Speed TypeFa0/47 err-disabled 1 auto auto 10/100BaseTX如果出现了接口状态为err-disable,show interfaces status err-disabled命令能查看触发err-disable的原因。下面示例原因为bpduguard,在连接了交换机的端口配置了spanning-tree bpduguard enable。sw1#show in
12、terfaces status err-disabledPort Name Status ReasonFa0/47 err-disabled bpduguard接口产生err-disable的原因可以由以下的命令来查看,系统缺省的配置是所有列出的原因都能导致接口被置为err-disable。sw1#show errdisable detectErrDisable Reason Detection status- -udld Enabledbpduguard Enabledsecurity-violatio Enabledchannel-misconfig Enabledpsecure-viol
13、ation Enableddhcp-rate-limit Enabledunicast-flood Enabledvmps Enabledpagp-flap Enableddtp-flap Enabledlink-flap Enabledl2ptguard Enabledgbic-invalid Enabledloopback Enableddhcp-rate-limit Enabledunicast-flood Enabled从列表中,我们可以看出常见的原因有udld,bpduguard,link-flap以及loopback等。具体由什么原因导致当前接口err-disable可以由show
14、 interface status err-disable来查看。在接口模式下采用shutdown,no shutdown进行手动的激活。在缺省配置下,一旦接口被置为err-disable,IOS将不会试图恢复接口。这个可以由show errdisable recovery来查看,timer status下面所有的值都是disable。下面的示例中,由于手工配置了bpduguard恢复,所以timer status的值变为Enable。sw1#show errdisable recoveryErrDisable Reason Timer Status- -udld Disabledbpdugu
15、ard Enabledsecurity-violatio Disabledchannel-misconfig Disabledvmps Disabledpagp-flap Disableddtp-flap Disabledlink-flap Disabledl2ptguard Disabledpsecure-violation Disabledgbic-invalid Disableddhcp-rate-limit Disabledunicast-flood Disabledloopback DisabledTimer interval: 300 secondsInterfaces that
16、will be enabled at the next timeout:Interface Errdisable reason Time left(sec)- - -Fa0/47 bpduguard 217配置IOS重新激活errdisable的接口,使用以下命令:sw1(config)#errdisable recovery cause bpduguardsw1(config)#errdisable recovery cause ?all Enable timer to recover from all causesbpduguard Enable timer to recover from
17、 BPDU Guard error disable statechannel-misconfig Enable timer to recover from channel misconfig disable statedhcp-rate-limit Enable timer to recover from dhcp-rate-limit error disable statedtp-flap Enable timer to recover from dtp-flap error disable stategbic-invalid Enable timer to recover from inv
18、alid GBIC error disable statel2ptguard Enable timer to recover from l2protocol-tunnel error disable statelink-flap Enable timer to recover from link-flap error disable stateloopback Enable timer to recover from loopback detected disable statepagp-flap Enable timer to recover from pagp-flap error dis
19、able statepsecure-violation Enable timer to recover from psecure violation disable statesecurity-violation Enable timer to recover from 802.1x violation disable stateudld Enable timer to recover from udld error disable stateunicast-flood Enable timer to recover from unicast flood disable statevmps E
20、nable timer to recover from vmps shutdown error disable配置完上述命令后,IOS在一段时间后试图恢复被置为err-disable的接口,这段时间缺省为300秒。但是,如果引起err-disable的源没有根治,在恢复工作后,接口会再次被置为err-disable。调整err-disable的超时时间,可以使用以下命令:sw1(config)#errdisable recovery interval ? timer-interval(sec)可以调整在3086400秒,缺省是300秒。如果产生err-disable的原因是udld,下面有一条
21、命令非常管用:sw1#udld resetNo ports are disabled by UDLD.同时,接口在被置为err-disable的时候,通常有一系列的日志产生,如下:*Mar 15 15:47:19.984: %SPANTREE-2-BLOCK_BPDUGUARD: Received BPDU on port FastEthernet0/47 with BPDU Guard enabled. Disabling port.sw1#*Mar 15 15:47:19.984: %PM-4-ERR_DISABLE: bpduguard error detected on Fa0/47,
22、 putting Fa0/47 in err-disable statesw1#*Mar 15 15:47:21.996: %LINK-3-UPDOWN: Interface FastEthernet0/47, changed state to down收集这些日志也非常管用。所以建议配置一个syslog server,收集log信息。sw1#show interfaces status Port Name Status Vlan Du. 开启errdisable功能,这样可以使用show errdisable来查看引发errdisable的原因是什么,再更加信息内容进行解决。你要是想不影响使
23、用的话,先用 no errdisable detect cause loopback 执行一下,将已经死掉的端口,no sh 一下如果没问题,肯定是环路了,你可再找时间,对怀疑有问题的switch用拔插法,一个一个拔掉网线去查,当然,有更有效的方法,你可查看有问题的 switch的所有rj45和gi口的状态,哪个有errdisable信息哪个就有问题。switch#show interfaces status err-disabledPort Name Status ReasonFa0/22 err-disabled link-flapFa0/37 For office in 100K err
24、-disabled link-flapFa0/41 unknow err-disabled link-flapFa0/42 Training Dc066 err-disabled link-flapFa0/45 Production line VM err-disabled link-flapswitch#show errdisable detectErrDisable Reason Detection status- -pagp-flap Enabled dtp-flap Enabled link-flap Enabled l2ptguard Enabled gbic-invalid Ena
25、bled loopback Enabledswitch#show interfaces status err-disabledPort Name Status ReasonFa0/22 err-disabled link-flapFa0/37 For office in 100K err-disabled link-flapFa0/41 unknow err-disabled link-flapFa0/42 Training Dc066 err-disabled link-flapFa0/45 Production line VM err-disabled link-flapswitch#sh
26、 errdisable flap-valuesErrDisable Reason Flaps Time (sec) - - -pagp-flap 3 30 dtp-flap 3 30 link-flap 5 10 ( link-flap 这就是因为链路质量不好导致的) 关闭errdisable detectswitch#no errdisable detect cause all导致交换机接口出现err-disable的几个常见原因: 1. EtherChannel misconfiguration 2. Duplex mismatch style=TEXT-INDENT: 2em3. BPD
27、U port guard 4. UDLD 5. Link-flap error 6. Loopback error 7. Port security violation 第一个当F EC两端配置不匹配的时候就会出现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的模式配置为
28、channel-group 1 mode desirable non-silent这个意思是只有当双方的FEC协商成功后才建立channel,否则接口还处于正常状态。 第二个原因就是双工不匹配。一端配置为half-duplex后,他会检测对端是否在传输数据,只有对端停止传输数据,他才会发送类似于ack的包来让链路up,但对端却配置成了full-duplex,他才不管链路是否是空闲的,他只会不停的发送让链路up的请求,这样下去,链路状态就变成err- disable了。 三、第三个原因BPDU,也就是和portfast和BPDU guard有关。如果一个接口配置了portfast,那也就是说这个接口应该和一个pc连接,pc是不会发送spanning-tree的BPDU帧的,因此这个口也接收BPDU来生成spanning-tree,管理员也是出于好心在同一接口上配置了BPDU guard来防止未知的BPDU帧以增强安全性,但他恰恰不小心把一个交换机接到这个同时配置了portfast和BPDU guard接口上,于是这个接口接到了BPDU帧,因为配置了BPDU
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1