ciscoerrdisableWord格式.docx
《ciscoerrdisableWord格式.docx》由会员分享,可在线阅读,更多相关《ciscoerrdisableWord格式.docx(20页珍藏版)》请在冰点文库上搜索。
%PM-4-ERR_DISABLE:
loopbackerrordetectedonFa0/20,puttingFa0/20inerr-disablestate
以上信息就明确表示由于检测到第20端口出现了环路,所以将该端口置于了err-disable状态。
查看端口的状态
Switch#showinterfa0/20status
PortNameStatusVlanDuplexSpeedType
Fa0/20linktodatabackuperr-disabled562autoauto10/100BaseTX
这条信息更加明确的表示了该端口处于err-disabled状态。
既然看到了该端口是被置于了错误的状态了,我们就应该有办法将其再恢复成正常的状态。
拯救步骤2:
将端口从错误状态中恢复回来
进入交换机全局配置模式,执行errdisablerecoverycause?
,会看到如下信息:
Switch(config)#errdisablerecoverycause?
allEnabletimertorecoverfromallcauses
bpduguardEnabletimertorecoverfromBPDUGuarderrordisablestate
channel-misconfigEnabletimertorecoverfromchannelmisconfigdisablestate
dhcp-rate-limitEnabletimertorecoverfromdhcp-rate-limiterrordisablestate
dtp-flapEnabletimertorecoverfromdtp-flaperrordisablestate
gbic-invalidEnabletimertorecoverfrominvalidGBICerrordisablestate
l2ptguardEnabletimertorecoverfroml2protocol-tunnelerrordisablestate
link-flapEnabletimertorecoverfromlink-flaperrordisablestate
loopbackEnabletimertorecoverfromloopbackdetecteddisablestate
pagp-flapEnabletimertorecoverfrompagp-flaperrordisablestate
psecure-violationEnabletimertorecoverfrompsecureviolationdisablestate
security-violationEnabletimertorecoverfrom802.1xviolationdisablestate
udldEnabletimertorecoverfromudlderrordisablestate
unicast-floodEnabletimertorecoverfromunicastflooddisablestate
vmpsEnabletimertorecoverfromvmpsshutdownerrordisablestate
从列出的选项中,我们可以看出,有非常多的原因会引起端口被置于错误状态,由于我们明确的知道这台交换机上的端口是由于环路问题而被置于错误状态的,所以就可以直接键入命令:
Switch(config)#errdisablerecoverycauseloopback
是啊,就这么简单的一条命令,就把困挠我们很长时间的问题解决了,真的就这么神奇。
那么如何验证这条命令是
生效了呢?
拯救步骤3:
显示被置于错误状态端口的恢复情况
Switch#showerrdisablerecovery
ErrDisableReasonTimerStatus
-------------------------------
udldDisabled
bpduguardDisabled
security-violatioDisabled
channel-misconfigDisabled
vmpsDisabled
pagp-flapDisabled
dtp-flapDisabled
link-flapDisabled
gbic-invalidDisabled
l2ptguardDisabled
psecure-violationDisabled
dhcp-rate-limitDisabled
unicast-floodDisabled
loopbackEnabled
Timerinterval:
300seconds
Interfacesthatwillbeenabledatthenexttimeout:
InterfaceErrdisablereasonTimeleft(sec)
----------------------------------------
Fa0/8loopback276
Fa0/17loopback267
Fa0/20loopback250
从以上显示的信息可以看出,这台交换机有三个端口(Fa0/8、Fa0/17、Fa0/20)会分别在276、267、250秒之后恢复为正常的状态,实际情况也是这样,等了几分钟以后,我们找了一台笔记本电脑,分别接到这几个端口上试了一下,端口都可以正常工作了。
这下总算在不重交换机的情况下,将几个处于“假死”状态的端口“拯救”了回来。
关于接口处于err-disable的故障排查
故障症状:
线路不通,物理指示灯灭或者显示为橙色(不同平台指示灯状态不同)
showinterface输出显示接口状态:
FastEthernet0/47isdown,lineprotocolisdown(err-disabled)
接口状态是err-disable。
sw1#showinterfacesstatus
PortNameStatusVlanDuplexSpeedType
Fa0/47err-disabled1autoauto10/100BaseTX
如果出现了接口状态为err-disable,showinterfacesstatuserr-disabled命令能查看触发err-disable的原因。
下面示例原因为bpduguard,在连接了交换机的端口配置了spanning-treebpduguardenable。
sw1#showinterfacesstatuserr-disabled
PortNameStatusReason
Fa0/47err-disabledbpduguard
接口产生err-disable的原因可以由以下的命令来查看,系统缺省的配置是所有列出的原因都能导致接口被置为err-disable。
sw1#showerrdisabledetect
ErrDisableReasonDetectionstatus
---------------------------------
udldEnabled
bpduguardEnabled
security-violatioEnabled
channel-misconfigEnabled
psecure-violationEnabled
dhcp-rate-limitEnabled
unicast-floodEnabled
vmpsEnabled
pagp-flapEnabled
dtp-flapEnabled
link-flapEnabled
l2ptguardEnabled
gbic-invalidEnabled
loopbackEnabled
从列表中,我们可以看出常见的原因有udld,bpduguard,link-flap以及loopback等。
具体由什么原因导致当前接口err-disable可以由showinterfacestatuserr-disable来查看。
在接口模式下采用shutdown,noshutdown进行手动的激活。
在缺省配置下,一旦接口被置为err-disable,IOS将不会试图恢复接口。
这个可以由showerrdisablerecovery来查看,timerstatus下面所有的值都是disable。
下面的示例中,由于手工配置了bpduguard恢复,所以timerstatus的值变为Enable。
sw1#showerrdisablerecovery
ErrDisableReasonTimerStatus
-------------------------------
udldDisabled
security-violatioDisabled
channel-misconfigDisabled
vmpsDisabled
pagp-flapDisabled
dtp-flapDisabled
link-flapDisabled
l2ptguardDisabled
psecure-violationDisabled
gbic-invalidDisabled
dhcp-rate-limitDisabled
unicast-floodDisabled
loopbackDisabled
Timerinterval:
Interfacesthatwillbeenabledatthenexttimeout:
InterfaceErrdisablereasonTimeleft(sec)
----------------------------------------
Fa0/47bpduguard217
配置IOS重新激活errdisable的接口,使用以下命令:
sw1(config)#errdisablerecoverycausebpduguard
sw1(config)#errdisablerecoverycause?
allEnabletimertorecoverfromallcauses
bpduguardEnabletimertorecoverfromBPDUGuarderrordisablestate
channel-misconfigEnabletimertorecoverfromchannelmisconfigdisablestate
dhcp-rate-limitEnabletimertorecoverfromdhcp-rate-limiterrordisablestate
dtp-flapEnabletimertorecoverfromdtp-flaperrordisablestate
gbic-invalidEnabletimertorecoverfrominvalidGBICerrordisablestate
l2ptguardEnabletimertorecoverfroml2protocol-tunnelerrordisablestate
link-flapEnabletimertorecoverfromlink-flaperrordisablestate
loopbackEnabletimertorecoverfromloopbackdetecteddisablestate
pagp-flapEnabletimertorecoverfrompagp-flaperrordisablestate
psecure-violationEnabletimertorecoverfrompsecureviolationdisablestate
security-violationEnabletimertorecoverfrom802.1xviolationdisablestate
udldEnabletimertorecoverfromudlderrordisablestate
unicast-floodEnabletimertorecoverfromunicastflooddisablestate
vmpsEnabletimertorecoverfromvmpsshutdownerrordisable
配置完上述命令后,IOS在一段时间后试图恢复被置为err-disable的接口,这段时间缺省为300秒。
但是,如果引起err-disable的源没有根治,在恢复工作后,接口会再次被置为err-disable。
调整err-disable的超时时间,可以使用以下命令:
sw1(config)#errdisablerecoveryinterval?
<
30-86400>
timer-interval(sec)
可以调整在30-86400秒,缺省是300秒。
如果产生err-disable的原因是udld,下面有一条命令非常管用:
sw1#udldreset
NoportsaredisabledbyUDLD.
同时,接口在被置为err-disable的时候,通常有一系列的日志产生,如下:
*Mar1515:
47:
19.984:
%SPANTREE-2-BLOCK_BPDUGUARD:
ReceivedBPDUonportFastEthernet0/47withBPDU
Guardenabled.Disablingport.
sw1#
bpduguarderrordetectedonFa0/47,puttingFa0/47inerr-
disablestate
21.996:
%LINK-3-UPDOWN:
InterfaceFastEthernet0/47,changedstatetodown
收集这些日志也非常管用。
所以建议配置一个syslogserver,收集log信息。
sw1#showinterfacesstatusPortNameStatusVlanDu...开启errdisable功能,这样可以使用showerrdisable来查看引发errdisable的原因是什么,再更加信息内容进行解决。
你要是想不影响使用的话,先用noerrdisabledetectcauseloopback执行一下,将已经死掉的端口,nosh一下
如果没问题,肯定是环路了,你可再找时间,对怀疑有问题的switch用拔插法,一个一个拔掉网线去查,当然,有更有效的方法,你可查看有问题的switch的所有rj45和gi口的状态,哪个有errdisable信息哪个就有问题。
switch#showinterfacesstatuserr-disabled
Fa0/22err-disabledlink-flap
Fa0/37Forofficein100Kerr-disabledlink-flap
Fa0/41unknowerr-disabledlink-flap
Fa0/42TrainingDc066err-disabledlink-flap
Fa0/45ProductionlineVMerr-disabledlink-flap
switch#showerrdisabledetect
pagp-flapEnableddtp-flapEnabledlink-flapEnabledl2ptguardEnabledgbic-invalidEnabledloopback
Enabled
switch#sherrdisableflap-values
ErrDisableReasonFlapsTime(sec)---------------------------------
pagp-flap330dtp-flap330link-flap510(link-flap这就是因为链路质量不好导致的)关闭errdisable
detectswitch#noerrdisabledetectcauseall
导致交换机接口出现err-disable的几个常见原因:
1.EtherChannelmisconfiguration
2.Duplexmismatch
style="
TEXT-INDENT:
2em"
>
3.BPDUportguard
4.UDLD
5.Link-flaperror
6.Loopbackerror
7.Portsecurityviolation
第一个当FEC两端配置不匹配的时候就会出现err-disable.假设SwitchA把FEC模式配置为on,这时SwitchA是不会发送PAgP包和相连的SwitchB去协商FEC的,它假设SwitchB已经配置好FEC了。
但实事上SwtichB并没有配置FEC,当SwitchB的这个状态超过1分钟后,SwitchA的STP就认为有环路出现,因此也就出现了err-disable.解决办法就是把FEC的模式配置为channel-group1modedesirablenon-silent这个意思是只有当双方的FEC协商成功后才建立channel,否则接口还处于正常状态。
第二个原因就是双工不匹配。
一端配置为half-duplex后,他会检测对端是否在传输数据,只有对端停止传输数据,他才会发送类似于ack的包来让链路up,但对端却配置成了full-duplex,他才不管链路是否是空闲的,他只会不停的发送让链路up的请求,这样下去,链路状态就变成err-disable了。
三、第三个原因BPDU,也就是和portfast和BPDUguard有关。
如果一个接口配置了portfast,那也就是说这个接口应该和一个pc连接,pc是不会发送spanning-tree的BPDU帧的,因此这个口也接收BPDU来生成spanning-tree,管理员也是出于好心在同一接口上配置了BPDUguard来防止未知的BPDU帧以增强安全性,但他恰恰不小心把一个交换机接到这个同时配置了portfast和BPDUguard接口上,于是这个接口接到了BPDU帧,因为配置了BPDU