目錄

簡介

必要條件

需求

採用元件

慣例

錯誤停用

使用errDisable的平台

錯誤停用的功能

錯誤停用的原因

從錯誤停用中復原

錯誤停用的擴展

如何將連線埠從錯誤停用狀態中復原

修復因錯誤而禁用的埠 — 示例

由於BPDU埠防護而錯誤禁用

由於EtherChannel配置錯誤而錯誤禁用

驗證設定

組態疑難排解

命令摘要

相關資訊

簡介

客戶注意到一或多個交換器連線埠變成錯誤停用時，通常會聯絡思科技術支援;即，連線埠的狀態為errDisable。他們想知道為什麼會發生這種情況，以及如何將埠恢復正常。本檔案將說明errDisable狀態是什麼，如何從中復原，並提供了從errDisable中復原的兩個範例。在本文檔中，術語errDisable和error-disable可互換使用。(errDisable是連線埠的狀態，如show port命令所示，錯誤停用或錯誤停用是errDisable的英文對等專案。)

必要條件

需求

本文件沒有特定需求。

採用元件

本文件中的資訊是以下列軟體和硬體版本為依據.若要建立本檔案中的範例，需要以下內容：

- 實驗環境下的兩部Catalyst 4000/5000/6000系列交換器（或同等級）（已清除設定）。我們的主要機器是執行CatOS 5.4(2)的Catalyst 5500。 此連線埠連線到執行5.3(5a)CSX的Catalyst 6509，但可以是任何CatOS機器並支援EtherChannel和portfast。

- 兩根RJ-45乙太網交叉電纜。

- 至少一台交換器上的CatOS 5.4(x)。

- 每台交換器中的兩個FastEthernet連線埠支援EtherChannel和portfast。

- 到兩台交換機之一或兩台交換機的終端連線。

本文中的資訊是根據隔離的實驗室環境所產生。使用前，請確認您已先瞭解任何指令可能對網路造成的影響。每台交換器上皆已輸入clear config all命令，以確保使用預設設定。如果您想複製並實驗這些錯誤，請只嘗試在不會影響您的實際網路的隔離環境中複製這些錯誤。這些示例僅用於說明。有些命令的輸出被截斷，這樣不能增強討論。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路正在作用，請確保您已瞭解任何指令可能造成的影響。

慣例

如需文件慣例的詳細資訊，請參閱思科技術提示慣例。

錯誤停用

使用errDisable的平台

執行CatOS的Catalyst交換器（Catalyst 2948G、4500/4000、5500/5000和6500/6000）以及執行Cisco IOS的Catalyst交換器(Catalyst 2900XL/3500XL、2950、2970、3550、450和65000)支援000err00err000000000000err00000000000000000000000000 errDisable的實施方式因平台而異。本檔案專門介紹執行CatOS軟體的交換器的錯誤停用。

錯誤停用的功能

errDisable功能首先在CatOS 3.2(2)版中實作。 如果組態顯示某個連線埠需要啟用，但交換器上的軟體偵測到該連線埠有錯誤情況，軟體就會關閉該連線埠。換句話說，因為連線埠發生錯誤情況，所以交換器作業系統軟體會自動停用該連線埠。

連線埠因為錯誤而停用時，就會實際關閉，而且該連線埠不會再傳送或接收任何流量。此時連線埠LED會設定為橙色，而且輸入show port命令時，連線埠狀態會顯示errdisable。以下舉例說明因為錯誤而停用之連線埠在交換器的指令行介面中顯示的樣子。

Cat5500> (enable) show port 11/1

Port  Name               Status     Vlan       Level  Duplex Speed Type

----- ------------------ ---------- ---------- ------ ------ ----- ------------

11/1             errdisable   1 normal   auto  auto 10/100BaseTX

錯誤停用功能有兩個用途。首先，讓管理員知道發生連線埠問題的時間和位置。其次，它可以消除以下可能性：此埠可能導致模組上的其他埠（或整個模組）因緩衝區被錯誤的埠獨佔而發生故障，埠錯誤消息獨佔卡上的進程間通訊，甚至最終導致嚴重的網路問題。錯誤停用功能有助於防止這些情況發生。

錯誤停用的原因

