cisco交换机出现err-disable错误的问题该怎么解决?关于接口处于err-disable的故障该再怎么排查,下面本文将详细的讲解关于cisco交换机出现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
dhcp-rate-limitEnabled
unicast-floodEnabled
从列表中,我们可以看出常见的原因有udld,bpduguard,link-flap以及loopback等。
具体由什么原因导致当前接口err-disable可以由showinterfacestatuserr-disable来查看。
在接口模式下采用shutdown,noshutdown进行手动的激活。
在缺省配置下,一旦接口被置为err-disable,IOS将不会试图恢复接口。
这个可以由showerrdisablerecovery来查看,timerstatus下面所有的值都是disable.
下面的示例中,由于手工配置了bpduguard恢复,所以timerstatus的值变为Enable.
sw1#showerrdisablerecovery
ErrDisableReasonTimerStatus
-------------------------------
udldDisabled
bpduguardEnabled
security-violatioDisabled
channel-misconfigDisabled
vmpsDisabled
pagp-flapDisabled
dtp-flapDisabled
link-flapDisabled
l2ptguardDisabled
psecure-violationDisabled
gbic-invalidDisabled
dhcp-rate-limitDisabled
unicast-floodDisabled
loopbackDisabled
Timerinterval:300seconds
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/47withBPDUGuardenabled.Disablingport.
sw1#
*Mar1515:47:19.984:%PM-4-ERR_DISABLE:bpduguarderrordetectedonFa0/47,puttingFa0/47inerr-disablestate
sw1#
*Mar1515:47:21.996:%LINK-3-UPDOWN:InterfaceFastEthernet0/47,changedstatetodown
收集这些日志也非常管用。
所以建议配置一个syslogserver,收集log信息。
*************************
sw1#showinterfacesstatus
PortNameStatusVlanDu
***************
开启errdisable功能,这样可以使用showerrdisable来查看引发errdisable的原因是什么,再更加信息内容进行解决。
******************
你要是想不影响使用的话,先用
noerrdisabledetectcauseloopback
执行一下,将已经死掉的端口,nosh一下
如果没问题,肯定是环路了,你可再找时间,对怀疑有问题的switch用拔插法,一个一个拔掉网线去查,当然,有更有效的方法,你可查看有问题的switch的所有rj45和gi口的状态,哪个有errdisable信息哪个就有问题。
switch#showinterfacesstatuserr-disabled
PortNameStatusReason
Fa0/22err-disabledlink-flap
Fa0/37Forofficein100Kerr-disabledlink-flap
Fa0/41unknowerr-disabledlink-flap
Fa0/42TrainingDc066err-disabledlink-flap
Fa0/45ProductionlineVMerr-disabledlink-flap
switch#showerrdisabledetect
ErrDisableReasonDetectionstatus
---------------------------------
pagp-flapEnabled
dtp-flapEnabled
link-flapEnabled
l2ptguardEnabled
gbic-invalidEnabled
loopbackEnabled
switch#showinterfacesstatuserr-disabled
PortNameStatusReason
Fa0/22err-disabledlink-flap
Fa0/37Forofficein100Kerr-disabledlink-flap
Fa0/41unknowerr-disabledlink-flap
Fa0/42TrainingDc066err-disabledlink-flap
Fa0/45ProductionlineVMerr-disabledlink-flap
switch#sherrdisableflap-values
ErrDisableReasonFlapsTime(sec)
---------------------------------
pagp-flap330
dtp-flap330
link-flap510(link-flap这就是因为链路质量不好导致的)
关闭errdisabledetect
switch#noerrdisabledetectcauseall
这样就解决了cisco交换机的端口显示err-disable错误了,谢谢阅读,希望能帮到大家,请继续关注,我们会努力分享更多优秀的文章。