冗余鏈路與VLAN配置:STP與鏈路聚合實(shí)戰(zhàn)指南)
交換機(jī)冗余鏈路和VLAN配置通常是兩件事分開講。實(shí)際做接入層或匯聚層冗余時(shí)最常碰到的問題是兩條上聯(lián)鏈路同時(shí)放行多個(gè)VLAN不處理會(huì)形成環(huán)路處理不好又會(huì)被STP阻塞一條鏈路帶寬白白浪費(fèi)改用鏈路聚合后又需要統(tǒng)一端口類型、Trunk放行范圍和PVID配置。這篇文章把這兩件事放在一起梳理直接給出一套可以落地的配置方法核心思路同樣適用于華為、H3C、思科等主流交換機(jī)。全文按實(shí)際運(yùn)維順序展開先講冗余鏈路和VLAN的關(guān)系再分別給出生成樹和鏈路聚合兩種冗余方案最后是配置實(shí)例、驗(yàn)證方法、性能觀察和排錯(cuò)清單。如果你正在規(guī)劃兩臺(tái)接入交換機(jī)之間的雙鏈路互聯(lián)或者想把匯聚層的兩條上聯(lián)鏈路聚合成一條邏輯鏈路同時(shí)還要保證多個(gè)VLAN正常工作這篇文章可以直接收藏。讀完你能明確幾個(gè)關(guān)鍵結(jié)論Trunk上放行哪些VLAN、PVID和Native VLAN對(duì)不上會(huì)有什么后果、什么時(shí)候該用STP、什么時(shí)候該用鏈路聚合、斷了一條物理鏈路后業(yè)務(wù)會(huì)不會(huì)中斷以及如何在測(cè)試環(huán)境中驗(yàn)證。1. 核心能力速覽能力項(xiàng)說明解決目標(biāo)二層冗余鏈路下的VLAN透?jìng)?、環(huán)路防護(hù)與鏈路冗余關(guān)鍵技術(shù)VLAN、Access/Trunk、PVID/Native VLAN、STP/RSTP/MSTP、鏈路聚合/LACP適用網(wǎng)絡(luò)層級(jí)接入層到匯聚層、園區(qū)網(wǎng)、企業(yè)內(nèi)網(wǎng)的交換機(jī)互聯(lián)兩種冗余路線生成樹協(xié)議阻塞冗余鏈路鏈路聚合將多條物理鏈路合并為一條邏輯鏈路與VLAN的關(guān)系Trunk負(fù)責(zé)多VLAN透?jìng)鱌VID/Native VLAN決定無標(biāo)簽報(bào)文歸屬STP和聚合決定鏈路轉(zhuǎn)發(fā)狀態(tài)配置風(fēng)格以華為VRP命令風(fēng)格為例同時(shí)給出思科IOS對(duì)比片段驗(yàn)證方法display/show命令查看VLAN、STP、Eth-Trunk狀態(tài)ping測(cè)試業(yè)務(wù)連通性拔線測(cè)試收斂效果使用前提在授權(quán)測(cè)試環(huán)境或維護(hù)窗口內(nèi)操作變更前備份配置從材料看這個(gè)主題并不是某個(gè)開源軟件或AI模型而是一套交換機(jī)配置方法。因此下面不會(huì)涉及顯存、顯卡、啟動(dòng)腳本這些指標(biāo)重點(diǎn)放在拓?fù)湓O(shè)計(jì)、VLAN規(guī)劃、命令配置和排錯(cuò)思路上。2. 適用場(chǎng)景與使用邊界2.1 適合誰(shuí)這套配置方法適合網(wǎng)絡(luò)運(yùn)維、弱電工程、園區(qū)網(wǎng)絡(luò)建設(shè)和數(shù)通學(xué)習(xí)者。典型場(chǎng)景包括兩臺(tái)接入交換機(jī)之間通過兩條網(wǎng)線或光纖互聯(lián)希望線路冗余。交換機(jī)雙上聯(lián)到匯聚層希望在一條鏈路故障時(shí)業(yè)務(wù)不中斷。多個(gè)業(yè)務(wù)VLAN需要跨交換機(jī)互通配置Trunk透?jìng)鳌P枰瑫r(shí)利用兩條物理鏈路帶寬而不是讓其中一條被生成樹長(zhǎng)期阻塞。新上線一組交換機(jī)需要先規(guī)劃VLAN劃分再考慮冗余鏈路。對(duì)于這些場(chǎng)景理解STP和鏈路聚合的取舍比背命令更重要。命令只是表達(dá)判斷鏈路該轉(zhuǎn)發(fā)的邏輯才是核心。2.2 不適合什么這組方法主要針對(duì)二層冗余和鏈路聚合不適合作為三層路由復(fù)雜場(chǎng)景的唯一方案。如果網(wǎng)絡(luò)中存在大量路由協(xié)議、策略路由、VRRP等需求需要結(jié)合三層交換機(jī)和路由協(xié)議統(tǒng)一規(guī)劃不能只靠二層VLAN透?jìng)鹘鉀Q。另外如果兩端交換機(jī)廠家不同命令風(fēng)格和協(xié)議細(xì)節(jié)會(huì)不一樣。雖然RSTP和LACP是標(biāo)準(zhǔn)協(xié)議但不同廠商的默認(rèn)參數(shù)、PDU處理和MSTP實(shí)例映射方式存在差異??鐝S商配置時(shí)不能直接照抄命令需要先核對(duì)版本和特性支持情況。2.3 使用邊界與合規(guī)提醒網(wǎng)絡(luò)設(shè)備的操作會(huì)直接影響生產(chǎn)業(yè)務(wù)。下面所有配置都建議先在實(shí)驗(yàn)室或測(cè)試環(huán)境驗(yàn)證再進(jìn)入生產(chǎn)網(wǎng)絡(luò)。配置變更前必須備份當(dāng)前配置保留回退方案。不要隨意對(duì)未知來源的設(shè)備做掃描和探測(cè)不能越過授權(quán)范圍操作任何網(wǎng)絡(luò)設(shè)施。如果涉及監(jiān)控、門禁、辦公網(wǎng)等不同業(yè)務(wù)的VLAN也要結(jié)合單位的網(wǎng)絡(luò)安全規(guī)范進(jìn)行劃分。VLAN本身是隔離廣播域的手段不是絕對(duì)安全邊界涉及敏感業(yè)務(wù)時(shí)還需要配合ACL、防火墻等機(jī)制。3. 環(huán)境準(zhǔn)備與VLAN規(guī)劃3.1 物理環(huán)境準(zhǔn)備開始配置前準(zhǔn)備兩臺(tái)支持VLAN和STP的交換機(jī)例如常見的二層或三層交換機(jī)。準(zhǔn)備兩臺(tái)電腦或測(cè)試終端用來接在交換機(jī)上驗(yàn)證VLAN互通準(zhǔn)備若干網(wǎng)線或光纖用于交換機(jī)之間的冗余鏈路以及終端接入。如果通過Console口配置還需要配置線和串口終端軟件如果用SSH或Telnet則需提前給交換機(jī)配置管理IP并保證可達(dá)。從網(wǎng)絡(luò)拓?fù)渖峡醋钚◎?yàn)證環(huán)境是兩臺(tái)交換機(jī)通過兩條鏈路互相連接。為了驗(yàn)證多VLAN透?jìng)骺梢栽诿颗_(tái)交換機(jī)上連接屬于不同VLAN的終端。建議先用這個(gè)最小拓?fù)渑芡ㄔ贁U(kuò)展到匯聚層、核心層。3.2 VLAN規(guī)劃表VLAN規(guī)劃是冗余鏈路配置的前置條件。沒有清晰的VLAN編號(hào)后續(xù)Trunk放行、STP實(shí)例、網(wǎng)關(guān)配置都會(huì)亂。下面是一個(gè)常見的規(guī)劃示例VLAN ID名稱/用途終端網(wǎng)段示例三層網(wǎng)關(guān)10辦公網(wǎng)192.168.10.0/24192.168.10.25420監(jiān)控網(wǎng)192.168.20.0/24192.168.20.25430測(cè)試網(wǎng)192.168.30.0/24192.168.30.254規(guī)劃時(shí)注意幾點(diǎn)業(yè)務(wù)VLAN不要使用VLAN 1因?yàn)閂LAN 1是交換機(jī)默認(rèn)VLAN容易產(chǎn)生管理和業(yè)務(wù)混跑的問題Trunk上不要直接放行all盡量按需求放行指定VLAN如果交換機(jī)之間只是二層互聯(lián)三層網(wǎng)關(guān)一般放在核心交換機(jī)或匯聚交換機(jī)上接入交換機(jī)不需要配置VLANIF。3.3 端口規(guī)劃端口規(guī)劃至少分三類交換機(jī)互聯(lián)端口用于連接另一臺(tái)交換機(jī)通常配置為Trunk放行需要跨設(shè)備通信的業(yè)務(wù)VLAN。終端接入端口連接電腦、IP電話、攝像頭等終端通常配置為Access并指定一個(gè)業(yè)務(wù)VLAN。管理端口或管理VLAN端口用于遠(yuǎn)程登錄設(shè)備建議單獨(dú)規(guī)劃一個(gè)管理VLAN限制管理流量范圍。規(guī)劃完成后畫一張簡(jiǎn)潔的端口表非常有幫助。例如SwitchA的Ge0/0/1和Ge0/0/2連接SwitchBSwitchA的Ge0/0/3接辦公網(wǎng)終端SwitchB的Ge0/0/4接監(jiān)控終端。這樣在配置和排錯(cuò)時(shí)能快速定位問題。4. VLAN基礎(chǔ)配置Trunk、PVID與放行規(guī)則4.1 創(chuàng)建VLAN以華為VRP命令風(fēng)格為例在系統(tǒng)視圖下批量創(chuàng)建VLANsystem-view vlan batch 10 20 30在思科IOS設(shè)備上創(chuàng)建VLAN的方式略有不同configure terminal vlan 10 name office vlan 20 name monitor vlan 30 name test創(chuàng)建完VLAN后可以進(jìn)入端口視圖把終端接入端口配置為Access并劃入對(duì)應(yīng)VLANinterface GigabitEthernet0/0/3 port link-type access port default vlan 10這一步的目的是把終端流量打上VLAN 10的標(biāo)簽讓交換機(jī)知道哪些端口屬于同一個(gè)二層廣播域。4.2 Trunk端口配置與VLAN放行跨交換機(jī)的冗余鏈路必須處理多VLAN透?jìng)魉曰ヂ?lián)端口通常配置為Trunk。Trunk端口相比Access端口允許同時(shí)承載多個(gè)VLAN的流量。華為命令如下interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 10 20 30思科風(fēng)格的對(duì)應(yīng)配置是interface GigabitEthernet0/1 switchport mode trunk switchport trunk allowed vlan 10,20,30這里最容易犯的錯(cuò)誤是只設(shè)置了Trunk模式卻沒有放行對(duì)應(yīng)VLAN。如果兩個(gè)交換機(jī)之間的Trunk沒有放行VLAN 20那么VLAN 20的終端跨交換機(jī)通信必然失敗。排查這種問題時(shí)第一反應(yīng)應(yīng)該是查看互聯(lián)Trunk端口的VLAN放行列表。4.3 PVID與Native VLAN的作用PVID是端口默認(rèn)VLAN的編號(hào)。對(duì)于Access端口PVID就是端口所屬VLAN對(duì)于Trunk端口PVID決定了收到“無標(biāo)簽幀”時(shí)把該幀歸入哪個(gè)VLAN。華為交換機(jī)用port trunk pvid vlan命令設(shè)置PVIDinterface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 10 20 30 port trunk pvid vlan 10思科交換機(jī)中對(duì)應(yīng)概念是Native VLANinterface GigabitEthernet0/1 switchport mode trunk switchport trunk allowed vlan 10,20,30 switchport trunk native vlan 10如果Trunk端口收到不攜帶VLAN標(biāo)簽的幀交換機(jī)會(huì)把它視為PVID或Native VLAN對(duì)應(yīng)的VLAN。因此兩端Trunk的PVID或Native VLAN必須一致否則無標(biāo)簽流量會(huì)被劃到不同VLAN造成二層通信異常。很多實(shí)際故障都出在這里一端PVID是10另一端PVID是20結(jié)果無標(biāo)簽幀在兩端被識(shí)別成不同VLAN設(shè)備間雖然物理鏈路是通的但業(yè)務(wù)就是不通。推薦的做法是如果業(yè)務(wù)VLAN都打上Trunk標(biāo)簽就不要把業(yè)務(wù)VLAN設(shè)置為PVID可以保留默認(rèn)VLAN 1作為PVID或者單獨(dú)規(guī)劃一個(gè)協(xié)議VLAN。4.4 VLAN配置后的基礎(chǔ)檢查配置完成后可以通過查看命令確認(rèn)狀態(tài)。華為交換機(jī)使用display port vlan display vlan summary思科交換機(jī)使用show vlan brief show interfaces trunk這里的核心檢查項(xiàng)有三個(gè)業(yè)務(wù)VLAN是否存在、Trunk端口是否放行了對(duì)應(yīng)VLAN、兩端PVID是否一致。只要這三項(xiàng)沒有問題VLAN透?jìng)鞯幕A(chǔ)就建立起來了。接下來要考慮的是冗余鏈路本身帶來的環(huán)路問題。5. 冗余鏈路防環(huán)STP/RSTP配置方法5.1 為什么冗余鏈路需要STP兩臺(tái)交換機(jī)之間如果只配一條Trunk鏈路不存在物理環(huán)路VLAN配置好就能正常通信。但如果為了冗余再配置第二條Trunk兩條鏈路就會(huì)形成二層環(huán)路。廣播幀會(huì)在兩臺(tái)交換機(jī)之間反復(fù)轉(zhuǎn)發(fā)產(chǎn)生廣播風(fēng)暴交換機(jī)CPU占用率升高終端網(wǎng)絡(luò)嚴(yán)重卡頓甚至整個(gè)二層網(wǎng)絡(luò)癱瘓。解決這個(gè)問題的標(biāo)準(zhǔn)技術(shù)是生成樹協(xié)議STP。STP通過選舉根橋、指定端口和阻塞端口在網(wǎng)絡(luò)中邏輯上打破環(huán)路同時(shí)保留一條備份鏈路。當(dāng)主鏈路故障時(shí)STP會(huì)重新計(jì)算拓?fù)浒阎白枞亩丝谇袚Q為轉(zhuǎn)發(fā)狀態(tài)從而實(shí)現(xiàn)冗余切換。實(shí)際工程中推薦使用RSTP或MSTP而不是傳統(tǒng)的STP。RSTP的收斂速度更快通常能在秒級(jí)內(nèi)完成對(duì)業(yè)務(wù)影響更小。MSTP則可以將多個(gè)VLAN映射到不同實(shí)例實(shí)現(xiàn)更精細(xì)的負(fù)載分擔(dān)和域劃分。5.2 RSTP基礎(chǔ)配置示例華為交換機(jī)開啟RSTP的命令如下system-view stp mode rstp stp bridge priority 4096這里把SwitchA的橋優(yōu)先級(jí)設(shè)為4096讓它在網(wǎng)絡(luò)中更容易成為根橋。SwitchB如果不配置優(yōu)先級(jí)默認(rèn)值是32768在根橋選舉時(shí)會(huì)比4096更劣因此SwitchA會(huì)成為根橋。這種規(guī)劃讓生成樹的根橋位置可控避免隨機(jī)選舉造成鏈路切換路徑不理想。接口上的邊緣端口和BPDU保護(hù)也需要處理。連接終端設(shè)備如電腦、攝像頭的端口通常建議配置為邊緣端口這樣端口一Up就能快速進(jìn)入轉(zhuǎn)發(fā)狀態(tài)不需要等待STP收斂。華為命令interface GigabitEthernet0/0/3 stp edged-port enable stp bpdu-filter enable注意bpdu-filter開啟后端口不再處理BPDU報(bào)文這意味著即使誤接了交換機(jī)也無法通過該端口參與STP計(jì)算可能造成環(huán)路。生產(chǎn)環(huán)境中需要評(píng)估風(fēng)險(xiǎn)一般只在明確知道對(duì)端是終端的端口上開啟。思科設(shè)備對(duì)應(yīng)配置如下spanning-tree mode rapid-pvst spanning-tree vlan 10,20,30 root primary interface GigabitEthernet0/3 spanning-tree portfast edge spanning-tree bpdufilter enable需要注意的是思科rapid-pvst是基于每個(gè)VLAN運(yùn)行獨(dú)立的生成樹實(shí)例華為默認(rèn)的RSTP運(yùn)行在單實(shí)例上。對(duì)比的時(shí)候不能只看命令還要理解協(xié)議實(shí)例數(shù)量對(duì)資源占用和排錯(cuò)方式的影響。5.3 觀察STP端口狀態(tài)配置RSTP后可以用命令查看生成樹狀態(tài)。華為交換機(jī)display stp brief display stp interface GigabitEthernet0/0/1思科交換機(jī)show spanning-tree summary show spanning-tree interface GigabitEthernet0/1正常情況下兩條冗余Trunk鏈路中會(huì)有一條處于轉(zhuǎn)發(fā)狀態(tài)另一條處于阻塞狀態(tài)。看到端口處于阻塞狀態(tài)不一定是故障反而是STP在正常工作。關(guān)鍵是確認(rèn)期望轉(zhuǎn)發(fā)的那條鏈路處于轉(zhuǎn)發(fā)狀態(tài)期望備份的那條鏈路處于阻塞或備用狀態(tài)。如果兩條鏈路都想轉(zhuǎn)發(fā)那就不要使用STP方案應(yīng)該考慮鏈路聚合。鏈路聚合能把多條物理鏈路合并為一條邏輯鏈路從STP視角看只是一個(gè)端口不會(huì)產(chǎn)生環(huán)路因此兩條物理鏈路都可以處于轉(zhuǎn)發(fā)狀態(tài)帶寬也可以疊加。6. 鏈路聚合實(shí)現(xiàn)冗余與VLAN透?jìng)?.1 鏈路聚合與VLAN的關(guān)系鏈路聚合Link Aggregation可以將兩臺(tái)交換機(jī)之間的多條物理鏈路捆綁成一條邏輯鏈路常見協(xié)議是LACP也可以使用手工靜態(tài)聚合。鏈路聚合和VLAN配置并不是互斥關(guān)系。聚合口創(chuàng)建之后同樣需要配置Trunk模式和允許通過的VLAN列表。此時(shí)成員物理端口不再單獨(dú)配置VLAN屬性所有VLAN透?jìng)髋渲枚荚贓th-Trunk接口華為或Port-Channel接口思科上完成。與傳統(tǒng)STP冗余方案相比鏈路聚合有兩個(gè)優(yōu)勢(shì)一是多條成員鏈路都能轉(zhuǎn)發(fā)業(yè)務(wù)流量實(shí)現(xiàn)帶寬疊加二是某一條成員鏈路故障時(shí)流量會(huì)自動(dòng)切換到其他成員鏈路收斂速度快對(duì)業(yè)務(wù)影響小。6.2 華為Eth-Trunk配置示例華為交換機(jī)配置靜態(tài)LACP聚合的步驟如下system-view interface Eth-Trunk1 port link-type trunk port trunk allow-pass vlan 10 20 30 mode lacp-static然后進(jìn)入兩個(gè)成員物理口把它們加入Eth-Trunk1interface GigabitEthernet0/0/1 eth-trunk 1 interface GigabitEthernet0/0/2 eth-trunk 1這里有幾個(gè)細(xì)節(jié)需要注意。第一成員物理口不能提前配置Trunk、Access這些二層屬性否則加入聚合口時(shí)會(huì)報(bào)錯(cuò)。第二聚合口下的Trunk和VLAN放行配置才是最終生效配置第三兩端交換機(jī)的聚合模式必須一致例如都使用lacp-static或都使用手工聚合不能一端LACP一端手工。如果希望保留PVID配置可以在聚合口下繼續(xù)添加interface Eth-Trunk1 port trunk pvid vlan 10但和前面提到的一樣除非有明確的Native VLAN需求否則不建議把業(yè)務(wù)VLAN設(shè)為PVID。6.3 思科Port-Channel配置示例思科交換機(jī)上配置Port-Channel的命令略有不同interface Port-channel1 switchport mode trunk switchport trunk allowed vlan 10,20,30然后配置兩個(gè)物理口interface GigabitEthernet0/1 channel-group 1 mode active interface GigabitEthernet0/2 channel-group 1 mode activemode active表示啟用LACP主動(dòng)模式兩端都配置為active后可以正常協(xié)商。如果一端是active另一端是passive也能協(xié)商成功如果一端關(guān)閉LACP就變成手工靜態(tài)聚合要求兩端配置一致。6.4 聚合鏈路下的STP考慮鏈路聚合本身能解決兩臺(tái)交換機(jī)之間雙鏈路的環(huán)路問題但并不意味著可以全局關(guān)閉STP。如果交換機(jī)還存在其他物理鏈路或者下面還掛著多臺(tái)交換機(jī)仍然可能形成環(huán)路。正確的做法是全局保持STP/RSTP開啟把聚合口當(dāng)成一個(gè)普通邏輯口參與生成樹計(jì)算。聚合口up或down時(shí)整體參與STP拓?fù)渥兓皇浅蓡T口分別參與。這樣就兼顧了鏈路冗余和環(huán)路防護(hù)聚合口內(nèi)多條成員鏈路故障時(shí)秒級(jí)切換聚合口本身和相關(guān)拓?fù)浒l(fā)生變化時(shí)由STP保證不出現(xiàn)廣播風(fēng)暴。7. 完整配置實(shí)例雙交換機(jī)雙鏈路冗余7.1 拓?fù)湔f明以兩臺(tái)接入交換機(jī)SwitchA和SwitchB為例。SwitchA和SwitchB之間使用兩條物理鏈路連接分別是Ge0/0/1和Ge0/0/2。業(yè)務(wù)VLAN包括VLAN 10辦公網(wǎng)、VLAN 20監(jiān)控網(wǎng)、VLAN 30測(cè)試網(wǎng)。終端設(shè)備分別接在SwitchA和SwitchB上。我們需要在SwitchA和SwitchB之間實(shí)現(xiàn)多VLAN透?jìng)鞑⑶乙笠粭l物理鏈路故障時(shí)業(yè)務(wù)不中斷。這里提供兩種方案方案A使用RSTP讓STP阻塞一條鏈路方案B使用Eth-Trunk鏈路聚合讓兩條鏈路同時(shí)轉(zhuǎn)發(fā)。7.2 方案ARSTP冗余方案SwitchA配置system-view sysname SwitchA stp mode rstp stp bridge priority 4096 vlan batch 10 20 30 interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 10 20 30 interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 10 20 30 interface GigabitEthernet0/0/3 port link-type access port default vlan 10SwitchB配置system-view sysname SwitchB stp mode rstp stp bridge priority 32768 vlan batch 10 20 30 interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 10 20 30 interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 10 20 30 interface GigabitEthernet0/0/4 port link-type access port default vlan 20在這個(gè)配置下SwitchA成為根橋兩條Trunk鏈路都會(huì)被放行VLAN 10/20/30。STP會(huì)選舉其中一條鏈路為轉(zhuǎn)發(fā)狀態(tài)另一條為阻塞狀態(tài)。當(dāng)轉(zhuǎn)發(fā)鏈路斷開后STP會(huì)重新收斂把之前阻塞的端口切換到轉(zhuǎn)發(fā)狀態(tài)業(yè)務(wù)恢復(fù)。這個(gè)方案中兩條物理鏈路不會(huì)同時(shí)轉(zhuǎn)發(fā)業(yè)務(wù)流量帶寬不能被疊加。它的優(yōu)勢(shì)是配置簡(jiǎn)單兼容性好適合沒有LACP聚合需求的老設(shè)備或跨廠商設(shè)備。7.3 方案BEth-Trunk聚合方案SwitchA配置system-view sysname SwitchA stp mode rstp vlan batch 10 20 30 interface Eth-Trunk1 port link-type trunk port trunk allow-pass vlan 10 20 30 mode lacp-static interface GigabitEthernet0/0/1 eth-trunk 1 interface GigabitEthernet0/0/2 eth-trunk 1 interface GigabitEthernet0/0/3 port link-type access port default vlan 10SwitchB配置system-view sysname SwitchB stp mode rstp vlan batch 10 20 30 interface Eth-Trunk1 port link-type trunk port trunk allow-pass vlan 10 20 30 mode lacp-static interface GigabitEthernet0/0/1 eth-trunk 1 interface GigabitEthernet0/0/2 eth-trunk 1 interface GigabitEthernet0/0/4 port link-type access port default vlan 20這個(gè)方案中Eth-Trunk1作為一條邏輯鏈路承載兩個(gè)物理口。STP仍然開啟但看到的是Eth-Trunk1這個(gè)邏輯口不會(huì)阻塞單個(gè)成員口。正常運(yùn)行時(shí)兩條物理鏈路都處于轉(zhuǎn)發(fā)狀態(tài)流量根據(jù)負(fù)載分擔(dān)算法分布。當(dāng)Ge0/0/1故障時(shí)流量會(huì)自動(dòng)切換到Ge0/0/2VLAN 10/20/30的跨交換機(jī)通信不受影響恢復(fù)速度通常比STP收斂更快。7.4 配置后的保存配置完成后一定要保存配置否則交換機(jī)重啟后配置會(huì)丟失。華為設(shè)備在用戶視圖下執(zhí)行save思科設(shè)備執(zhí)行write memory保存完成后再開始功能驗(yàn)證。保存前建議先截圖或?qū)С雠渲梦募奖慊赝恕?. 功能測(cè)試與效果驗(yàn)證8.1 驗(yàn)證VLAN內(nèi)終端連通性配置完成后最直接的驗(yàn)證方法是接兩臺(tái)測(cè)試終端分別接入不同交換機(jī)但屬于同一VLAN。例如在SwitchA的Ge0/0/3接入一臺(tái)電腦設(shè)置IP為192.168.10.10/24在SwitchB的任意VLAN 10接入端口接入另一臺(tái)電腦設(shè)置IP為192.168.10.20/24。然后在一邊ping另一邊的地址。ping 192.168.10.20如果能夠正常通信說明Trunk允許了VLAN 10且兩端Trunk的VLAN透?jìng)髡!M瑯拥姆椒ㄔ贉y(cè)試VLAN 20和VLAN 30。如果某個(gè)VLAN跨交換機(jī)不通優(yōu)先檢查Trunk放行列表和兩端PVID是否一致。8.2 查看VLAN和Trunk狀態(tài)華為交換機(jī)檢查VLAN和Trunk狀態(tài)display vlan summary display port vlan輸出中可以看到每個(gè)端口允許通過的VLAN編號(hào)、端口類型和默認(rèn)VLAN。正常情況下互聯(lián)Trunk口的放行列表應(yīng)該包含業(yè)務(wù)VLAN。思科交換機(jī)對(duì)應(yīng)命令是show vlan brief show interfaces trunk8.3 驗(yàn)證STP狀態(tài)如果使用方案ARSTP需要確認(rèn)STP選舉結(jié)果是否符合預(yù)期。在SwitchA和SwitchB上執(zhí)行display stp brief正常情況下兩臺(tái)交換機(jī)之間的兩條Trunk鏈路中一條端口狀態(tài)為轉(zhuǎn)發(fā)Forwarding一條端口狀態(tài)為阻塞Discarding或Blocking。根橋應(yīng)該位于你期望的設(shè)備上示例中是SwitchA。如果兩條鏈路都處于轉(zhuǎn)發(fā)狀態(tài)說明可能沒有形成環(huán)路檢測(cè)或者STP被關(guān)閉潛在風(fēng)險(xiǎn)較大。如果兩條鏈路都處于阻塞狀態(tài)則需要檢查端口角色和優(yōu)先級(jí)配置。8.4 驗(yàn)證鏈路聚合狀態(tài)如果使用方案BEth-Trunk需要查看聚合口狀態(tài)。華為命令display eth-trunk 1輸出中可以看到聚合口的工作模式、成員端口數(shù)量和每個(gè)成員口的狀態(tài)Selected/Unselected。正常情況下兩個(gè)物理口都應(yīng)該是Selected狀態(tài)聚合口處于Up狀態(tài)。思科交換機(jī)對(duì)應(yīng)命令show etherchannel summary看到端口通道協(xié)議為L(zhǎng)ACP成員口狀態(tài)為P說明鏈路聚合正常。8.5 拔線測(cè)試與冗余驗(yàn)證冗余鏈路的核心價(jià)值在鏈路故障時(shí)體現(xiàn)。建議在測(cè)試環(huán)境做一次拔線測(cè)試。步驟一讓終端A和終端B互相ping使用長(zhǎng)ping方便觀察丟包情況。步驟二在交換機(jī)A側(cè)拔掉其中一條物理鏈路。步驟三觀察ping的丟包和恢復(fù)時(shí)間。如果是方案ASTP拔掉轉(zhuǎn)發(fā)鏈路后STP需要重新收斂通常會(huì)丟一段時(shí)間包但網(wǎng)絡(luò)能自動(dòng)恢復(fù)。如果是方案BEth-Trunk流量會(huì)在秒級(jí)或更短時(shí)間內(nèi)切換到另一條成員鏈路丟包更少甚至不丟包。需要注意的是拔線測(cè)試會(huì)對(duì)現(xiàn)有業(yè)務(wù)產(chǎn)生沖擊只能在測(cè)試環(huán)境或經(jīng)批準(zhǔn)的維護(hù)窗口內(nèi)進(jìn)行。只需要驗(yàn)證兩條鏈路都能承載VLAN流量時(shí)也可以先觀察端口狀態(tài)不必直接拔生產(chǎn)線路。8.6 判斷成功的標(biāo)準(zhǔn)整體驗(yàn)證可以通過以下標(biāo)準(zhǔn)判斷同一VLAN內(nèi)的終端跨交換機(jī)ping通。不同VLAN間的流量按預(yù)期被隔離未做三層路由時(shí)不能互通。STP方案中有一條鏈路被阻塞根橋位置符合規(guī)劃。Eth-Trunk方案中兩個(gè)成員口都是Selected狀態(tài)。斷開其中一條物理鏈路后業(yè)務(wù)能按設(shè)計(jì)自動(dòng)切換到另一條鏈路。交換機(jī)日志中沒有持續(xù)的廣播風(fēng)暴、端口翻動(dòng)告警。9. 資源占用、性能觀察與排錯(cuò)清單9.1 觀察STP收斂和鏈路狀態(tài)交換機(jī)資源占用不像服務(wù)器那樣直觀但可以通過CLI觀察關(guān)鍵指標(biāo)。STP收斂時(shí)間、端口狀態(tài)變化、聚合口成員狀態(tài)、端口丟棄計(jì)數(shù)都能反映網(wǎng)絡(luò)健康度。華為交換機(jī)查看端口統(tǒng)計(jì)信息display interface GigabitEthernet0/0/1 display interface Eth-Trunk1思科交換機(jī)查看接口統(tǒng)計(jì)show interfaces GigabitEthernet0/1 show interfaces port-channel1重點(diǎn)看CRC錯(cuò)誤、碰撞、超時(shí)、入方向丟包和出方向丟包。如果某個(gè)聚合成員口出現(xiàn)大量丟棄計(jì)數(shù)說明流量負(fù)載可能不均勻或者成員鏈路質(zhì)量有問題。9.2 觀察環(huán)路和廣播風(fēng)暴當(dāng)Trunk和STP配置出現(xiàn)問題時(shí)最直接的表現(xiàn)為廣播報(bào)文飆升。此時(shí)可以在交換機(jī)執(zhí)行display cpu-usage如果CPU占用率持續(xù)很高需要檢查是否存在環(huán)路。華為設(shè)備還可以查看告警日志display logbuffer日志中如果出現(xiàn)大量端口UP/DOWN、MAC地址漂移等記錄就要警惕環(huán)路問題。MAC地址漂移是二層環(huán)路的典型特征排查優(yōu)先級(jí)要高于VLAN配置本身。9.3 性能優(yōu)化方向如果使用STP方案可以通過調(diào)整優(yōu)先級(jí)和端口開銷來控制轉(zhuǎn)發(fā)路徑但無法讓冗余鏈路同時(shí)轉(zhuǎn)發(fā)流量。如果希望提高鏈路利用率應(yīng)當(dāng)使用鏈路聚合。鏈路聚合的負(fù)載分擔(dān)算法會(huì)影響帶寬利用率。默認(rèn)情況下交換機(jī)可能基于源MAC、目的MAC或IP地址進(jìn)行哈希分發(fā)。在單一業(yè)務(wù)長(zhǎng)連接場(chǎng)景下負(fù)載分擔(dān)效果可能不明顯。如果鏈路利用率不平衡可以調(diào)整負(fù)載分擔(dān)模式例如在華為交換機(jī)上執(zhí)行l(wèi)oad-balance src-dst-ip但具體參數(shù)因設(shè)備型號(hào)和芯片而異需要以設(shè)備手冊(cè)為準(zhǔn)。9.4 常見問題與排查方法問題現(xiàn)象可能原因排查方式解決方案同一個(gè)VLAN跨交換機(jī)ping不通Trunk未放行該VLAN或Access端口VLAN配錯(cuò)display port vlan確認(rèn)Trunk放行列表在Trunk口加入目標(biāo)VLAN修正Access端口VLAN業(yè)務(wù)報(bào)文被錯(cuò)誤劃分到其他VLAN兩端PVID或Native VLAN不一致對(duì)比兩端Trunk PVID統(tǒng)一兩端PVID建議使用默認(rèn)VLAN或?qū)S没ヂ?lián)VLAN兩條Trunk鏈路都在轉(zhuǎn)發(fā)STP未開啟或RSTP未生效display stp brief開啟RSTP檢查橋優(yōu)先級(jí)和BPDU是否正常收發(fā)端口處于阻塞狀態(tài)恢復(fù)速度慢STP收斂時(shí)間較長(zhǎng)或端口未啟用RSTPdisplay stp查看端口模式使用RSTP或MSTP合理配置邊緣端口Eth-Trunk成員口沒有全部Selected成員口速率、雙工或聚合模式不一致display eth-trunk檢查兩端模式統(tǒng)一兩端成員口參數(shù)重新配置聚合模式配置聚合口后接口沖突物理口已有二層配置display current-configuration清空物理口原有配置后再加入Eth-TrunkMAC地址漂移告警二層環(huán)路導(dǎo)致廣播幀反復(fù)轉(zhuǎn)發(fā)display logbufferdisplay mac-address檢查Trunk、STP和聚合配置消除物理環(huán)路端口頻繁Up/Down光模塊、線纜故障或協(xié)商異常display interface檢查錯(cuò)誤計(jì)數(shù)更換線纜或光模塊檢查兩端速率雙工協(xié)商新增VLAN不透?jìng)鱐runk放行列表沒有更新display port vlan在Trunk口放行新VLAN交換機(jī)配置重啟丟失沒有執(zhí)行save/write memory查看啟動(dòng)配置文件保存配置導(dǎo)出備份排查時(shí)的通用思路是先看物理層再看二層VLAN再看STP和聚合。物理層不通一切VLAN配置都無從談起VLAN放行不對(duì)STP和聚合再正常業(yè)務(wù)也不通STP和聚合異常即使VLAN放行正確也會(huì)出現(xiàn)環(huán)路或切換失敗。10. 最佳實(shí)踐與合規(guī)建議10.1 規(guī)劃先行VLAN和冗余鏈路配置最怕沒有規(guī)劃就開始敲命令。上線前先確定VLAN號(hào)、端口角色、Trunk放行范圍和網(wǎng)關(guān)位置。使用VLAN表、端口表和IP地址表把規(guī)劃落實(shí)到文檔中。即使是兩臺(tái)交換機(jī)的實(shí)驗(yàn)環(huán)境也建議按生產(chǎn)標(biāo)準(zhǔn)做。實(shí)際工程中我建議每個(gè)Trunk口放行VLAN時(shí)采用最小化原則。只放行業(yè)務(wù)需要的VLAN而不是直接使用port trunk allow-pass vlan all。這樣能減少?gòu)V播域擴(kuò)散范圍也能降低環(huán)路影響面。10.2 合理選擇冗余方案如果兩條鏈路都想轉(zhuǎn)發(fā)且?guī)捫枰B加優(yōu)先考慮Eth-Trunk/LACP。如果設(shè)備不支持鏈路聚合或者需要跨廠商簡(jiǎn)單互聯(lián)使用RSTP。鏈路聚合和STP不是二選一的關(guān)系而是互補(bǔ)關(guān)系。聚合解決鏈路級(jí)冗余和帶寬疊加STP解決拓?fù)浼?jí)環(huán)路防護(hù)。生產(chǎn)環(huán)境建議兩者都保持開啟。如果網(wǎng)絡(luò)規(guī)模較大可以進(jìn)一步使用MSTP把不同VLAN映射到不同生成樹實(shí)例在多個(gè)匯聚設(shè)備之間實(shí)現(xiàn)負(fù)載分擔(dān)。但MSTP的實(shí)例映射需要在全網(wǎng)保持一致否則會(huì)出現(xiàn)VLAN不同步的故障配置復(fù)雜度會(huì)上升。10.3 配置變更與回退任何交換機(jī)配置變更前執(zhí)行保存或?qū)С雠渲?。如果是遠(yuǎn)程維護(hù)還要確認(rèn)設(shè)備的遠(yuǎn)程管理鏈路不會(huì)因?yàn)榕渲米兏鴶嗟?。比如在管理VLAN或管理網(wǎng)段上配置ACL時(shí)要保留管理終端的訪問權(quán)限。測(cè)試順序建議是先做最小范圍測(cè)試再逐步擴(kuò)展。第一次配置時(shí)不要直接上生產(chǎn)環(huán)境可以先在兩臺(tái)測(cè)試交換機(jī)上模擬雙鏈路冗余驗(yàn)證命令和參數(shù)然后再推演生產(chǎn)拓?fù)?。這樣能把“配置錯(cuò)誤”限制在實(shí)驗(yàn)環(huán)境內(nèi)。10.4 安全與合規(guī)邊界交換機(jī)配置本身是中性的網(wǎng)絡(luò)技術(shù)但操作對(duì)象和權(quán)限需要嚴(yán)格合規(guī)。只能在獲得授權(quán)的設(shè)備和網(wǎng)絡(luò)范圍內(nèi)執(zhí)行配置。不要使用未經(jīng)確認(rèn)的管理地址不要嘗試?yán)@過設(shè)備的身份認(rèn)證機(jī)制。涉及監(jiān)控、門禁、辦公等不同業(yè)務(wù)網(wǎng)絡(luò)時(shí)要遵守單位的網(wǎng)絡(luò)安全制度。VLAN可以作為廣播域隔離手段但不等同于安全邊界。即使劃分了不同VLAN如果需要限制訪問仍然要配置ACL或借助防火墻。配置完成后建議檢查是否存在不必要的Trunk放行、端口鏡像和管理協(xié)議暴露降低安全風(fēng)險(xiǎn)。最后總結(jié)一下最容易踩的坑Trunk放行列表漏了VLAN、兩端PVID不一致、STP被誤關(guān)、Eth-Trunk成員口配置不一致、配置忘記保存。把這幾項(xiàng)記清楚冗余鏈路的VLAN配置就能穩(wěn)定落地。建議先在一臺(tái)交換機(jī)上把VLAN、Trunk、RSTP或Eth-Trunk都配一遍再通過display命令和ping驗(yàn)證一遍形成一套自己的最小參考步驟后續(xù)遇到同類組網(wǎng)直接復(fù)用。