一開始之所以會執行此功能，是為了處理交換器連線埠上偵測到過多或延遲衝突的特殊衝突情況。因為一行中發生16次衝突而捨棄訊框時，就會發生過度衝突。線路上的每部裝置都識別出線路已遭佔用後，就會發生延遲衝突。這些錯誤型別可能是由纜線不符合規范（過長、型別錯誤、故障）、網路介面卡(NIC)故障(實體發生問題或驅動程式發生問題)或連線埠雙工組態錯誤所導致的。最後一個原因很常見，因為無法在兩個直接連線的裝置（例如連線到交換器的NIC卡）之間正確地協調速度和雙工。 在LAN中，只有半雙工連線會發生衝突；由於乙太網路的載波感測多重存取(CSMA)性質，只要衝突不超過一小部分的流量，半雙工發生的此類衝突都屬正常現象。

隨著CatOS功能的增強，連線埠可以有多種方式因為錯誤而停用。例如，在執行catOS的catalyst 6500上，支援錯誤停用功能以解決以下連線問題：

- ARP檢測

- 廣播抑制

- BPDU連線埠防護

- 通道組態錯誤

- 縱橫線故障

- 雙工不相符

- 第2層通訊協定通道組態錯誤

- 超出第2層通訊協定通道閾值

- UDLD

錯誤停用功能允許交換器在遇到以下任何情況時關閉連線埠。請記住，因為錯誤而禁用的連線埠本身並不是警報的原因，只要能確定並解決其根本原因。因為錯誤而禁用的埠是必須解決的更深層次問題的症狀。

從錯誤停用中復原

若要從errDisable中復原，您應該執行兩件事：

1. 識別並修正導致連線埠進入錯誤停用狀態的任何問題（纜線、NIC、EtherChannel等）。

如果不識別和修復導致埠被錯誤禁用的基礎問題，則當問題再次出現時，埠將再次被錯誤禁用。某些錯誤經常發生（例如BPDU埠保護檢測到的錯誤，該錯誤每兩秒發生一次）。 如果您嘗試在不修復問題來源的情況下重新啟用連線埠，就會再次因為錯誤而停用。

2. 重新啟用連線埠。

僅修復問題的源不會導致埠再次啟用。修正問題來源後，連線埠仍然停用（且連線埠LED仍為橙色）；必須先重新啟用這些埠，然後才能將其啟用。起初，重新啟用連線埠的唯一方式是就有關連線埠手動輸入set port enable命令。隨著時間的推移，錯誤停用功能中新增了可選的擴展功能，使其更靈活、更自動化。

注意：連線埠因為錯誤而停用，並不是連線埠LED會變為橙色的唯一原因；這只是原因之一。因此，使用show port命令檢查連線埠狀態是有益的。

錯誤停用的擴展

設定選項錯誤連線埠 — CatOS 4.2(2)

有些客戶希望能夠確定某個埠是否因CatOS發現的特殊衝突錯誤而關閉。在某些情況下，例如連結是主干連線，例如關閉連線埠實際上會比連線埠上遇到的錯誤更為嚴重；最好在問題得到解決之前，儘量使埠正常工作，而不是將其關閉。因此，版本4.2(2)中，向CatOS新增了一個稱為set option errport的命令，允許管理員確定在發現具有這些特殊衝突錯誤的連線埠時交換器執行的動作。原始和預設狀態為set option errport disable ，其中交換器會在遇到錯誤停用型別的特殊衝突錯誤時將連線埠進入錯誤停用狀態。相反，如果使用set option errport enable指令，則交換器會保持連線埠處於啟用狀態，即使它遇到通常會停用這些連線埠的衝突錯誤也是如此。

此指令會全域性影響交換器；不能對單個埠發出此命令。它沒有列在命令參考中，但是列在4.2(2)的版本說明中(Catalyst 5000系列軟體4.x版的版本說明)。 請注意，此命令似乎有悖直觀；必須啟用errport選項以禁用err-disable功能（預設情況下啟用）。 說得更清楚，只須使用set option errport enable 命令即可防止連線埠進入錯誤停用狀態。

只有當您認識到如果允許這些錯誤情況繼續，可能會影響模組上的其他埠時，才建議使用set option errport命令。它只是一種權宜之計，而不是解決問題的「辦法」；它只是防止遇到這些錯誤的埠關閉，直到您能夠解決真正的問題。請謹慎使用。

Set errdisable-timeout - CatOS 5.4(1)

在CatOS版本5.4(1)中，引入了名為set errdisable-timeout的新命令。此命令是前面討論的set option errport 命令的一個更複雜的版本。此命令將在可配置的時間量（30秒至24小時，以秒為單位）之後自動重新啟用已錯誤禁用的埠，無需手動重新啟用已錯誤禁用的埠。

