怪象:兩部門 VLAN 部分網站能開、部分打不開;收信正常、發大信/附件失敗
辦公區距核心 2-3 公里,兩部門分屬 VLAN6 (172.25.6.0/24)、VLAN7 (172.25.7.0/24),經 Allied Telesyn AT-8024 交換機 → 光收發器 → 光纖 → Cisco 6509 (Sup720 + WS-X6816-GBIC + WS-X6548-RJ45)。其他辦公區經 Cisco 3550 直連 6509 光模組一切正常。
排查邏輯:剝洋蔥式排除法
- 懷疑 NAT/6509 配置 → 檢查 VLAN6/7 配置與其他正常辦公區完全一致 → 排除。
- 懷疑 VLAN 劃分 → 將 VLAN6/7 所有埠併入正常的 VLAN1 → 故障依舊,其他區域 VLAN1 正常 → **非 VLAN 問題**。
- 懷疑光收發器/AT-8024 硬體 → 換已知良好設備 → 故障依舊 → **非設備硬體故障**。
- 懷疑鏈路品質 → 兩台 PC 直連光收發器兩端,Ping 65500 bytes 大包 → 延遲僅幾 ms,**鏈路物理層完美**。
- 關鍵測試:恢復原拓撲,PC Ping 6509 端 VLAN 閘道 172.25.6.210:
- 小包(64 bytes)Ping → 無延遲、無丟包。
- 大包(接近 18024 bytes,Cisco 預設 MTU)Ping → **大量丟包**。
**鎖定:大封包無法通過 AT-8024 ↔ 6509 這段 Trunk 鏈路。**
根因:AT-8024 埠口封裝模式配置錯誤,導致 MTU 不匹配
檢查 AT-8024 配置發現:
add vlan 6 ports=23 frame=untagged
add vlan 7 ports=24 frame=untagged
而 6509 端 Trunk 埠預期收到 **Tagged 封裝(802.1Q)**。AT-8024 發送 Untagged 幀進入 6509 Trunk 埠,6509 按 Trunk 處理 → **解析錯誤、大幀被丟棄**。小幀剛好未觸發解析邏輯錯誤而倖免。
解決:統一 Trunk 封裝模式
! AT-8024 修正為 Tagged
add vlan 6 ports=23 frame=tagged
add vlan 7 ports=24 frame=tagged
或在 6509 端將對應埠改為 Access 模式(但失去多 VLAN 承載能力)。修正後大包 Ping 正常,網站全開、大附件郵件順利發送。
知識延伸:MTU、封裝開銷、碎片化與 DF 位
- 乙太網標準 MTU 1500 bytes,802.1Q Tag 增 4 bytes → 實際線上幀 1522 bytes。
- 若中間設備不支援 Baby Giant Frames(>1518 bytes),Tagged 幀會被丟棄或截斷。
- IP 封包設 DF (Don't Fragment) 位(如 Ping -f、TCP SYN、IPsec ESP)時,路徑 MTU 發現 (PMTUD) 依賴 ICMP Fragmentation Needed 回報。若防火牆封鎖 ICMP,大包永久黑洞。
- **最佳實務:全網統一啟用 Jumbo Frame(如 9216 bytes),或至少支援 Baby Giant;Trunk 埠雙端封裝模式必須一致;定期大包 Ping 測試驗證端到端 MTU。**
一句話心得:**小包通、大包不通,十有八九是 MTU/封裝不匹配。** 不要只 Ping 小包說「通了」,業務流量全是大包。