VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

最近接到很多初入行學習的小白私信,需要了解VLAN中默認VLAN、8021Q理解比較模糊,本人的專欄課《資深網工學習手冊》--入門篇已經做了詳細講解和配置分享。



當然,有些網友可能只是臨時需要學些VLAN知識,本人再次最最後給大家講解一次VLAN所有知識點,希望能夠幫到初學者。


VLAN1 , Native vlan , 被系統霸佔的VLAN ? 這些問題你都清楚?且聽我詳細說來。

相信大家都很清楚什麼是 LAN,至於 VLAN (即 Virtual LAN),一個虛擬的 LAN 又是什麼意思呢?VLAN 可以把一個實體 LAN 分割成多個虛擬 LAN 使用,分割出來的 VLAN 是各自獨立的,VLAN 與 VLAN 之間互相無法溝通。VLAN 有兩個制式,就是 ISL (Inter-Switch Link) 和 IEEE 802.1q (下稱 802.1q)。ISL 是 Cisco 專有的,只有 Cisco 設備才能設定,802.1q 是公開的,本篇只集中討論 802.1q。

需要 VLAN 的原因主要有兩個,網絡效能與安全問題。由於網絡裡會經常出現 Broadcast 封包,Broadcast 不僅會透過 Switch 傳送到 LAN 裡面每一個 Host,而且每一個收到 Broadcast 的 Host 都要花 Computing Power 去處理 Broadcast,這對整個網絡的效能都大打折扣。VLAN 可以把實體 LAN 分割,一個 VLAN 的 Broadcast Traffic 不會傳送到另一個 VLAN,每一個 VLAN 就變成是一個獨立的 Broadcast Domain,提升網絡效能。另一方面,Broadcast 在網絡上散播亦有可能造成安全問題,只要下載一些 Packet Capture 軟件例如:Wireshark,即可打開 Broadcast 封包,窺探到其他 Host 的重要資訊,例如 IP Address 和 MAC Address,利用 VLAN 可以限制 Broadcast Traffic 只在信任的網絡中散播。


在下圖中可以看到,使用 Wireshark 對網絡進行監聽,從 Broadcast 封包中輕易看到發出封包 Host 的 MAC Address 和 IP Address 等重要資訊。

VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

VLAN基礎


在 Cisco Switch 設定 VLAN 超簡單的!我們會用以下網絡作例子。用 R1 至 R4 分別代表 4 臺 Host,它們的 e0/0 分別設定成 192.168.1.1/24 至 192.168.1.4/24。


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

當然,R1可以Ping通R2,R3,R4


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

現在試把 R1 和 R2 放進 VLAN 10,把 R3 和 R4 放進 VLAN 20。換句話說,我們要把 SW1 的 e0/0 和 e0/1 設定成 VLAN 10,然後把 e0/2 和 e0/3 設定成 VLAN 20


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

首先我們要在 SW1 新增 VLAN 10 和 VLAN 20,10 和 20 我們喚作 VLAN ID,name 指令是設定 VLAN 的名稱,可有可無。


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

下一步就是把E0/0和E0/1放進VLAN 10


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

VLAN20 的做法也一樣


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

這時候再試試從 R1 ping 就只能 ping 通 R2 了,相反,R3 只能 ping 通 R4。原因很簡單,因為不同 VLAN 之間,Packet 不能互通。


TRUNK LINK


上面看過單隻 Switch 對 VLAN 的處理,但如果 VLAN 跨越多隻 Switch,會出現什麼問題呢?試想想如果 SW1 把一些 Packet 丟給 SW2,SW2 怎麼分辨這些 Packet 是來自那一個 VLAN?如果它不知道這些 Packet 來自那個 VLAN,它自然不知道應該把這個 Packet 送到那個 VLAN 去。解決方法很簡單,只要在 Packet 寫上 VLAN 號碼 (VLAN ID) 才把 Packet 送走,其他 Switch 就可以憑這個 VLAN ID 知道 packet 的 VLAN,這就是所謂 802.1q VLAN Tag。VLAN Tag 是 Switch 在收到 Packet 時為它加上的一個標籤,目的是讓 Packet 在網絡中遊走時,所經過的 Switch 都可以查看這個 Packet 是屬於那一個 VLAN,從而把 Packet 送到真正需要接收這個 VLAN 的 Port。


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