此命令將影響由交換機上的當前配置啟用，但已被CatOS軟體置於錯誤禁用狀態的埠。使用命令show errdisable-timeout檢視errdisable-timeout功能的當前狀態。可以指定五個可以啟用此功能的單獨區域：bpdu-guard、channel-misconfig、duplex-mismatch（包括上述特殊衝突錯誤）、udld其他。這樣，它仍可以在您需要的區域中提供永久的錯誤禁用保護，但允許您有選擇地選擇希望埠保持運行的區域，直到您可以解決問題。

在Catalyst 6000系列的軟體版本5.2.1和5.2.2中，有一個軟體缺陷，當連線埠將狀態變更為錯誤停用時，會導致網路中斷。當連線埠發生錯誤停用時，交換器會因為錯誤而停用連線埠上，所有學習到的MAC位址都會無意中得知。這將導致相關VLAN的網路中斷。此軟體缺陷具有思科錯誤ID CSCdm48887，且軟體版本5.2.3和更新版本中已解決此問題。

防止此問題的短期解決方法如下：

1. 發出命令set option errport enable以停用錯誤停用功能。

2. 使用set port enable mod_num/port_num 命令重新啟用所有已錯誤停用的連線埠。

範例：set port enable 3/1

3. 使用clear cam dynamic命令清除MAC地址表以恢復動態獲取的MAC地址。

如何將連線埠從錯誤停用狀態中復原

在文中的這個階段，我們提供兩個範例，說明可能會如何遇到因為錯誤而停用的連線埠，以及如何修正這些連線埠；簡短討論連線埠可能會因為錯誤而停用的其他三個原因；以及所討論與因為錯誤而禁用的連線埠相關的命令摘要。以下針對這些問題的具體示例在實驗室環境中很容易複製。

使用以下步驟將連線埠從errDisable狀態中復原：

1. 本文中使用的軟體版本

show version指令會顯示交換器針對本檔案執行的軟體版本。這裡只是為了展示我們用於本次測試的CatOS版本以及涉及的模組。

Cat5500> (enable) show version

WS-C5500 Software, Version McpSW: 5.4(2) NmpSW: 5.4(2)

Copyright (c) 1995-2000 by Cisco Systems

NMP S/W compiled on Apr  7 2000, 16:59:29

MCP S/W compiled on Apr 07 2000, 16:49:24

System Bootstrap Version: 5.1(1)

Hardware Version: 1.3  Model: WS-C5500  Serial #: 069041642

Mod Port Model      Serial #  Versions

--- ---- ---------- --------- ----------------------------------------

1   0    WS-X5540   013459824 Hw : 1.1

Fw : 5.1(1)

Fw1: 5.1(1)

Sw : 5.4(2)

Sw : 5.4(2)

11  24   WS-X5225R  012121634 Hw : 3.1

Fw : 4.3(1)

Sw : 5.4(2)

DRAM                    FLASH                   NVRAM

Module Total   Used    Free    Total   Used    Free    Total Used  Free

------ ------- ------- ------- ------- ------- ------- ----- ----- -----

1       32768K  18567K  14201K   8192K   4171K   4021K  512K  179K  333K

Uptime is 0 day, 0 hour, 4 minutes

Cat5500> (enable) show module

Mod Slot Ports Module-Type               Model               Status

--- ---- ----- ------------------------- ------------------- --------

1   1    0     Supervisor IIG            WS-X5540            ok

15  1          Route Switch Feature Card

11  11   24    10/100BaseTX Ethernet     WS-X5225R           ok

Mod Module-Name         Serial-Num

--- ------------------- --------------------

1                       00013459824

11                      00012121634

Mod MAC-Address(es)                        Hw     Fw         Sw

--- -------------------------------------- ------ ---------- -----------------

1   00-90-ab-28-d0-00 to 00-90-ab-28-d3-ff 1.1    5.1(1)     5.4(2)

5   00-10-7b-7c-09-d4 to 00-10-7b-7c-09-df 3.0    3.1(1)     5.4(2)

6   00-e0-1e-6c-80-da to 00-e0-1e-6c-80-dc 1.0    4.1(1)     5.4(2)

8   00-10-7b-44-16-40 to 00-10-7b-44-16-57 1.3    3.1(1)     5.4(2)

10  00-10-7b-0c-32-d0 to 00-10-7b-0c-32-db 2.0    3.1(1)     5.4(2)

11  00-50-a2-f4-e4-50 to 00-50-a2-f4-e4-67 3.1    4.3(1)     5.4(2)

2. 如何判斷連線埠是否處於錯誤停用狀態

您可以輸入show port命令，以確定連線埠是否已因為錯誤而停用。以下是使用中連線埠的範例；下面是處於錯誤禁用狀態的同一埠。

