戰(zhàn)指南)
簡(jiǎn)介針對(duì)華為 S5700 交換機(jī) VLAN 設(shè)置整理的一份操作型 PDF 文檔面向網(wǎng)絡(luò)運(yùn)維人員與入門(mén)學(xué)習(xí)者解決實(shí)際組網(wǎng)中 VLAN 劃分、Web 管理配置與路由打通等問(wèn)題。資源僅含 1 個(gè) PDF 文件壓縮包大小約 1.43MB輕量便攜適合在設(shè)備部署現(xiàn)場(chǎng)隨查隨用內(nèi)容從 VLAN 基礎(chǔ)概念入手逐步展開(kāi) Console 登錄、管理 IP 配置、Web 用戶創(chuàng)建以及基于端口的 access 模式與 default vlan 劃分圍繞 s5700、普通交換機(jī)和 tp-link 路由器的典型拓?fù)浣o出了從交換機(jī)初始配置到靜態(tài)路由與 NAT 設(shè)置的一體化說(shuō)明。目前已吸引 695 人學(xué)習(xí)下載適合需要快速對(duì)照配置或復(fù)習(xí)命令細(xì)節(jié)的讀者。通過(guò)閱讀可掌握從交換機(jī)初始設(shè)置到多 VLAN 網(wǎng)段通信的完整鏈路并理解路由與地址轉(zhuǎn)換在實(shí)際項(xiàng)目中的落地方式減少試錯(cuò)成本。1. 華為 S5700 的 VLAN 設(shè)置到底在配什么先分清“建 VLAN”和“通 VLAN”把一臺(tái)全新的 S5700 從包裝里拿出來(lái)插上電默認(rèn)狀態(tài)下所有接口都屬于 VLAN 1互相直通??梢坏┯腥烁嬖V你“把 VLAN 設(shè)置一下”事情就開(kāi)始變味VLAN 建了、端口也劃了、Trunk 也敲了業(yè)務(wù)還是不通。這不是 S5700 硬件或 VRP 系統(tǒng)的問(wèn)題而是大多數(shù)人在配 VLAN 時(shí)把它當(dāng)成了打標(biāo)簽游戲忽略了端口類(lèi)型、PVID 和 VLANIF 網(wǎng)關(guān)之間的聯(lián)動(dòng)。這篇文章就按華為 S5700 的落地順序把 VLAN 設(shè)置講透從建 VLAN、劃 Access/Trunk/Hybrid 接口到跨交換機(jī)透?jìng)骱?VLANIF 三層互通再列出我這些年踩過(guò)的坑。適合剛接觸華為交換機(jī)、照著整理版 PDF 敲命令卻發(fā)現(xiàn)總差一步的運(yùn)維和網(wǎng)絡(luò)工程師。2. 建 VLAN 和劃接口之前S5700 的 VLAN 模型與規(guī)劃選型在 S5700 上做 VLAN第一件事不是敲命令而是弄清楚 VRP 對(duì) VLAN 的三個(gè)默認(rèn)行為。第一VLAN 是全局資源必須先在系統(tǒng)視圖創(chuàng)建。第二所有物理口出廠類(lèi)型是 hybridPVID 是 1并且對(duì) VLAN 1 不帶標(biāo)簽發(fā)送。第三VLAN 1 是系統(tǒng)自帶的保留 VLAN刪不掉。很多網(wǎng)工把培訓(xùn)時(shí)的 Cisco 習(xí)慣帶過(guò)來(lái)在接口下直接劃 VLAN結(jié)果命令報(bào)錯(cuò)又找不到原因。下面按順序拆。2.1 S5700 的 VLAN 表與默認(rèn)行為為什么一建 VLAN 不能馬上用S5700 的 VLAN 表由 VLAN ID 和成員端口組成維護(hù)在一張全局表里用 display vlan 能看到。你用 vlan batch 10 20 創(chuàng)建完VLAN 10 和 20 已經(jīng)存在了但里面沒(méi)有任何成員口也沒(méi)有三層接口。此時(shí)無(wú)論 PC 插在哪個(gè)口都還是屬于 VLAN 1互相能通但和 VLAN 10 沒(méi)有任何關(guān)系。這個(gè)“存在但不生效”的狀態(tài)是新手最容易忽略的。VLAN 1 的默認(rèn)行為值得先說(shuō)一句所有端口默認(rèn) PVID 為 1且對(duì) VLAN 1 發(fā)出的幀不帶標(biāo)簽。也就是說(shuō)你不需要任何配置交換機(jī)就能當(dāng)一臺(tái)傻瓜交換機(jī)用。這也是為什么開(kāi)局時(shí)插線就能通配置了 VLAN 之后反而斷網(wǎng)。VLAN 規(guī)劃一定要在配置之前做不要在設(shè)備上邊配邊想。如果生產(chǎn)網(wǎng)絡(luò)已經(jīng)跑起來(lái)了臨時(shí)加 VLAN 也有順序要求先確認(rèn)要加入 VLAN 的端口當(dāng)前業(yè)務(wù)是否受影響再把端口從舊 VLAN 中移出。S5700 的端口同時(shí)只能有一個(gè) PVID把一個(gè)接口從 access VLAN 10 改成 access VLAN 20不需要先 undo直接覆蓋即可。但如果這個(gè)口在 trunk 或 hybrid 模式下直接敲 port link-type access 會(huì)把原來(lái)的 trunk 配置覆蓋掉屬于不可逆操作。建議先 display current-configuration 看一眼再動(dòng)。注意display vlan 里顯示的 VLAN 狀態(tài)如果是 static說(shuō)明是手工創(chuàng)建如果是 dynamic說(shuō)明是 GVRP 或其他協(xié)議學(xué)習(xí)來(lái)的。S5700 上如果之前跑過(guò) GVRP動(dòng)態(tài) VLAN 會(huì)出現(xiàn)在表里這類(lèi) VLAN 不會(huì)保存到配置文件重啟后會(huì)消失。規(guī)劃時(shí)不要把動(dòng)態(tài) VLAN 當(dāng)成靜態(tài)業(yè)務(wù) VLAN 來(lái)引用。2.2 VLAN ID 規(guī)劃從 vlan batch 到命名可維護(hù)VLAN ID 的規(guī)劃沒(méi)有絕對(duì)標(biāo)準(zhǔn)但有個(gè)原則留出規(guī)律方便 display 和抓包。常見(jiàn)做法是把辦公終端放在 10-20監(jiān)控放在 30-40服務(wù)器放在 100 段管理 VLAN 放在 1000 段。這樣一張表就能說(shuō)清業(yè)務(wù)邊界。S5700 的 VLAN 范圍是 1-4094但接入和匯聚定位的設(shè)備不建議把 VLAN ID 規(guī)劃到 3000 以上因?yàn)橐恍├闲吞?hào) S5700 對(duì)高 VLAN 的 ACL 匹配有限制。system-view vlan batch 10 20 30 40 to 44 100 vlan 10 description Office_192.168.10.0 vlan 20 description IPCAM_192.168.20.0 vlan 30 description Server_192.168.30.0vlan batch 支持跳躍式和連續(xù)式混合寫(xiě)法40 to 44 會(huì)創(chuàng)建 40、41、42、43、44 這 5 個(gè) VLAN。description 不是必填但強(qiáng)烈建議寫(xiě)。業(yè)務(wù)多起來(lái)之后單靠 VLAN ID 記不住用途display vlan 時(shí) description 會(huì)直接顯示在表里能省很多排查時(shí)間。這里要補(bǔ)幾個(gè)參數(shù)細(xì)節(jié)vlan batch 里的 VLAN ID 不能是 1因?yàn)?VLAN 1 已經(jīng)存在重復(fù)創(chuàng)建不會(huì)報(bào)錯(cuò)但不會(huì)覆蓋原 description如果 description 寫(xiě)錯(cuò)了可以進(jìn) vlan 后重新敲 description 覆蓋不需要 undo。刪除用 undo vlan batch 10 20但只能刪除沒(méi)有被端口引用的 VLAN否則會(huì)提示 VLAN 正在端口上使用。這時(shí)候要先清理端口或者用 force 參數(shù)我不建議在生產(chǎn)環(huán)境用 force 刪 VLAN很容易把業(yè)務(wù)配置連坐刪除。2.3 端口類(lèi)型選型Access、Trunk、Hybrid 分別用在哪個(gè)位置端口類(lèi)型選錯(cuò)是 VLAN 配置里最典型的“黑匣子”問(wèn)題。S5700 的三種端口類(lèi)型本質(zhì)上是在決定兩件事進(jìn)入的幀怎么打標(biāo)簽出去的幀帶不帶標(biāo)簽。access 最簡(jiǎn)單端口只能屬于一個(gè) VLAN收到無(wú)標(biāo)簽幀就打上 default vlan 的標(biāo)簽trunk 做多 VLAN 透?jìng)鱤ybrid 則把“打標(biāo)簽/不打標(biāo)簽”分開(kāi)管理。如果你只接 PC 和攝像頭access 是最好理解的。但 S5700 默認(rèn)端口不是 access而是 hybrid。很多人從命令行敲 port link-type access 來(lái)切換這沒(méi)有問(wèn)題??扇绻程彀l(fā)現(xiàn)一個(gè)口配置了 access但收到對(duì)端交換機(jī)發(fā)來(lái)的帶標(biāo)簽幀那這個(gè)幀如果 VLAN 正好等于 default vlan會(huì)被接收如果不等于會(huì)被丟棄所以不能拿 access 口去接交換機(jī)。trunk 適合交換機(jī)之間的互聯(lián)也適合從接入交換機(jī)往匯聚交換機(jī)傳多個(gè) VLAN。S5700 的 trunk 口對(duì) PVID 對(duì)應(yīng)的 VLAN 默認(rèn)不帶標(biāo)簽發(fā)送對(duì)其他 allow-pass 的 VLAN 帶標(biāo)簽發(fā)送。這個(gè)默認(rèn)行為后面會(huì)細(xì)講選型階段只要記住跨設(shè)備的端口用 trunk接終端的端口用 access特殊情況才用 hybrid。interface GigabitEthernet0/0/1 port link-type access port default vlan 10 quit interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 10 20 100 quit interface GigabitEthernet0/0/3 port link-type hybrid port hybrid tagged vlan 10 20 port hybrid untagged vlan 30 quitport default vlan 10 是 access 口指定所屬 VLANtrunk 口必須配 allow-pass 才能讓多個(gè) VLAN 通過(guò)hybrid 口同時(shí)維護(hù) tagged 和 untagged 兩個(gè)列表。注意 hybrid 的 untagged vlan 30 表示 VLAN 30 的幀從這個(gè)口出去時(shí)不帶標(biāo)簽而 tagged vlan 10 20 表示 VLAN 10、20 帶著標(biāo)簽出去。這個(gè)口如果接一個(gè)普通 PCPC 收到了帶標(biāo)簽的 VLAN 10 幀會(huì)直接丟棄所以很多人配了 hybrid 后 PC 不能上網(wǎng)問(wèn)題就在這。我一般會(huì)把端口用途做成表比如“上聯(lián)口 G0/0/24 trunk 允許 10/20/100接入口 G0/0/1 access 10”配完后逐個(gè)核一遍。網(wǎng)上那些“華為交換機(jī)命令大全”里最常被抄錯(cuò)的也是這三種類(lèi)型所以說(shuō)選型比命令本身更重要。3. 跨交換機(jī)打透 VLANTrunk 鏈路配置與 PVID 邊界單臺(tái) S5700 劃 VLAN 一般不會(huì)出大事一出事就是兩臺(tái)交換機(jī)對(duì)接。VLAN 10 在接入交換機(jī)上能通連到匯聚交換機(jī)就丟包或者 PC 能訪問(wèn)同一臺(tái)接入交換機(jī)上的設(shè)備但訪問(wèn)不了匯聚交換機(jī)背后的服務(wù)器。這些通常不是硬件故障而是 Trunk 鏈路上的標(biāo)簽規(guī)則沒(méi)有對(duì)齊。這一章把 Trunk 的配置和判別方法講清楚。3.1 Trunk 端口配置port trunk allow-pass vlan 的生效范圍interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20 100 port trunk pvid vlan 10在 S5700 上port trunk allow-pass vlan 10 20 100 的作用是讓 VLAN 10、20、100 的幀可以通過(guò)這個(gè) Trunk 口。這里“通過(guò)”只對(duì)帶 802.1Q 標(biāo)簽的幀生效。如果對(duì)端發(fā)來(lái)不帶標(biāo)簽的普通以太網(wǎng)幀交換機(jī)查不到 VLAN 標(biāo)簽就會(huì)給這個(gè)幀打上本端口 PVID 的標(biāo)簽然后再查 allow-pass 列表。所以 PVID 必須同時(shí)出現(xiàn)在 allow-pass 列表里否則無(wú)標(biāo)簽幀會(huì)被當(dāng)作“不歡迎的 VLAN”丟棄。port trunk pvid vlan 10 把 PVID 從默認(rèn)的 1 改成 10。很多教程會(huì)讓你把兩端 PVID 改成一樣這是最常見(jiàn)的收斂方式。但要注意PVID 只是處理無(wú)標(biāo)簽幀它不會(huì)把有標(biāo)簽幀變成無(wú)標(biāo)簽幀。如果你希望 VLAN 10 的幀從 Trunk 口出去時(shí)不帶標(biāo)簽不能靠 PVID 解決要看端口對(duì) VLAN 10 是不是 untagged。默認(rèn)配置下Trunk 口對(duì) PVID 的 VLAN 是 untagged對(duì)其他 allow-pass 的 VLAN 是 tagged所以 VLAN 10 作為 PVID 會(huì)不帶標(biāo)簽出去VLAN 20、100 帶標(biāo)簽出去。兩端 S5700 對(duì)接時(shí)我習(xí)慣把對(duì)端的配置也檢查一遍。常見(jiàn)做法是兩臺(tái)設(shè)備都配 trunk都 allow-pass 同樣的 VLAN 列表兩端的 PVID 保持一致。如果一邊是 trunk 一邊是 access即使 allow-pass 寫(xiě)了對(duì)端 access 口收到帶標(biāo)簽幀也會(huì)因?yàn)?VLAN 不匹配而丟包。所以要養(yǎng)成一條命令看兩端的習(xí)慣display port vlan兩端對(duì)著同一列看。Trunk 口還有一種容易翻車(chē)的情況只寫(xiě)了 port link-type trunk沒(méi)有敲 allow-pass。此時(shí) S5700 的默認(rèn)策略是只有 VLAN 1 能通過(guò)VLAN 10 和 20 會(huì)被攔截但接口狀態(tài)是 UPdisplay interface 也看不出錯(cuò)誤。所以 Trunk 建完一定要顯式放行所需 VLAN別指望默認(rèn)放行。3.2 多 VLAN 與默認(rèn) VLAN 的邊界PVID、allowed、tagged 的關(guān)系端口類(lèi)型無(wú)標(biāo)簽幀進(jìn)入帶標(biāo)簽幀進(jìn)入無(wú)標(biāo)簽幀出去帶標(biāo)簽幀出去Access打上 default vlan 標(biāo)簽僅 VIDdefault vlan 時(shí)接收否則丟棄剝離標(biāo)簽后發(fā)送不會(huì)帶標(biāo)簽發(fā)送Trunk打上 PVID 標(biāo)簽查 allow-pass 列表在則接收不在則丟棄PVID 對(duì)應(yīng) VLAN 默認(rèn)不帶標(biāo)簽發(fā)送其他 allow-pass VLAN 帶標(biāo)簽發(fā)送Hybrid打上 PVID 標(biāo)簽查 tagged 和 untagged 列表任一存在則接收untagged 列表中的 VLAN 剝離標(biāo)簽發(fā)送tagged 列表中的 VLAN 帶標(biāo)簽發(fā)送從這張表能看出PVID 是“無(wú)標(biāo)簽幀進(jìn)入時(shí)貼上的標(biāo)簽”allowed/tagged 是“哪些 VLAN 允許通過(guò)”而 untagged 是“出去時(shí)撕掉標(biāo)簽”。三者是三個(gè)開(kāi)關(guān)不是一回事??缃粨Q機(jī)的 Trunk 鏈路如果兩端 PVID 不一樣帶標(biāo)簽幀不會(huì)受影響因?yàn)闃?biāo)簽里已經(jīng)攜帶了 VLAN ID受影響的是無(wú)標(biāo)簽幀比如交換機(jī)發(fā)出的協(xié)議報(bào)文。這就是為什么接入交換機(jī)的管理 VLAN 要特別關(guān)注 PVID。另外S5700 支持在一根物理鏈路上傳遞多個(gè) VLAN但要是這個(gè)口還接了電腦建議別用 trunk。只要電腦網(wǎng)卡不支持 802.1Q收到帶標(biāo)簽幀直接丟棄現(xiàn)象就是“這臺(tái)電腦只能上內(nèi)網(wǎng)一部分”。遇到這種情況先查端口類(lèi)型再看 PVID最后看終端網(wǎng)卡要不要配 VLAN。3.3 用一條命令看清端口 VLAN 狀態(tài)display port vlan 輸出解讀配置完之后不要憑記憶判斷直接使用 display port vlan。輸出里會(huì)列出所有物理口和 Eth-Trunk 口的端口類(lèi)型、PVID、允許通過(guò)的 VLAN 列表。如果對(duì)端配置了同樣的 VLAN 但還是不通用 display mac-address vlan 10 看對(duì)端設(shè)備的 MAC 有沒(méi)有學(xué)到。display port vlan輸出大致是Port Link Type PVID Trunk/Vlan allowed GigabitEthernet0/0/1 access 10 - GigabitEthernet0/0/24 trunk 10 10,20,100 Eth-Trunk1 trunk 10 10,20,100從這個(gè)輸出能直接發(fā)現(xiàn)兩類(lèi)問(wèn)題一是 access 口 PVID 和預(yù)期不一致二是 trunk 口 allowed 列表少 VLAN。S5700 還有一條 display vlan 10能看到 VLAN 10 下每個(gè)接口的 tagging 狀態(tài)Tagged 還是 Untagged。如果 PC 接在 Trunk 口下面VLAN 10 顯示為 Tagged那 PC 收不到不帶標(biāo)簽的幀訪問(wèn)會(huì)失敗。這種情況下要么把 PC 口改成 access要么在 hybrid 口把該 VLAN 設(shè)為 untagged。如果你要確認(rèn)幀在鏈路上到底帶沒(méi)帶標(biāo)簽最直接的辦法是鏡像抓包。S5700 上配置本地端口鏡像思路是先定義觀察口再把業(yè)務(wù)口鏡像過(guò)去observe-port 1 interface GigabitEthernet0/0/20 interface GigabitEthernet0/0/24 port-mirroring to observe-port 1 both然后在 Wireshark 里過(guò)濾 vlan 或 vlan.id 10。這里有一個(gè)常見(jiàn)陷阱Windows 網(wǎng)卡默認(rèn)開(kāi)啟 VLAN offload抓包時(shí) 802.1Q 標(biāo)簽被網(wǎng)卡剝離你什么都看不到。解決辦法是在網(wǎng)卡高級(jí)屬性里把 VLAN offload 關(guān)閉再重開(kāi)抓包。如果是筆記本接鏡像口也要確認(rèn)內(nèi)網(wǎng)環(huán)境允許這么做不要直接在生產(chǎn)核心上長(zhǎng)期開(kāi)鏡像。4. VLANIF 三層網(wǎng)關(guān)讓不同 VLAN 的主機(jī)互通含 DHCP 聯(lián)動(dòng)VLAN 劃好之后二層通了但 VLAN 10 和 VLAN 20 之間還是隔離的。要讓它們互相訪問(wèn)就需要一個(gè)三層網(wǎng)關(guān)。S5700 是典型的華為三層交換機(jī)每建一個(gè) VLANIF 就相當(dāng)于在這個(gè) VLAN 里放了一個(gè)路由接口。這一章講 VLANIF 的配置、跨 VLAN 轉(zhuǎn)發(fā)和 DHCP 聯(lián)動(dòng)。4.1 VLANIF 是什么在 S5700 上建網(wǎng)關(guān)VLANIF 不是物理口是綁定在 VLAN 上的邏輯三層接口。在 S5700 上進(jìn)入 interface Vlanif10配一個(gè) IP這個(gè) IP 就是 VLAN 10 的網(wǎng)關(guān)地址。但 VLANIF 的 Up/Down 狀態(tài)取決于兩件事VLAN 存在并且 VLAN 內(nèi)至少有一個(gè)物理接口是 Up 狀態(tài)。如果 VLAN 是空的或者里面端口都被 shutdownVLANIF 會(huì)顯示 downPC 拿這個(gè)網(wǎng)關(guān)地址做默認(rèn)網(wǎng)關(guān)也 ping 不通。system-view interface Vlanif10 ip address 192.168.10.1 255.255.255.0 quit interface Vlanif20 ip address 192.168.20.1 255.255.255.0 quitip address 后面先寫(xiě) IP 再寫(xiě)掩碼不能寫(xiě)成 192.168.10.1/24 這種 CIDR 形式VRP 系統(tǒng)不認(rèn)。配完之后用 display ip interface brief 看 Vlanif10 和 Vlanif20 的狀態(tài)。如果狀態(tài)是 down回去查端口和 VLAN如果是 up說(shuō)明三層接口就緒。VLANIF 的 IP 地址應(yīng)該與終端手動(dòng)配置或 DHCP 分配的網(wǎng)段相同并且是這個(gè) VLAN 內(nèi)的第一個(gè)可用地址。不要和 VLAN 內(nèi)某個(gè)終端 IP 沖突否則會(huì)出現(xiàn)間歇性丟包這是經(jīng)典的“網(wǎng)關(guān)被別人占用”問(wèn)題。S5700 的 VRP 允許你配置沖突地址不會(huì)提示只有故障出現(xiàn)后才慢慢發(fā)現(xiàn)。4.2 跨 VLAN 互訪與靜態(tài)回程路由S5700 的轉(zhuǎn)發(fā)路徑同一個(gè) S5700 上的 VLAN 10 和 VLAN 20配置 VLANIF 之后可以直接互通。原因是交換機(jī)路由表里已經(jīng)有了 Vlanif10 和 Vlanif20 對(duì)應(yīng)的兩條直連路由。PC-A 訪問(wèn) PC-B 時(shí)把報(bào)文發(fā)給網(wǎng)關(guān) 192.168.10.1S5700 查路由表發(fā)現(xiàn) 192.168.20.0/24 直連在 Vlanif20于是把報(bào)文從 Vlanif20 轉(zhuǎn)出去。這個(gè)過(guò)程不需要額外配置也沒(méi)有默認(rèn)拒絕。如果兩個(gè) VLAN 本來(lái)就不允許互通需要配置 ACL 或者把端口隔離打開(kāi)而不是通過(guò)不配置 VLANIF 來(lái)“擋住”因?yàn)椴慌渲镁W(wǎng)關(guān)會(huì)導(dǎo)致上網(wǎng)中斷。display ip routing-table輸出里能看到 192.168.10.0/24 和 192.168.20.0/24 都標(biāo)記為 Direct說(shuō)明這兩個(gè)網(wǎng)段就在本機(jī)上。如果還有上級(jí)網(wǎng)絡(luò)比如辦公網(wǎng)在 S5700 上面還有一臺(tái)防火墻VLAN 10 的用戶要訪問(wèn)互聯(lián)網(wǎng)就需要在 S5700 上寫(xiě)一條默認(rèn)路由。ip route-static 0.0.0.0 0.0.0.0 192.168.100.254這里的 192.168.100.254 是防火墻與 S5700 互聯(lián)接口的 IP不是防火墻的網(wǎng)關(guān)。很多人在做完這一步后VLAN 內(nèi)能上網(wǎng)但外部訪問(wèn)不了 VLAN 里的服務(wù)器。原因不在 S5700而在上級(jí)設(shè)備缺少回程路由。防火墻或路由器上要加兩條靜態(tài)路由去 192.168.10.0/24 和 192.168.20.0/24下一跳都指向 S5700 的互聯(lián)地址比如 192.168.100.1。這個(gè)回程路由漏配的概率非常高屬于必查項(xiàng)。如果 S5700 同時(shí)要支撐 WLAN AC、監(jiān)控平臺(tái)等設(shè)備還要注意 VLANIF 之間是否啟用了其他過(guò)濾。我一般在開(kāi)局階段先把所有 VLANIF 建好再結(jié)合業(yè)務(wù)需求通過(guò) ACL 收緊互訪而不是漏建 VLANIF。4.3 DHCP 與 VLAN 聯(lián)動(dòng)VLANIF 上開(kāi) DHCPS5700 可以在 VLANIF 上直接做 DHCP 服務(wù)器這在小項(xiàng)目里非常實(shí)用省一臺(tái)服務(wù)器。配置分兩步全局打開(kāi) DHCP再在 VLANIF 下選擇接口模式。system-view dhcp enable interface Vlanif10 dhcp select interface dhcp server dns-list 223.5.5.5 114.114.114.114 dhcp server excluded-ip-address 192.168.10.1 192.168.10.100 dhcp server lease day 1 hour 0 minute 0 quitdhcp select interface 表示地址池就用 Vlanif10 的網(wǎng)段192.168.10.2 到 192.168.10.254 都能分配但 .1 是網(wǎng)關(guān)必須排除否則可能分配給終端。excluded-ip-address 可以指定多個(gè)比如給打印機(jī)和服務(wù)器保留 192.168.10.100-200。dns-list 是為了讓終端能解析域名內(nèi)網(wǎng)有 DNS 服務(wù)器就寫(xiě)內(nèi)網(wǎng)地址。S5700 的 DHCP 默認(rèn)租期是一天lease 命令可以改。如果 VLAN 20 也需要 DHCP在 Vlanif20 下重復(fù)同樣的配置地址池自動(dòng)按接口網(wǎng)段變化。記住一條接口模式 DHCP 的地址池網(wǎng)段跟著 VLANIF IP 走你改了 VLANIF 的 IP可用地址池會(huì)同步變化。PC 連著 access 口卻拿不到 IP 時(shí)常見(jiàn)做法是先看 Vlanif10 的狀態(tài)。如果 Vlanif10 downDHCP 就不會(huì)響應(yīng)如果 Vlanif10 up再用 display dhcp server ip-in-use 看目前分出去多少地址。還有一個(gè)容易踩的坑S5700 上開(kāi) DHCP 后下發(fā)地址時(shí)會(huì)占用 ARP 表項(xiàng)如果終端數(shù)量很大需要檢查 ARP 表必要時(shí)調(diào)大 arp aging 時(shí)間否則部分終端會(huì)“掉線”。5. S5700 VLAN 設(shè)置的五個(gè)翻車(chē)現(xiàn)場(chǎng)避坑與排查清單前面章節(jié)講的是正確路徑這一章直說(shuō)要踩的坑。以下都是我在真機(jī)和 eNSP 上遇到過(guò)的問(wèn)題每一條都按“現(xiàn)象、原因、解決”寫(xiě)排查順序也盡量貼近現(xiàn)場(chǎng)??赐赀@五條再回去看配置你會(huì)覺(jué)得很多“玄學(xué)”故障其實(shí)都有明確原因。5.1 現(xiàn)象VLAN 建了PC 卻拿不到 IPPC 通過(guò)網(wǎng)線接到 S5700 交換口VLAN 也創(chuàng)建了但終端一直顯示未識(shí)別的網(wǎng)絡(luò)拿不到 IP 地址。用 ipconfig 看網(wǎng)卡是 169.254.x.x 的自動(dòng)地址明顯是 DHCP 請(qǐng)求沒(méi)得到回應(yīng)。原因有兩個(gè)常見(jiàn)可能第一PC 所在端口沒(méi)有劃進(jìn)對(duì)應(yīng) VLAN還在默認(rèn)的 VLAN 1 里第二VLAN 存在但 VLANIF 沒(méi)有配置或狀態(tài)是 down。很多新手建了 VLAN 就以為端口自動(dòng)歸屬了實(shí)際上 access 口要單獨(dú)指定 default vlanVLANIF 也要單獨(dú)創(chuàng)建。解決方法是按順序排查先用 display port vlan 看端口歸屬再用 display vlan 10 看 VLAN 10 里有沒(méi)有物理口最后用 display ip interface brief 看 Vlanif10 的狀態(tài)。如果 VLANIF down回 VLAN 里找有沒(méi)有 Up 的物理口。如果物理口 Up 但 VLANIF Down多半是 VLAN 里沒(méi)有端口或者端口都被 shutdown。這個(gè)順序能排除 80% 的“拿不到 IP”問(wèn)題。5.2 現(xiàn)象Trunk 配了但還是不通兩臺(tái) S5700 對(duì)接兩端都敲了 port link-type trunk也都寫(xiě)了 allow-pass vlan 10 20但 VLAN 10 的 PC 訪問(wèn)對(duì)端設(shè)備時(shí)通時(shí)不通甚至完全不通。查看兩端接口狀態(tài)都是 Up物理鏈路看著沒(méi)問(wèn)題。原因通常是兩臺(tái)交換機(jī) allow-pass 列表不一致或者一端 PVID 是 10、另一端 PVID 是 1。帶標(biāo)簽幀的轉(zhuǎn)發(fā)只看 allow-pass但無(wú)標(biāo)簽幀進(jìn)端口時(shí)會(huì)打上本端 PVID如果兩臺(tái)設(shè)備的 PVID 不一致無(wú)標(biāo)簽幀就被送進(jìn)了不同 VLAN。另外如果 allow-pass 漏了某個(gè) VLAN帶標(biāo)簽幀會(huì)被直接丟棄接口也不報(bào)錯(cuò)。解決方法是兩臺(tái)設(shè)備都執(zhí)行 display port vlan并排對(duì)比 PVID 和 allowed 列表。我要求兩邊列表完全一致。如果確實(shí)需要不同 PVID必須確認(rèn)該鏈路上不存在無(wú)標(biāo)簽業(yè)務(wù)。否則把 PVID 統(tǒng)一到同一個(gè)管理 VLAN 或業(yè)務(wù) VLAN。你要是還懷疑鏈路本身可以臨時(shí)在這個(gè) Trunk 口上配一個(gè) access 測(cè)試口能通就說(shuō)明問(wèn)題還是在 VLAN 透?jìng)鲄?shù)上。5.3 現(xiàn)象抓包看不到 VLAN 標(biāo)簽為了排查 VLAN 10 是否在 Trunk 鏈路上正確透?jìng)髂惆?S5700 的鏡像口配置好后用 Wireshark 抓包結(jié)果發(fā)現(xiàn)抓到的報(bào)文里只有 IP 報(bào)文看不到 802.1Q 標(biāo)簽。你以為交換機(jī)配置錯(cuò)了甚至懷疑鏡像口沒(méi)用。原因有兩個(gè)。第一Windows 網(wǎng)卡驅(qū)動(dòng)默認(rèn)開(kāi)啟 VLAN offload網(wǎng)卡收到帶 802.1Q 標(biāo)簽的幀后會(huì)把標(biāo)簽剝離掉再交給 Wireshark所以你在抓包里看不到 VLAN ID。第二鏡像口可能只配了入方向而出方向的報(bào)文沒(méi)被鏡像到。解決方法是先關(guān)掉網(wǎng)卡的 VLAN offload再換成抓 both 方向。S5700 鏡像配置寫(xiě)成 port-mirroring to observe-port 1 both。如果還看不到換一個(gè)物理網(wǎng)卡或者檢查電腦網(wǎng)卡驅(qū)動(dòng)是不是有節(jié)能策略。不要把抓包結(jié)果直接當(dāng)結(jié)論先確認(rèn)標(biāo)簽是否被網(wǎng)卡剝離。Wireshark 里的過(guò)濾可以用 vlan.id 10沒(méi)標(biāo)簽自然是空的。5.4 現(xiàn)象劃了 VLAN 后設(shè)備管理找不到了S5700 原來(lái)能通過(guò) telnet 或 SSH 遠(yuǎn)程管理你給上聯(lián)口配上 trunk 并放行業(yè)務(wù) VLAN 后管理終端立刻 ping 不通交換機(jī)遠(yuǎn)程連接斷開(kāi)。你以為是交換機(jī)死了跑到現(xiàn)場(chǎng)發(fā)現(xiàn) console 還能進(jìn)。原因通常是交換機(jī)的管理 IP 默認(rèn)在 VLAN 1 上但你給上聯(lián)口配置 trunk 時(shí)沒(méi)有放行 VLAN 1。S5700 的 trunk 口默認(rèn)只放行 VLAN 1如果你手動(dòng)寫(xiě)了 allow-pass vlan 10 20并且沒(méi)有把 1 加進(jìn)去管理 VLAN 就會(huì)被阻斷。還有一種情況是管理 VLAN 改到了 VLAN 100但上聯(lián)口沒(méi)放行 100。解決方法是把管理 VLAN 顯式加入所有上聯(lián) trunk 的 allow-pass 列表例如 port trunk allow-pass vlan 1 10 20。如果管理 VLAN 在上聯(lián)鏈路中不想透?jìng)骺梢詥为?dú)用一個(gè)互聯(lián) VLAN把交換機(jī)和核心設(shè)備的上聯(lián)口都劃進(jìn)同一個(gè) access VLAN管理地址寫(xiě)在對(duì)應(yīng)的 VLANIF 上。這樣管理和業(yè)務(wù)隔離也不容易出現(xiàn)“遠(yuǎn)程配置完掉線”的意外。5.5 現(xiàn)象配置 VLANIF 后掉線人還在辦公室遠(yuǎn)程連交換機(jī)準(zhǔn)備給一個(gè)已有業(yè)務(wù) VLAN 加網(wǎng)關(guān)。敲了 interface Vlanif10ip address 192.168.10.254結(jié)果遠(yuǎn)程連接立刻斷開(kāi)再 ping 交換機(jī)就 ping 不通了。原因是你把 VLANIF 地址配成了和原網(wǎng)關(guān) 192.168.10.1 不同的地址而上一級(jí)網(wǎng)絡(luò)設(shè)備還在用舊地址訪問(wèn)交換機(jī)或者你配置的地址和另一臺(tái)設(shè)備的接口地址沖突。S5700 的命令行不會(huì)因?yàn)榈刂窙_突而拒絕下發(fā)但網(wǎng)絡(luò)會(huì)在幾秒內(nèi)中斷。解決方法是配置前先 display current-configuration | include vlanif看看現(xiàn)有 VLANIF 地址。如果已經(jīng)掉線用 console 線連接設(shè)備進(jìn)系統(tǒng)視圖后 undo ip address 回退。這一條提醒我所有涉及 VLANIF 地址的變更必須先開(kāi)一個(gè) console 會(huì)話不能只依賴遠(yuǎn)程連接。遠(yuǎn)程配置三層地址一旦寫(xiě)錯(cuò)連后悔藥都吃不上。6. 用驗(yàn)證、聚合和備份把 VLAN 配置收斂成可交付狀態(tài)6.1 先在 eNSP 上把 VLAN 全流程跑一遍eNSP 模擬 S5700 的命令和真機(jī)基本一致。做 VLAN 變更前我會(huì)先把配置在 eNSP 里復(fù)現(xiàn)建 VLAN、劃端口、配 trunk、配 VLANIF、開(kāi) DHCP再放兩臺(tái)虛擬 PC 驗(yàn)證互通。eNSP 的坑是模擬器版本和真機(jī) VRP 版本有差異但 VLAN 這部分命令差異很小至少能幫你規(guī)避低級(jí)錯(cuò)誤。真機(jī)上如果預(yù)算允許建議開(kāi)局前先拿一臺(tái) S5700 做測(cè)試機(jī)把端口類(lèi)型和 PVID 的預(yù)期行為都驗(yàn)證一遍再批量下發(fā)。6.2 用 Eth-Trunk 把多鏈路收斂減少 VLAN 路徑不一致兩臺(tái) S5700 之間如果有多根物理鏈路不聚合就是環(huán)路STP 會(huì)阻塞多余端口等于只用了其中一根。把物理口加入 Eth-Trunk 后VLAN 配置統(tǒng)一寫(xiě)在 Eth-Trunk 口上物理口只需要綁定即可這樣兩個(gè)設(shè)備之間的 VLAN 路徑就只剩一個(gè)邏輯口排查時(shí)少看很多項(xiàng)。interface Eth-Trunk1 port link-type trunk port trunk allow-pass vlan 10 20 100 quit interface GigabitEthernet0/0/23 eth-trunk 1 quit interface GigabitEthernet0/0/24 eth-trunk 1 quit配置完 Eth-Trunk用 display eth-trunk 1 看成員口狀態(tài)用 display port vlan 看 Trunk 口是否允許對(duì)應(yīng) VLAN。聚合成員的物理口不要再單獨(dú)配置 port link-type否則會(huì)沖突。這個(gè)做法對(duì)后續(xù) VLAN 擴(kuò)容非常有用加 VLAN 只改 Eth-Trunk1不用逐物理口改。6.3 保存配置與設(shè)備測(cè)試驗(yàn)證完一切后記得 save。S5700 的 save 是直接保存到當(dāng)前配置文件重啟后還在。如果要留后悔藥可以用 display current-configuration 把配置導(dǎo)出來(lái)存成文本文件名帶日期比如 s5700_l2_vlan_20250614.cfg。也要注意不要在 S5700 上亂敲 erase flash一旦執(zhí)行整臺(tái)設(shè)備會(huì)回到出廠狀態(tài)這種翻車(chē)沒(méi)有后悔藥。這幾年經(jīng)手的 S5700 項(xiàng)目我有一個(gè)習(xí)慣所有 VLAN 改動(dòng)都要先記錄舊配置再打開(kāi)一個(gè) console 會(huì)話最后才動(dòng)手。這個(gè)習(xí)慣幫我避免過(guò)很多次“遠(yuǎn)程配置完掉線”的尷尬。VLAN 配置本身不難難的是把每條命令的結(jié)果想清楚再敲。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取