amir_turkism
02-23-2013, 10:36 PM
اگر تجربه کار با catalyst های سیسکو را دارید حتما برایتان پیش آمده که بعضی از پورت های سوئیچ شما ناگهانی و زیر بار خاموش شود. ممکن است تصور کنید که آن پورت دچار مشکل شده و یا به اصطلاح سوخته است. اما همیشه اینطور نیست.گاهی اوقات خود سوئیچ یک یا چند پورت را برای حفاظت بیشتر به حالت disable می برد. به این تکنولوژی err-disabled گفته می شود.
لیست سوئیچ های که از err-disabled پشتیبانی میکنند به شرح زیر است:
CatOS:
2948G
4000 - 4500
5000 - 5500
6000 - 6500
IOS:
2900XL - 3500XL
2940 - 2950 - 2960 - 2970
3550 - 3560 - 3560-E - 3750 - 3750-E
4000 - 4500
6000 - 6500
این پیش آمد می تواند یکی از علت های زیر را داشته باشد که هر یک را توضیح داده و نحوه برطرف کردن آن را خواهیم گفت.
A cable that is out of specification (either too long, the wrong type, or defective)
Duplex mismatch
Port channel misconfiguration
BPDU guard violation
UniDirectional Link Detection (UDLD) condition
Late-collision detection
Link-flap detection
Security violation
Port Aggregation Protocol (PAgP) flap
Layer 2 Tunneling Protocol (L2TP) guard
DHCP snooping rate-limit
Incorrect GBIC / Small Form-Factor Pluggable (SFP) module or cable
Address Resolution Protocol (ARP) inspection
Inline power
اما ابتدا باید به نحوه کشف این خطا بپردازیم.
ساده ترین راه آن مشاهده خاموش بودن پورت است. اما اگر وارد سوئیچ شویم با show گرفتن از آن اینترفیس خاص این خطا را مشاهده میکنیم:
show interface Gigabitethernet 0/23 status
Port Name Status Vlan Duplex Speed Type
Gi0/23 err-disabled 100 full 1000 1000BaseSX
و راه دیگر آن مشاهده لاگ آن در syslog یا console روتر است که خطایی مشابه این به شما می دهد:
%SPANTREE-SP-2-BLOCK_BPDUGUARD:
Received BPDU on port GigabitEthernet4/1 with BPDU Guard enabled. Disabling port.
%PM-SP-4-ERR_DISABLE:
bpduguard error detected on Gi4/1, putting Gi4/1 in err-disable state
در ابتدا امکان err-disabled برای جلوگیری از collision های خاص طراحی شد اما بعدا به موارد دیگر نیز تعمیم داده شد. که علتهای collision ممکن است زیاد بودن طول کابل یا عدم کیفیت کابل یا یکی نبودن duplex دو طرف باشد. این روزها شرکتهای تولید کابل آلیاژ پائین تری از مس در کابل ها استفاده می کنند. معمولا اگر سوئیچ شما زیر یک دکل بلند نصب باشد و یا اگر از PoE های غیر مرغوب استفاده می کنید حتما دچار چنین مشکلی خواهید شد.
err-disabled به صورت پیش فرض بر روی تمامی سوئیج ها فعال است که می توان با دستور زیر آن را غیر فعال کرد:
no errdisable cause all
و اما راه حل آن:
برای حل این مشکل پس از پیدا کردن علت, باید آن را مرتقع سازیم سپس با یکبار غیر فعال و دوباره فعال کردن آن پورت مشکل حل میگردد. که راه بر طرف کردن هر یک از مشکلات به صورت کامل توضیح داده شده است:
در ابتدا err-disabled را در وضعیت recovery قرار میدهیم
errdisable recovery cause all
که دستور فوق میتواند به جای کلمه all هر یک از علل مورد نیاز وارد شود.
پس از اجرای دستور زیر لیست کلیه اینترفیس ها به علاوه علت disable شدن هر یک, به ما نشان داده می شود:
show errdisable recovery
ErrDisable Reason Timer Status
----------------- --------------
udld Enabled
bpduguard Enabled
security-violatio Enabled
channel-misconfig Enabled
pagp-flap Enabled
dtp-flap Enabled
link-flap Enabled
l2ptguard Enabled
psecure-violation Enabled
gbic-invalid Enabled
dhcp-rate-limit Enabled
mac-limit Enabled
unicast-flood Enabled
arp-inspection Enabled
Timer interval: 300 seconds
Interfaces that will be enabled at the next timeout:
Interface Errdisable reason Time left(sec)
--------- --------------------- --------------
Fa2/4 bpduguard 273
1-عدم تنظیمات صحیح etherchannel
برای تنظیم etherchannel بین 2 سوئیچ حتما میبایست هر دو یا چند پورت درون یک vlan, دارای یک وضعیت trunk مشابه, دارای speed یکسان, دارای duplex یکسان و در کل دارای تنظیمات یکسان باشند. که در غیر اینصورت یک خطا به این شکل در console ظاهر می شود. که این خطا به علت تنظیم نکردن یکی از سوئیچ ها به عنوان etherchannle رخ داده است پسSTP باعث block کردن ترافیک از یکی از پورتها می شود.
%SPANTREE-2-CHNL_MISCFG: Detected loop due to etherchannel misconfiguration
of Gi4/1
2-عدم رعایت duplex
هر دو اینترفیس 2 دستگاه که به یکدیگر متصل می گردند می بایست بر روی یک duplex یکسان تنظیم شوند. البته در اکثر تجهیزات duplex به صورت اتوماتیک ست شده است که هر حالتی که طرف مقابل باشد خود را تطبیق خواهد داد. امااین خطا زمانی صورت می گیرد که دو طرف نتوانند بر روی یک duplex به توافق برسند. همانطور که میدانید collision متعلق به شبکه های half duplex است و اگر یک طرف half duplex کار کند و طرف دیگر full duplex و به علت اینکه شبکه full duplex تمهیداتی برای جلوگیری از collision نمی بیند شاهد collision در این میان خواهیم بود. البته در شبکه های half duplex ما شاهد درصد کمی collision خواهیم بود که این طبیعی و نا گریز است اما اگر درصد آن بالا رود آنگاه err-disabled وارد عمل خواهد شد. بر خی از علل collision میتواند کارت شبکه غیر مرغوب, کابل بی کیفیت و یا کابل با طول بلند باشد.
3-BPDU port gaurd
حتما به این نکته توجه کرده اید که چراغ سوئیچ های سیسکو بر عکس تمامی سوئیچ ها مدتی پس از اتصال کابل نارنجی رنگ و پورت غیر قابل استفاده و بعد از حدود 30 ثانیه سبز شده و میتوان از آن استفاده کرد. علت این اتفاق جلوگیری از پیش آمد loop در شبکه می باشد. یعنی قبل از up شدن پورت, سوئیچ آن پورت را توسط پروتکل spanning-tree protocol چک می کند. حال ما میتوانیم با فعال کردن قابلیت portfast switching این کار spanning-tree را غیر فعال کرده در نتیجه پورت سریعتر UP شود. اما در این حالت پورت حتما باید به دستگاههای نهایی نظیر کامپیوتر متصل گردد و نباید به دستگاهایی مثل سوئیچ یا بریج وصل شود چرا که در این حالت پورت با پروتکل spanning-tree کنترل نمیگردد اما برای حفاظت BPDU port guard روی آن فعال است که BPDU port gaurd در صورت مشاهده loop در این پورت, پورت را به حالت eer-disabled می برد.
برای رفع خطای err-disabled که به این علت بوجود آمده است. شما باید portfast switching را غیر فعال کرده و یکبار اینترفیس را shut و no shut کنید.
interface fastethernet 2/5
spanning-tree portfast disable
shutdown
no shutdown
4- UDLD
Unidirectional link detection قابلیتی است که در سوئیچ های بالای سری 6500 سیسکو قرار دارد. کار این پروتکل تشخیص این است که ایا میان 2 سوئیچ به هم متصل دستگاه دیگری قرار دارد یا خیر. همچنین این پروتکل در صورت عوض شدن جای tx و rx وارد عمل شده و اینترفیس را به حالت err-disabled می برد. اگر دو دستگاه که به یکدیگر متصلند تنها یک طرف UDLD را فعال کرده باشد پورت به حالت err-disabled می رود. پس وقتی دستگاهی مابین این دو سوئیچ قرار گیرد چون از UDLD پشتیبانی نمیکند هر دو سوئیچ آن پورت را به حالت err-disabled می برند.
5-Link-flap error
وقتی که یک اینترفیس به صورت مداوم قطع و وصل شود اصطلاحا به آن Link-flap error می گویند. اما وقتی این رویداد بیشتر از 5 بار در 10 ثانیه اتفاق بیفتد سوئیچ آن پورت را به حالت err-disabled می برد. که علت این اتفاق می تواند اتصالات ضعیف, جنس بد کابل, یا عدم کیفیت GBIC باشد.
6-Loopback error
هر سوئیچ دائما یک سری packet به عنوان keepalive به تمامی پورتها ( به استثنای پورتهای فیبر و Uplink) می فرستد. که سوئیچ این کار را برای تشخیص وجود دستگاهی در آن اینترفیس انجام می دهد. حال اگر این keepalive packet ها به خود سوئیچ برگردد به هر علتی, سوئیچ آن پورت را به حالت err-disabled می برد.
7-Port security violation
در سوئیچ های سیسکو امکانی به اسم port security وجود دارد. با این قابلیت می توان مشخص کرد که چه MAC Address هایی به یک اینترفیس اجازه ارسال ترافیک دارند. حال اگر به یک پورت MAC Addressi به غیر MAC اجازه داده شده وارد شود, سوئیچ این پورت را به حالت err-disabled می برد و همچنین اگر یک MAC Address مجاز به پورت دیگری از سوئیچ که در همان VLAN پورت اول است متصل شود. باز هم به حالت err-disabled می رود.
8-L2pt guard
وقتی بخواهیم بین 2 شبکه بزرگ که از طریق یک روتر به هم متصلند, یک ارتباط لایه 2 داشته باشیم باید یک تانل لایه 2 میان این دو شبکه بر قرار کنیم. ما در شبکه خود یک tag بر روی پکت ها توسط پروتکل 802.1q می زنیم. اما برای ارسال آن به یک شبکه دیگر می بایست یک tag دیگر علاوه بر اولی بر روی پکت ها بخورد. که این tag دوم توسط تانل لایه 2 صورت می گیرد. این تانل لایه 2 به صورت اتوماتیک MAC Address مقصد را به 01-00- 0c-cd-cd-d0 عوض می کند.
حالا اگر در شبکه مقصد از هر اینترفیس دیگری یک پکت با این مقصد وارد شود, آن پورت به حالت err-disabled می رود.
9-Incorrect SFP cable
زمانی که قصد اتصال 2 سوئیچ 3560 یا یک سوئیچ 3560 با یک 3750 را داریم اگر از کابل CAB-SFP-50CM استفاده کنیم که یک تکه فیبر 50 سانتی متری با کانکتور SFP است اینترفیس های ما به حالت err-disabled می رود. از این کابل به علت کاهش هزینه ها استفاده می شود که کابل مسی را می توان جایگزین آن کرد.
10- 802.1x Security Violation
زمانی که از پروتکل 802.1x برای احراز هویت MAC address بر روی سوئیچ های سیسکو استفاده می کنیم اگر یک پورت خاص در حالت single-host تعریف شده باشد و سوئیچ دو MAC Address روی آن پورت مشاهده کند, آن پورت را به حالت err-disabled می برد. که برای حل این مشکل مثلا وقتی که آن اینترفیس به یک IP Phone یا Access Point متصل است می توانیم آن اینترفیس را در حالت Multidomain Authentication قرار دهیم.
پس از حل کردن هر کدام از مشکلات فوق با یک بار Shutdown و no Shutdown کردن آن پورت, پورت به حالت عادی بر میگردد.
ما نیز می توانیم با فعال کردن errdisable recovery و مشخص کردن مدت زمان معین که به صورت پیش فرض 300 ثانیه است به صورت اتوماتیک پورت ها را از حالت err-disabled خارج کنیم.
errdisable recovery interval 400
منبع:حل مشکل err-disabled در سوئیچ های سیسکو (http://daneshju-club.com/%D8%A7%D9%85%D9%88%D8%B2%D8%B4%DB%8C-%D8%AD%D9%84-%D9%85%D8%B4%DA%A9%D9%84-err-disabled-%D8%AF%D8%B1-%D8%B3%D9%88%D8%A6%DB%8C%DA%86-%D9%87%D8%A7%DB%8C-%D8%B3%DB%8C%D8%B3%DA%A9%D9%88.html?pid=80312#pid8 0312)
لیست سوئیچ های که از err-disabled پشتیبانی میکنند به شرح زیر است:
CatOS:
2948G
4000 - 4500
5000 - 5500
6000 - 6500
IOS:
2900XL - 3500XL
2940 - 2950 - 2960 - 2970
3550 - 3560 - 3560-E - 3750 - 3750-E
4000 - 4500
6000 - 6500
این پیش آمد می تواند یکی از علت های زیر را داشته باشد که هر یک را توضیح داده و نحوه برطرف کردن آن را خواهیم گفت.
A cable that is out of specification (either too long, the wrong type, or defective)
Duplex mismatch
Port channel misconfiguration
BPDU guard violation
UniDirectional Link Detection (UDLD) condition
Late-collision detection
Link-flap detection
Security violation
Port Aggregation Protocol (PAgP) flap
Layer 2 Tunneling Protocol (L2TP) guard
DHCP snooping rate-limit
Incorrect GBIC / Small Form-Factor Pluggable (SFP) module or cable
Address Resolution Protocol (ARP) inspection
Inline power
اما ابتدا باید به نحوه کشف این خطا بپردازیم.
ساده ترین راه آن مشاهده خاموش بودن پورت است. اما اگر وارد سوئیچ شویم با show گرفتن از آن اینترفیس خاص این خطا را مشاهده میکنیم:
show interface Gigabitethernet 0/23 status
Port Name Status Vlan Duplex Speed Type
Gi0/23 err-disabled 100 full 1000 1000BaseSX
و راه دیگر آن مشاهده لاگ آن در syslog یا console روتر است که خطایی مشابه این به شما می دهد:
%SPANTREE-SP-2-BLOCK_BPDUGUARD:
Received BPDU on port GigabitEthernet4/1 with BPDU Guard enabled. Disabling port.
%PM-SP-4-ERR_DISABLE:
bpduguard error detected on Gi4/1, putting Gi4/1 in err-disable state
در ابتدا امکان err-disabled برای جلوگیری از collision های خاص طراحی شد اما بعدا به موارد دیگر نیز تعمیم داده شد. که علتهای collision ممکن است زیاد بودن طول کابل یا عدم کیفیت کابل یا یکی نبودن duplex دو طرف باشد. این روزها شرکتهای تولید کابل آلیاژ پائین تری از مس در کابل ها استفاده می کنند. معمولا اگر سوئیچ شما زیر یک دکل بلند نصب باشد و یا اگر از PoE های غیر مرغوب استفاده می کنید حتما دچار چنین مشکلی خواهید شد.
err-disabled به صورت پیش فرض بر روی تمامی سوئیج ها فعال است که می توان با دستور زیر آن را غیر فعال کرد:
no errdisable cause all
و اما راه حل آن:
برای حل این مشکل پس از پیدا کردن علت, باید آن را مرتقع سازیم سپس با یکبار غیر فعال و دوباره فعال کردن آن پورت مشکل حل میگردد. که راه بر طرف کردن هر یک از مشکلات به صورت کامل توضیح داده شده است:
در ابتدا err-disabled را در وضعیت recovery قرار میدهیم
errdisable recovery cause all
که دستور فوق میتواند به جای کلمه all هر یک از علل مورد نیاز وارد شود.
پس از اجرای دستور زیر لیست کلیه اینترفیس ها به علاوه علت disable شدن هر یک, به ما نشان داده می شود:
show errdisable recovery
ErrDisable Reason Timer Status
----------------- --------------
udld Enabled
bpduguard Enabled
security-violatio Enabled
channel-misconfig Enabled
pagp-flap Enabled
dtp-flap Enabled
link-flap Enabled
l2ptguard Enabled
psecure-violation Enabled
gbic-invalid Enabled
dhcp-rate-limit Enabled
mac-limit Enabled
unicast-flood Enabled
arp-inspection Enabled
Timer interval: 300 seconds
Interfaces that will be enabled at the next timeout:
Interface Errdisable reason Time left(sec)
--------- --------------------- --------------
Fa2/4 bpduguard 273
1-عدم تنظیمات صحیح etherchannel
برای تنظیم etherchannel بین 2 سوئیچ حتما میبایست هر دو یا چند پورت درون یک vlan, دارای یک وضعیت trunk مشابه, دارای speed یکسان, دارای duplex یکسان و در کل دارای تنظیمات یکسان باشند. که در غیر اینصورت یک خطا به این شکل در console ظاهر می شود. که این خطا به علت تنظیم نکردن یکی از سوئیچ ها به عنوان etherchannle رخ داده است پسSTP باعث block کردن ترافیک از یکی از پورتها می شود.
%SPANTREE-2-CHNL_MISCFG: Detected loop due to etherchannel misconfiguration
of Gi4/1
2-عدم رعایت duplex
هر دو اینترفیس 2 دستگاه که به یکدیگر متصل می گردند می بایست بر روی یک duplex یکسان تنظیم شوند. البته در اکثر تجهیزات duplex به صورت اتوماتیک ست شده است که هر حالتی که طرف مقابل باشد خود را تطبیق خواهد داد. امااین خطا زمانی صورت می گیرد که دو طرف نتوانند بر روی یک duplex به توافق برسند. همانطور که میدانید collision متعلق به شبکه های half duplex است و اگر یک طرف half duplex کار کند و طرف دیگر full duplex و به علت اینکه شبکه full duplex تمهیداتی برای جلوگیری از collision نمی بیند شاهد collision در این میان خواهیم بود. البته در شبکه های half duplex ما شاهد درصد کمی collision خواهیم بود که این طبیعی و نا گریز است اما اگر درصد آن بالا رود آنگاه err-disabled وارد عمل خواهد شد. بر خی از علل collision میتواند کارت شبکه غیر مرغوب, کابل بی کیفیت و یا کابل با طول بلند باشد.
3-BPDU port gaurd
حتما به این نکته توجه کرده اید که چراغ سوئیچ های سیسکو بر عکس تمامی سوئیچ ها مدتی پس از اتصال کابل نارنجی رنگ و پورت غیر قابل استفاده و بعد از حدود 30 ثانیه سبز شده و میتوان از آن استفاده کرد. علت این اتفاق جلوگیری از پیش آمد loop در شبکه می باشد. یعنی قبل از up شدن پورت, سوئیچ آن پورت را توسط پروتکل spanning-tree protocol چک می کند. حال ما میتوانیم با فعال کردن قابلیت portfast switching این کار spanning-tree را غیر فعال کرده در نتیجه پورت سریعتر UP شود. اما در این حالت پورت حتما باید به دستگاههای نهایی نظیر کامپیوتر متصل گردد و نباید به دستگاهایی مثل سوئیچ یا بریج وصل شود چرا که در این حالت پورت با پروتکل spanning-tree کنترل نمیگردد اما برای حفاظت BPDU port guard روی آن فعال است که BPDU port gaurd در صورت مشاهده loop در این پورت, پورت را به حالت eer-disabled می برد.
برای رفع خطای err-disabled که به این علت بوجود آمده است. شما باید portfast switching را غیر فعال کرده و یکبار اینترفیس را shut و no shut کنید.
interface fastethernet 2/5
spanning-tree portfast disable
shutdown
no shutdown
4- UDLD
Unidirectional link detection قابلیتی است که در سوئیچ های بالای سری 6500 سیسکو قرار دارد. کار این پروتکل تشخیص این است که ایا میان 2 سوئیچ به هم متصل دستگاه دیگری قرار دارد یا خیر. همچنین این پروتکل در صورت عوض شدن جای tx و rx وارد عمل شده و اینترفیس را به حالت err-disabled می برد. اگر دو دستگاه که به یکدیگر متصلند تنها یک طرف UDLD را فعال کرده باشد پورت به حالت err-disabled می رود. پس وقتی دستگاهی مابین این دو سوئیچ قرار گیرد چون از UDLD پشتیبانی نمیکند هر دو سوئیچ آن پورت را به حالت err-disabled می برند.
5-Link-flap error
وقتی که یک اینترفیس به صورت مداوم قطع و وصل شود اصطلاحا به آن Link-flap error می گویند. اما وقتی این رویداد بیشتر از 5 بار در 10 ثانیه اتفاق بیفتد سوئیچ آن پورت را به حالت err-disabled می برد. که علت این اتفاق می تواند اتصالات ضعیف, جنس بد کابل, یا عدم کیفیت GBIC باشد.
6-Loopback error
هر سوئیچ دائما یک سری packet به عنوان keepalive به تمامی پورتها ( به استثنای پورتهای فیبر و Uplink) می فرستد. که سوئیچ این کار را برای تشخیص وجود دستگاهی در آن اینترفیس انجام می دهد. حال اگر این keepalive packet ها به خود سوئیچ برگردد به هر علتی, سوئیچ آن پورت را به حالت err-disabled می برد.
7-Port security violation
در سوئیچ های سیسکو امکانی به اسم port security وجود دارد. با این قابلیت می توان مشخص کرد که چه MAC Address هایی به یک اینترفیس اجازه ارسال ترافیک دارند. حال اگر به یک پورت MAC Addressi به غیر MAC اجازه داده شده وارد شود, سوئیچ این پورت را به حالت err-disabled می برد و همچنین اگر یک MAC Address مجاز به پورت دیگری از سوئیچ که در همان VLAN پورت اول است متصل شود. باز هم به حالت err-disabled می رود.
8-L2pt guard
وقتی بخواهیم بین 2 شبکه بزرگ که از طریق یک روتر به هم متصلند, یک ارتباط لایه 2 داشته باشیم باید یک تانل لایه 2 میان این دو شبکه بر قرار کنیم. ما در شبکه خود یک tag بر روی پکت ها توسط پروتکل 802.1q می زنیم. اما برای ارسال آن به یک شبکه دیگر می بایست یک tag دیگر علاوه بر اولی بر روی پکت ها بخورد. که این tag دوم توسط تانل لایه 2 صورت می گیرد. این تانل لایه 2 به صورت اتوماتیک MAC Address مقصد را به 01-00- 0c-cd-cd-d0 عوض می کند.
حالا اگر در شبکه مقصد از هر اینترفیس دیگری یک پکت با این مقصد وارد شود, آن پورت به حالت err-disabled می رود.
9-Incorrect SFP cable
زمانی که قصد اتصال 2 سوئیچ 3560 یا یک سوئیچ 3560 با یک 3750 را داریم اگر از کابل CAB-SFP-50CM استفاده کنیم که یک تکه فیبر 50 سانتی متری با کانکتور SFP است اینترفیس های ما به حالت err-disabled می رود. از این کابل به علت کاهش هزینه ها استفاده می شود که کابل مسی را می توان جایگزین آن کرد.
10- 802.1x Security Violation
زمانی که از پروتکل 802.1x برای احراز هویت MAC address بر روی سوئیچ های سیسکو استفاده می کنیم اگر یک پورت خاص در حالت single-host تعریف شده باشد و سوئیچ دو MAC Address روی آن پورت مشاهده کند, آن پورت را به حالت err-disabled می برد. که برای حل این مشکل مثلا وقتی که آن اینترفیس به یک IP Phone یا Access Point متصل است می توانیم آن اینترفیس را در حالت Multidomain Authentication قرار دهیم.
پس از حل کردن هر کدام از مشکلات فوق با یک بار Shutdown و no Shutdown کردن آن پورت, پورت به حالت عادی بر میگردد.
ما نیز می توانیم با فعال کردن errdisable recovery و مشخص کردن مدت زمان معین که به صورت پیش فرض 300 ثانیه است به صورت اتوماتیک پورت ها را از حالت err-disabled خارج کنیم.
errdisable recovery interval 400
منبع:حل مشکل err-disabled در سوئیچ های سیسکو (http://daneshju-club.com/%D8%A7%D9%85%D9%88%D8%B2%D8%B4%DB%8C-%D8%AD%D9%84-%D9%85%D8%B4%DA%A9%D9%84-err-disabled-%D8%AF%D8%B1-%D8%B3%D9%88%D8%A6%DB%8C%DA%86-%D9%87%D8%A7%DB%8C-%D8%B3%DB%8C%D8%B3%DA%A9%D9%88.html?pid=80312#pid8 0312)