Cat5500> (enable) show port 11/1

Port  Name        Status     Vlan       Level  Duplex Speed Type

----- -------    ---------- ---------- ------ ------ ----- ------------

11/1             connected  1          normal a-half a-100 10/100BaseTX

Cat5500> (enable) show port 11/1

Port  Name         Status     Vlan       Level  Duplex Speed Type

----- -------     ---------- ---------- ------ ------ ----- ------------

11/1              errdisable  1          normal   auto  auto 10/100BaseTX

註：連線埠因為錯誤而停用時，與前面板上的連線埠關聯的LED會變為純橙色。

3. 如何判斷進入錯誤停用狀態的原因（主控台訊息、系統日誌、show errdisable-timeout）

交換器使連線埠進入錯誤停用狀態時，會向主控台傳送一則訊息，並說明連線埠為什麼會停用。以下是顯示連線埠遭到停用的原因的兩個範例訊息：一個來自portfast BPDU防護功能，另一個來自EtherChannel配置問題。

2000 May 09 19:09:18 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast

enable port. Disabling 11/1

2000 May 09 19:09:18 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port

2000 May 09 19:22:11 %SPANTREE-2-CHNMISCFG: STP loop - channel 11/1-2

is disabled in vlan 1

2000 May 09 19:22:11 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 11/1-2

注意：消息不會明確說明errDisable或error-disabled;但是它們表示交換機正在禁用埠。生成控制檯消息後，除非您在網路中使用系統日誌伺服器，否則不會儲存這些消息。如果將交換器設定為將這些訊息傳送到syslog伺服器，就會有連線埠被停用的時間和原因的更永久的記錄。有關如何配置交換機以向系統日誌伺服器傳送消息的資訊，請參閱《CatOS 5.4配置指南》中的配置系統消息日誌文檔。

如果您執行CatOS 5.4(1)或更新版本，有一個稱為errdisable-timeout的功能，如果啟用，就會顯示連線埠遭到停用的原因。範例如下

Cat5500> (enable) show errdisable-timeout

ErrDisable Reason   Timeout Status Port ErrDisable Reason

------------------- -------------- ----  ----------------

bpdu-guard          enable         11/1  bpdu-guard

channel-misconfig   disable

duplex-mismatch     disable

udld                disable

other               disable

Interval: 30 seconds

4. 如何糾正問題。發現連線埠遭到停用的原因後，您應該先解決根本問題，然後重新啟用連線埠。

1. 修正根本問題

這取決於觸發問題的實際性質。有許多原因會觸發關閉。這是一些最顯著且常見的原因。

- EtherChannel 組態錯誤

若要使EtherChannel正常運作，相關的連線埠必須具有一致的組態；相同的VLAN、相同的中繼模式、相同的速度、相同的雙工等。建立通道時，系統會擷取並回報交換器內的大部分組態差異。在某些情況下，通常當您使用ON模式（而非auto或desirable）時，一台交換機上的所有內容都可以保持一致，以便交換機開始進行通道化。但是，連線的相鄰交換機不能設定相同，這可能會導致第一台交換機進入錯誤禁用狀態。如果兩台交換器都支援連線埠聚合通訊協定(PAgP)，則可以將每台交換器上的通道模式設定為希望而不是開啟，以避免此問題。

- 雙工不相符

因為無法適當地自動交涉速度和雙工所造成的雙工不相符情況非常普遍。全雙工裝置與半雙工不同，後者必須等待直到LAN網段上沒有其他裝置進行傳輸，前者則是無論是否有其他裝置，都會在需要傳送內容時進行傳輸。如果在半雙工裝置傳輸時，全雙工裝置也進行此類傳輸作業，則半雙工裝置會將其視為衝突（在時槽時間內）或延遲衝突（在時槽時間之後）。 由於全雙工端從來不會預期到衝突，因此它永遠不會意識到必須重新傳輸遭到捨棄的封包。半雙工發生小部分的衝突是正常的，但對全雙工來說則不是。如果交換器連線埠收到許多延遲衝突，通常代表有雙工不相符的問題；請確保將纜線兩端的連線埠都設定為相同的速度和雙工。show port命令會顯示Catalyst交換器連線埠的速度和雙工。較新版本的Cisco Discovery Protocol(CDP)可以在連線埠實際進入錯誤停用狀態之前向您傳送有關雙工不相符的警告。此外，NIC卡上也可能有導致問題的設定（如自動極性功能 — 如果有疑問，請將其關閉）。 如果您擁有多家供應商提供的NIC，並且所有這些NIC似乎都存在相同的問題，請檢視製造商網站上的發行版本註釋，並確保您擁有來自NIC製造商的最新驅動程式。延遲衝突的其他原因包括NIC故障（發生實體問題，而非僅是組態問題）、纜線故障或纜線段過長。