把連接兩個交換機的端口設置成802.1Q TRUNK

VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

用SHOW INTERFACE TRUNK可以確認一條LINK是TRUNK,可以看到下圖的允許VLAN


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

於是R1可以PING VLAN的R2, 卻無法PING通其他VLAN


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

使用抓包可以清楚的看清VLAN ID


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

ALLOWED VLAN


我們可以設定 Trunk Link 只讓特定的 VLAN 通過,預設是 1-4094 全部可以通過的,如果想更改設定的話可在 Trunk Interface 使用 SW TRUNK ALLOW VLAN.


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

VLAN1

VLAN 1 是一個預設的 VLAN,大部分Switch都有 VLAN 1,而所有 port 亦預設在 VLAN 1 之中。VLAN 1 之神聖在於它除了和其他 VLAN 一樣可以傳送 data 之外,還負責傳送所謂 Control Plane Traffic,例如: VTP, CDP, PAgP 等。因此,基於考慮,VLAN 1 應避免給一般 HOST 使用,因為 HOST 利用 Packet Capture 軟件可以輕易 Capture 到 Control Plane 的重要信息。


Native Vlan

另外,值得一提的是,VLAN 1 預設也是 Trunk Link 上的一個 Native VLAN,Natvie VLAN 的意思是 Switch 把這個 VLAN 的 Packet 送上 Trunk Link 時,是不會放入 VLAN Tag 的,這就有特例了,剛剛不是說我們要把在 Packet 放一個 VLAN ID 好讓其他 Switch 可以分辨嗎? 怎麼現在又有個 Native VLAN 不用 VLAN ID? 細心想想,道理很簡單,如果所有 2-4096 的 VLAN 都有 VLAN ID,只要 Trunk Link 兩邊的 Switch 都協議沒有 VLAN ID 的 Packet 就是 VLAN 1,那麼 VLAN 1 就算沒有 VLAN ID 也可以被區別出來。道理就像大家在不同顏色的數字球上寫上數字,紅色寫 2,黃色寫 3,藍色寫 4,那麼沒有顏色的透明就寫 1 吧。

所以當 VLAN 1 的 Packet 通過 Trunk Link,用 Packet Capture 軟件 Capture 也不會看到 VLAN ID 1,只會看見一個沒有 VLAN ID 的封包 (即沒有 Tag)。Native VLAN 的 ID 是可以設定的,如果客戶說: 今天我想 VLAN 100 是 Native VLAN,我們可在 Trunk Link 的兩邊 Interface 用SW TRUNK NATIVE VLAN. 必需注意的是,Trunk Link 兩邊 Interface 的 Native VLAN 必需相同,否則會造成 Native VLAN mismatch 的問題


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

Native VLAN 1 好好的,為什麼要改呢? 其實我們要避免 Native VLAN 跟分配給 Port 的 VLAN 相同,如果相同的話有機會被 Double tagging attack (有機會再詳細探討)。要避免這樣的情況,除了更改 Native VLAN 外,較簡單的方法就是不要把 VLAN 1 分配給 Port 使用啦。

VLAN Internal 的使用

還有一個關於 VLAN 而很易被忽略的課題,就是系統會偷偷地使用了一些 VLAN 作內部用途,平時我們不容易察覺。系統什麼時候會私自用了 VLAN 呢?在 三層Switch 使用 Layer 3 Port 的時候。

先用SHOW VLAN INTERNAL USAGE確認此刻沒有VLAN被內部使用。



VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

把 port 設定成 Layer 3 Port。看!VLAN 1006 被使用了。為什麼是 1006?因為系統預設會由 1006 開始遞增使用 VLAN ID 作 Internal Usage,這是可以更改的,一會再說。


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念

VLAN 1006 被系統霸佔了,此時如果想創建 VLAN 1006 的話便會收到錯誤訊息。


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念


我們頂多可以把佔用規則由遞升改為遞減,指令是 vlan internal allocation policy descending 改了之後,下一次佔用就會由 4094 開始向下進行。


VLAN理論配置解析,幾個工作幾年的網工還糊塗的細節概念



分享到:


相關文章: