VLAN 是個好東西呀,:-)。 主干網搭起來了,今天這個部門/客戶要接進來,給他建一個VLAN;明天那個部門/客戶接進來,再加一個VLAN。用戶在自己的VLAN里無憂無慮、自得其樂,如果需要訪問別的VLAN或者想讓別的什么VLAN用戶訪問,給他加上路由,寫個訪問控制列表什么的,都很方便。
但是VLAN也增加了網絡的復雜性,使得排錯變得更困難。
今天一位客戶來電說,他把一臺3524上的f0/23端口指定到VLAN 85, 接一臺服務器10.85.1.1,可是怎么也Ping 不通別的VLAN的機器。
首先,Show cdp nei檢查一下線路, Ping 交換機的管理地址,也沒問題。檢查Trunk、Interface VLAN 85的狀態,沒問題。
有時候VTP不同步可能會導致這樣的現象,就是管理地址是能ping 通的,但是下面接的機器都不通。所以做一個測試:在VTP Server上新建一個Test VLAN看看能不通傳到下面...OK!
究竟是什么原因呢?
到核心交換機6509的路由模塊MSFC去ping 這臺服務器,timeout, show arp | begin 10.85.1.1:
Internet 10.85.1.1 0 Incomplete ARPA
解釋不到這臺服務器的MAC地址。由于MSFC的端口接到各個VLAN,它跟這臺服務器之間是純二層的網絡,沒有解釋到服務器的MAC,說明問題出在第二層上。
查看服務器的網卡地址,然后登錄到6509的交換引擎,show cam xx-xx-xx-xx-xx-xx, 沒有學習到。轉到3524, show mac inter f0/23, 這個地址是學習到了的,為什么沒有傳到6509上呢?
在6509交換引擎上打命令檢查生成樹:show spantree 85, 意外發現連接到3524的端口處于blocking的狀態!
為什么3524上VLAN85的STP是Disabled的呢?查看配置文件,有以下語句:
no spanning-tree vlan 85
no spanning-tree vlan 86
no spanning-tree vlan 87
試圖配置交換機,用命令spanning-tree vlan 85允許VLAN 85的生成樹,配完show run一看,還是老樣子!
查看文檔,原來3500系列交換機同時只支持250個VLAN,且只能支持在64個VLAN上運行STP(PVST)。把這個交換機上未使用的VLAN 30的生成樹關掉:no spanning-tree vlan 30,再spanning-tree vlan 85, 生成樹起來了。折騰一番,把交換機重啟一下之后,通了。
如果網絡里使用的是2924交換機,只支持64個VLAN。VLAN數目超出時就會碰到交換機自動從VTP Client轉成VTP Transparent模式的現象,然后需要手工建立VLAN,因為它不能存貯VTP 域中定義的所有VLAN。
因此VLAN多了也是個麻煩。如果沒有必要,還是把VLAN控制在64(含5個保留的)個以內比較好。如果是ISP,確實需要處理很多VLAN,可以考慮使用新的 VLAN TUNNEL 技術將客戶的多個VLAN封裝到ISP的一個VLAN之中。很難想象在一臺交換機上運行1000個生成樹的實例...所以還是新的: 802.1W(快速生成樹)和 802.1S(多生成樹)解決方案有比較良好的擴展性。
以上這些技術都在Catalyst 3550交換機和新版的CatOS中實現了,還有一個比較有意思的標準協議是802.1x(基于端口的認證),這些協議的成功推出是促使Cisco放棄ISL,回歸工業標準的原因。