2000 May 09 19:19:09 %CDP-4-DUPLEXMISMATCH:Full/half duplex

mismatch detected on port 11/3

- BPDU連線埠防護

如果在連線埠上啟用portfast，則某些更新版本的交換器軟體會進行監控。使用portfast的連線埠應連線到終端站，而不是連線到會產生稱為BPDU的STP封包的裝置。如果交換器發現BPDU進入已啟用portfast的連線埠，就會使該連線埠進入錯誤停用模式。

- UDLD

UDLD是某些新版本軟體上的通訊協定，會發現透過連結的通訊是否只有單向通訊因此部分中斷。光纖纜線損壞或其他佈線/連線埠問題可能會導致此單向單一通訊。此問題可能會發生跨距樹狀目錄回圈。UDLD允許連線埠偵測單向連結，且可以設定為在其偵測到這種情況時將連線埠置於errDisable狀態。

- 其他

交換器內的任何程式如識別連線埠發生問題，均可將其置於錯誤停用狀態。請檢視主控台訊息或傳送到系統日誌伺服器的訊息；該訊息會說明連線埠關閉的原因。此外，如果已啟用errdisable-timeout功能(最低CatOS 5.4(1)),show errdisable-timeout將告訴您連線埠遭到停用的一般原因。

2. 重新啟用連線埠

修正根本問題後，連線埠仍會停用；您必須重新啟用連線埠。可以使用set port enable 命令手動完成此操作。

Cat5500> (enable) set port enable 11/1-2

Ports 11/1-2 enabled.

如果您有CatOS 4.2(2)或更高版本，可以使用上述set option errport命令防止連線埠進入錯誤停用狀態。由於您實際上並未解決問題的根源，因此這可能存在風險。如果您有CatOS 5.4(1)或更高版本，可以使用errdisable-timeout命令自動重新啟用埠，如下節所述。

5. 如何使用錯誤停用逾時自動重新啟用連線埠 — CatOS 5.4(1)

errdisable-timeout命令可讓您選擇性選擇哪些錯誤型別會在指定的時間之後自動重新啟用連線埠。輸出會顯示所有五個可能條件的預設狀態errdisable-timeout disabled(not active)。如果啟用了任何條件，就會在30秒後重新啟用具有此條件的埠。

Cat5500> (enable) show errdisable-timeout

ErrDisable Reason   Timeout Status

------------------- --------------

bpdu-guard          disable

channel-misconfig   disable

duplex-mismatch     disable

udld                disable

other               disable

Interval: 30 seconds

若要開啟errdisable-timeout，請使用以下命令選擇錯誤停用條件。

Cat5500> (enable) set errdisable-timeout enable ?

bpdu-guard                 BPDU Port-guard

channel-misconfig          Channel misconfiguration

duplex-mismatch            Duplex Mismatch

udld                       UDLD

other                      Reasons other than the above

all                        Apply errDisable timeout to all reasons

Cat5500> (enable) set errdisable-timeout enable bpdu-guard

Successfully enabled errdisable-timeout for bpdu-guard.

Cat5500> (enable) set errdisable-timeout interval 30

Successfully set errdisable timeout to 30 seconds.

此命令有一個很好的功能：如果您啟用errdisable-timeout，它一般會列出連線埠進入錯誤停用狀態的原因。有關更多詳細說明，必須參考發生時顯示的消息。請記住，修復錯誤停用條件的第一步是修復導致關閉的原始錯誤。請注意，埠11/1關閉的原因是由於bpdu防護功能。

Cat5500> (enable) show errdisable-timeout

ErrDisable Reason   Timeout Status   Port ErrDisable Reason

------------------- --------------   ---- -----------------

bpdu-guard          enable           11/1  bpdu-guard

channel-misconfig   disable

duplex-mismatch     disable

udld                disable

other               disable

Interval: 30 seconds

以下範例顯示交換器由於errdisable-timeout功能而重新啟用連線埠時顯示的內容。

Cat5500> (enable)

2000 May 09 19:17:27 %MGMT-5-ERRDISPORTENABLED:Port 11/1 err-disabled

by bpdu-guard enabled by errdisable timeout

6. 如果重新啟用連線埠而沒有解決問題，結果會如何？

如果在未修正問題的情況下重新啟用連線埠，連線埠就會再次因為錯誤而停用。這將一次又一次地繼續，直到您解決真正的問題。注意以下三條消息。在第一項中，交換機說明禁用埠11/1，因為它在已啟用portfast的連線埠上收到了BPDU（如果bpdu防護處於開啟狀態，則這是錯誤導致情況）。 25秒後，連線埠會由errdisable-timeout功能自動重新啟用。四秒後，連線埠再次因為錯誤而停用，因為實際問題從未修正。

2000 May 09 19:17:33 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast

enable port. Disabling 11/1

2000 May 09 19:17:58 %MGMT-5-ERRDISPORTENABLED:Port 11/1 err-disabled by

bpdu-guard enabled by errdisable timeout

2000 May 09 19:18:02 %SPANTREE-2-RX_PORTFAST:Received BPDU on

PortFast enable port. Disabling 11/1

手動重新啟用連線埠的好處在於，它會提醒您並提示您處理實際問題。

7. 是否可以消除連線埠由於衝突而錯誤停用

以下範例顯示如何防止交換器因為過度或延遲衝突而錯誤停用連線埠。set option errport命令在CatOS版本4.2(2)中可用。 請再次記住，這僅應作為「停止差距」型別的措施。這樣可以防止連線埠因為衝突而因為錯誤而停用，但可能會使您容易發生通常會造成交換器關閉連線埠的衝突。當您執行此命令時，它會阻止交換機由於衝突而禁用埠。

Cat5500> (enable) set option errport enable

Error port option is enabled

Cat5500> (enable) show option errport

Option errport   : enabled

以下範例顯示如何返回預設狀態，這允許交換器錯誤停用連線埠。

Cat5500> (enable) set option errport disable

Error port option is disabled

Cat5500> (enable) show option errport

Option errport   : disabled

show option errport命令會顯示錯誤停用功能所在的目前模式。此外，set option errport enable命令不會修正錯誤的原因；它只能防止埠因錯誤而關閉。如果錯誤持續存在或變得嚴重，則仍有可能錯誤停用連線埠會影響模組上的其他連線埠。因此，只有在瞭解這些錯誤可能會導致交換機模組中出現更大的問題並且願意承擔這些風險時，才應使用此命令。

修復因錯誤而禁用的埠 — 示例

在本節中，我們提供兩個修復因為錯誤而禁用的連線埠的範例。

由於BPDU埠防護而錯誤禁用

CatOS 5.4(1)中啟動的新功能允許交換器監控已啟用portfast的連線埠。使用portfast的連線埠僅能連線到終端站（例如工作站或伺服器），不能連線到會產生跨距樹狀目錄BPDU的裝置，例如交換器，或進行橋接的橋接器和路由器。如果交換器在已啟用portfast的連線埠上收到跨距樹狀目錄BPDU，就會將該連線埠置於錯誤停用模式，以避免可能出現回圈。Portfast會假設交換器上的連線埠不可能產生實體回圈，因此會跳過對該連線埠的初始跨距樹狀目錄檢查，以避免終端站啟動時逾時。Portfast必須由網路系統管理員來小心執行；在已啟用portfast的連線埠上，BPDU防護有助於確保維持LAN不會產生回圈。

以下是開啟此功能的方式。之所以選擇此範例，是因為很容易產生錯誤停用情況。

Cat5500> (enable) set spantree portfast bpdu-guard enable

Spantree portfast bpdu-guard enabled on this switch.

我們的Catalyst 5500交換器連線到另一台交換器(6509)，我們將其設定為跨距樹狀目錄的基礎。6509將每2秒向我們傳送BPDU（使用預設生成樹設定）。 在5500交換器連線埠上啟用portfast時，bpdu防護功能會觀察此連線埠上傳入的BPDU。BPDU進入連線埠時（代表該連線埠已偵測到非終端裝置），bpdu防護功能會關閉連線埠，以避免可能出現跨距樹狀目錄回圈。

Cat5500> (enable) set spantree portfast 11/1 enable

Warning: Spantree port fast start should only be enabled on ports connected

to a single host.  Connecting hubs, concentrators, switches, bridges, etc. to

a fast start port can cause temporary spanning tree loops.  Use with caution.

Spantree port 11/1 fast start enabled.

Cat5500> (enable)

2000 May 09 19:09:18 %SPANTREE-2-RX_PORTFAST:Received BPDU on

PortFast enable port. Disabling 11/1

2000 May 09 19:09:18 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 11/1

在上面的消息中，交換機表示在已啟用portfast的連線埠上收到了BPDU，因此正在關閉連線埠11/1。當您檢視連線埠的狀態時，它顯示為errDisable。

Cat5500> (enable) show port 11/1

Port  Name                   Status     Vlan       Level  Duplex Speed Type

----- ------------------     ---------- ---------- ------ ------ ----- ------------

11/1                         errdisable 1          normal   auto  auto 10/100BaseTX

要解決這些情況，必須解決根本問題，然後重新啟用埠。由於此連線埠具有不當的連線（已啟用portfast且已連線到另一台交換器），因此我們將關閉portfast功能。同樣地，portfast僅能用於連線到終端站的連線埠。

Cat5500> (enable) set spantree portfast 11/1 disable

Spantree port 11/1 fast start disabled.

即使我們解決了根本問題，請注意，埠仍然處於錯誤禁用狀態。如果檢視埠LED，它仍為橙色。我們必須重新啟用埠，埠才會再次啟用。

Cat5500> (enable) show port 11/1

Port  Name               Status     Vlan       Level  Duplex Speed Type

----- ------------------ ---------- ---------- ------ ------ ----- ------------

11/1                     errdisable 1          normal   auto  auto 10/100BaseTX

在以下示例中，我們使用set port enable 命令手動重新啟用埠。現在，連線埠會回覆為正常狀態。

Cat5500> (enable) set port enable 11/1

Port 11/1 enabled.

Cat5500> (enable) show port 11/3

Port  Name               Status     Vlan       Level  Duplex Speed Type

----- ------------------ ---------- ---------- ------ ------ ----- ------------

11/1                     connected  1          normal a-half a-100 10/100BaseTX

由於EtherChannel配置錯誤而錯誤禁用

以下是另一種常見的錯誤停用情況，可能會在具備EtherChannel的連線埠上發生。如果對一台交換器設定了EtherChannel，但並未對另一台交換器設定，則可能會導致跨距樹狀目錄程式關閉已設定EtherChannel那一端已通道化的連線埠。在此案例中，我們將兩根交叉纜線從5500交換器連線到另一台交換器。我們使用set port channel 11/1-2 on指令，在5500交換器上開啟EtherChannel。EtherChannel 的 on 模式不會在通道化之前傳送 PAgP 封包與另一端進行協商，只會假設另一端正在進行通道化。此外，我們沒有為另一台交換器開啟EtherChannel;我們保留這些埠作為單獨的未通道化的埠。如果在此狀態下停留一分鐘左右，5500上的STP會認為有回圈。這會導致通道化的連線埠進入錯誤停用狀態。請注意，下方偵測到回圈並將連線埠停用。show port channel 命令會顯示連線埠不再進行通道化；當我們檢視其中一個相關的連線埠時，會看到其狀態為errdisable。

Cat5500> (enable)

2000 May 09 19:20:02 %PAGP-5-PORTTOSTP:Port 11/1 joined bridge port 11/1-2

2000 May 09 19:20:27 %PAGP-5-PORTTOSTP:Port 11/2 joined bridge port 11/1-2

2000 May 09 19:22:11 %SPANTREE-2-CHNMISCFG: STP loop -

channel 11/1-2 is disabled in vlan 1

2000 May 09 19:22:11 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 11/1-2

2000 May 09 19:22:11 %PAGP-5-PORTFROMSTP:Port 11/2 left bridge port 11/1-2

Cat5500> (enable) show port channel

No ports channeling

由於系統已將此交換器上的連線埠進入錯誤停用狀態，EtherChannel已關閉。

Cat5500> (enable) show port 11/1

Port  Name                  Status     Vlan       Level  Duplex Speed Type

----- ------------------    ---------- ---------- ------ ------ ----- ------------

11/1                        errdisable 1          normal   auto  auto 10/100BaseTX

為了確定問題所在，我們需要檢視錯誤消息。該訊息指出EtherChannel遇到了跨距樹狀目錄回圈。正如我們在上文中瞭解的那樣，當某台裝置（此案例為我們的交換器）已透過使用ON模式（而非desirable）手動開啟EtherChannel，而另一台連線的裝置（此案例為另一台交換器）完全未開啟EtherChannel時，就可能會發生這種情況。解決此情況的方法之一是在連線的兩端將通道模式設定為 desirable，然後重新啟用這些連接埠。這只會使兩端都同意進行通道化，才能形成通道。如果它們不同意進行通道化，則它們將繼續以一般連線埠運作。

注意：有關可能導致EtherChannel配置錯誤的事件的清單，請參閱您正在使用的CatOS版本的EtherChannel配置指南。較新版本包含配置指南中標題為配置Fast EtherChannel和Gigabit EtherChannel的特定部分，這些部分列出了要正確形成的通道的依存關係，包括要配置的通道模式。

Cat5500> (enable) set port channel 11/1-2 desirable non-silent

Port(s) 11/1-2 are assigned to admin group 21.

Port(s) 11/1-2 channel mode set to desirable.

Cat5500> (enable) show port 11

Port  Name                  Status     Vlan       Level  Duplex Speed Type

----- ------------------    ---------- ---------- ------ ------ ----- ------------

11/1                        errdisable 1          normal   auto  auto 10/100BaseTX

11/2                        errdisable 1          normal   auto  auto 10/100BaseTX

請注意，即使我們關閉了EtherChannel功能並將EtherChannel模式設定為desirable，這些埠仍然處於禁用狀態。我們已更正了問題的原因，但現在，我們必須重新啟用這些埠，然後才能使用它們。

Cat5500> (enable) set port enable 11/1-2

Ports 11/1-2 enabled.

Cat5500> (enable) show port 11

Port  Name                   Status     Vlan       Level  Duplex Speed Type

----- ------------------     ---------- ---------- ------ ------ ----- ------------

11/1                         connected  1          normal a-full a-100 10/100BaseTX

11/2                         connected  1          normal a-full a-100 10/100BaseTX

Cat5500> (enable) show port channel 11/1

Port            Status     Channel              Admin Ch

Mode                 Group Id

-----         ----------   -------------------- ----- -----

11/1          connected  desirable non-silent    21   833

11/2          connected  desirable non-silent    21   833

Port  Device-ID                       Port-ID                   Platform

----- ------------------------------- ------------------------- ----------------

11/1  TBA04090489(Cat6000)      5/13                      WS-C6506

11/2  TBA04090489(Cat6000)      5/14

----- ------------------------------- ------------------------- ----------------

驗證設定

- show version — 顯示交換器上使用的軟體版本

- show module — 顯示交換器上使用的模組

- show port — 檢視交換器連線埠的目前狀態

- show option errport — 檢視set option errport命令的狀態

- show errdisable-timeout — 顯示錯誤停用逾時功能的目前設定以及任何連線埠目前因為錯誤而停用的原因

組態疑難排解

- show port — 檢視交換器連線埠的目前狀態

- show port channel — 檢視EtherChannel的目前狀態

- show option errport — 檢視set option errport命令狀態

- set option errport disable — 允許交換機禁用任何存在作業系統認為應禁用的錯誤的埠。這是預設狀態，且只有在之前有人發出set option errport enable命令時才會不同

- show errdisable-timeout — 顯示錯誤停用逾時功能的目前設定以及任何連線埠目前因為錯誤而停用的原因

- set errdisable-timeout — 可用於幫助確定連線埠為什麼因為錯誤而停用(與show errdisable-timeout命令一起使用)

命令摘要

語法：

顯示版本

如本檔案所用：

顯示版本

語法：

show module [mod_num]

如本檔案所用：

show module

語法：

show port [mod_num[/port_num]]

如本檔案所用：

show port 11/1 show port 11

語法：

show port channel [mod_num[/port_num]] [statistics |資訊[spantree |中繼 |協定 | gmrp | gvrp | qos]]

如本檔案所用：

show port channel

語法：

set port channel port_list mode {on |關閉 |期望 | auto} [silent |非靜默]

如本檔案所用：

set port channel 11/1-2 desirable non-silent

語法：

set port enable mod_num/port_num

如本檔案所用：

set port enable 11/1-2

語法：

show errdisable-timeout

如本檔案所用：

show errdisable-timeout

語法：

set errdisable-timeout [enable|disable] [bpdu-guard | channel-misconfig | duplex-mismatch | udld |其他]

如本檔案所用：

set errdisable-timeout enable bpdu-guard

語法：

set errdisable-timeout interval seconds

如本檔案所用：

set errdisable-timeout interval 30

語法：

set spantree portfast mod_num/port_num {enable | disable}

如本檔案所用：

set spantree portfast 11/1 enable set spantree portfast 11/1 disable

語法：

set spantree portfast bpdu-guard {enable | disable}

如本檔案所用：

set spantree portfast bpdu-guard enable

相關資訊

- Cisco IOS 平台上的錯誤停用連接埠狀態復原

- 設定快速EtherChannel和Gigabit EtherChannel(CatOS 5.4)

- Catalyst 5000系列軟體版本4.x版本說明

- EtherChannel技術支援

- 使用 PortFast 和其他命令修復工作站啟動連線延遲

- 技術支援與文件 - Cisco Systems