緯育 2026-0427

出自頂極製作所

思科交換器 VLAN 設定與管理

本次課程主要講授如何在兩台思科交換器上設定與管理 VLAN,核心目標是讓分佈在不同交換器上的相同 VLAN(如 VLAN 12)能夠互相通訊。為此,課程詳細介紹了 Access Port 與 Trunk Port 的概念與設定方法。講師從 VLAN 的基礎概念與設定流程開始,說明了如何建立 VLAN、為其命名,並解釋了 VLAN 資訊是儲存在獨立的 vlan.dat 檔案中,而非 running-config。接著,課程透過實作範例,演示了如何使用 interface range 指令批量將端口設定為 Access 模式,並指派給特定 VLAN。

課程也深入探討了網管 VLAN(VLAN 99)的概念、其在資安上的重要性(避免使用預設 VLAN 1),以及如何將網管 IP 設定在虛擬的 SVI(interface vlan 99)上以實現遠端管理。講師強調,二層交換器本身運作不需 IP,IP 僅為網管目的而設。此外,課程還說明了 Trunk Port 的作用,它利用 802.1Q 協定為跨交換器的 VLAN 流量加上標籤(Tag),並特別解釋了 Native VLAN(在此設定為 VLAN 99)的流量在 Trunk 中是「不帶標籤」的。最後,講師透過 IP 位址規劃與交換器的基本設定,為後續的實作練習進行了鋪墊。

VLAN 的基本概念與性質

  • 虛擬的意義:以軟體或邏輯手段模擬並隔離資源(如 VM 的 vCPU/vRAM);VLAN 在交換機端「模擬出一個 LAN」以達到邏輯隔離與管理。
  • VLAN 是技術、非協定:依賴 IEEE 802.1Q 在以太幀中插入 VLAN 標籤以進行 Trunking,跨交換機匯聚與傳遞多個 VLAN。
  • 虛擬技術多細節:凡以 Virtual 開頭(VPN、VLAN、VM)通常較複雜,需審慎理解與配置。

VLAN 的設計理念與廣播域

  • 等價定義:一個 VLAN 即是一個獨立的廣播域(Broadcast Domain)。
  • 廣播行為:L2 交換機對廣播(目的 MAC FF:FF:FF:FF:FF:FF)會泛洪到所有埠;未切 VLAN 的單台交換機或多台 L2 串接網路會形成單一大型廣播域。
  • 企業常見切割:多以部門(財務、研發、業務等)為單位切分 VLAN,達到邏輯隔離與管理。

未切割 VLAN 的影響與案例

  • 後果:大型二層網路中任一端點的廣播會泛洪至所有設備,伺服器與 PC 必須接收處理,造成高負載。
  • CPU 中斷與效能:廣播封包到達網卡即觸發 CPU interrupt,頻繁上下文切換使伺服器效能顯著下滑。
  • 實例:大立光早期未切 VLAN,整網一個廣播域,伺服器每分鐘收數百個廣播包;導入 VLAN 後廣播量降至每分鐘十幾至幾十個,效能明顯改善。

4. 相同 VLAN 跨交換機互通與 Trunking

  • 傳統做法的限制:每 VLAN 一條跳線、一個端口的互聯在多 VLAN(如 20 個)環境中端口耗盡且不可擴。
  • 802.1Q Trunk 解法:以單一 Trunk 端口承載多個 VLAN,兩交換機間一條鏈路傳遞帶標籤的封包;進入 Trunk 時插入標籤、離開至 Access 端口時移除標籤,主機端無需感知。
  • 概念類比:Trunk 源自電信長途幹線,多路共用單一骨幹;在交換機間,多個 VLAN 的流量共用同一條 Trunk。
  • 規模化優勢:節省端口與布線、提升可擴性,跨樓層或多交換機場景仍保有相同 VLAN 的邏輯廣播域。

Trunk 技術演進與跨品牌相容

  • 早期不相容:各廠商採專有封裝(如 Cisco ISL、HP 自有)導致跨品牌 VLAN 不通。
  • 標準化後:IEEE 802.1Q 統一標記機制,只要雙方交換機支援並啟用 802.1Q,即可跨品牌互通。
  • 封包插入位置:802.1Q 在以太幀頭的來源 MAC 與 EtherType 之間插入 4-byte 標籤,區別於 ISL 的外層封裝。

802.1Q 標籤結構與位元配置

  • 幀頭變化:原始 6(目的 MAC)+6(來源 MAC)+2(EtherType/長度),變為 6+6+4(802.1Q tag)+2。
  • VLAN ID 欄位:12-bit,可表 0–4095,保留 0 與 4095,企業可用範圍為 1–4094(共 4094 個 VLAN)。
  • 其他欄位:歷史上曾含媒介識別(Token Ring/Ethernet),後被重定義為擁塞丟棄指示(DI)等,用於在 Trunk 擁塞時標示可丟棄的非重要流量,保護關鍵封包。

Native VLAN 與 Untagged 流量

  • 定義:Native VLAN 為 Trunk 端口對未加標籤流量的歸屬設定,預設為 VLAN 1。
  • 行為:來源 VLAN 等於端口 Native VLAN 時,封包在 Trunk 上不加標籤(Untag);否則加上對應 VLAN 標籤。
  • 實務設定與資安:雙端 Native VLAN 需一致以確保 Untag 流量互通;常將 Native VLAN 調整為管理用 VLAN(如 VLAN 99),並評估資安風險以避免未標籤流量被濫用。

不同 VLAN 的資料互通(Inter-VLAN Routing)

  • 二層隔離:純二層環境下不同 VLAN 的流量本質上不通,包括廣播與一般資料。
  • 互通條件:為每個 VLAN 規劃獨立 IP 子網(例如 VLAN 10→172.16.1.0、VLAN 20→172.16.2.0),以三層交換機或路由器進行 Inter-VLAN Routing,使資料可互通而保持廣播隔離。

大型網路的 VLAN 規劃與設定流程

  • 流程建議:不使用或忽略 VTP;設定 Trunk 端口;手動建立 VLAN 資料庫;將 VLAN 指派至正確的 Access 端口。
  • 冗餘與負載:在交換機間以兩條線啟用 Trunk 冗餘(如 fa0/23、fa0/24),後續可規劃 VLAN 負載分擔。
  • 設定與驗證:
  • 介面範圍設定:interface range 同步配置連續端口。
  • 啟動 Trunk:switchport mode trunk。
  • 允許清單:switchport trunk allowed vlan 指定允許通過的 VLAN(如 12,13,14,99)以強化資安。
  • 驗證:show interfaces trunk 檢查狀態、Native VLAN(預設 1,若更改需一致)、Encapsulation 應為 802.1Q(顯示 ISL 代表舊式封裝)。

2026-0410-05.png

VLAN 基礎設定

  • VLAN 資料儲存
    • VLAN 的設定資訊儲存在 Flash 記憶體中的 vlan.dat 檔案裡。
    • 此檔案必須使用 show vlan brief 指令來查看其內容。
    • 設定流程是先建立 VLAN,再將端口配置到對應的 VLAN 中。
  • Access Port
    • 分配給特定 VLAN 的端口稱為 Access Port,設定指令為 switchport mode access。
    • 在 Access Port 上的封包不帶 VLAN 標籤。

Trunk 埠設定與安全

  • Trunk 埠基本概念
    • 當 VLAN 需要跨越多台交換器時,交換器之間的連線需設定為 Trunk 埠,以允許帶有多個 VLAN 標籤的流量通過。
    • 設定指令為 switchport mode trunk。
  • Trunk 埠的資安風險
    • 預設情況下,Trunk 埠允許所有 VLAN 通過,駭客可利用此特性進行標籤跳躍攻擊,非法存取受保護的網路。
    • 可使用 Kali Linux 等工具(如 Yersinia)來模擬這類攻擊。
  • 限制 Trunk 埠允許的 VLAN
    • 為提升安全,必須使用 switchport trunk allowed vlan [VLAN 列表] 指令嚴格限制 Trunk 埠上允許通過的 VLAN。
    • 範例:switchport trunk allowed vlan 12,13,99 (逗點後不可加空白)。
  • Native VLAN 設定
    • Native VLAN 是 Trunk 鏈路上流量「不帶」VLAN 標籤的特殊 VLAN,預設為 VLAN 1。
    • 更改指令為 switchport trunk native vlan [VLAN ID]。
    • 極重要:一條 Trunk 鏈路兩端的 Native VLAN 設定「必須」完全一致。
  • Native VLAN 不匹配的風險
    • 若兩端 Native VLAN 不一致,會產生 Native VLAN mismatch 的嚴重錯誤,這是一個安全漏洞。
    • 交換器會透過 Spanning Tree Protocol (STP) 將該端口置於 blocking 狀態,導致網路中斷。

端口狀態與 Trunk 鏈路驗證

  • 端口啟動狀態 (雙擊火)
    • 端口正常運作需滿足 Interface is up (物理層正常) 和 line protocol is up (鏈路協定正常) 兩個條件。
    • Keep Alive 封包機制用於確認鏈路協定的健康度。
  • Trunk 鏈路驗證指令
    • show interface trunk:檢查交換器上所有 Trunk 鏈路的狀態,包括模式、Native VLAN 及允許的 VLAN 列表。
    • show interface [interface] switchport:提供單一端口詳細的二層參數,其中包含以下兩種模式。
  • Administrative Mode vs. Operational Mode
    • Administrative Mode:代表管理員的設定值(如 trunk)。
    • Operational Mode:代表端口與對向協調後的實際運行狀態。要使鏈路正常,此模式必須成功顯示為 trunk。
  • Trunk 端口在 show vlan brief 中的顯示差異
    • show vlan brief 指令只顯示 access port 與 VLAN 的對應關係。
    • 一旦端口成功設定為 trunk,它將從此指令的輸出中消失,因為它不再屬於任何單一 VLAN。

子網路切割與 IP 位址計算

  • 子網路遮罩與主機位元
    • host 部分全為 0 的 IP 是網段位址,全為 1 的是廣播位址,兩者均不可分配給裝置。
    • 講師提供記憶法,如 /28 遮罩為 255.255.255.240 (28-24=4,第四個八位元有 4 個 1)。
  • 可用 IP 位址範圍
    • 可用 IP 是介於網段和廣播位址之間的 IP。
    • 範例 (VLAN 12, 10.1.12.16/28): PC1 為 10.1.12.17,PC2 為 10.1.12.18,Gateway 為 10.1.12.30 (最後一個可用 IP)。
  • 第一階段測試目標
    • 相同 VLAN 內的連通性:確保不同交換器上、但屬於相同 VLAN 的成員(如 VLAN 12、VLAN 13)可以互相 ping 通。
    • 網管 VLAN 的連通性:確保網管伺服器能 ping 到所有交換器的網管 VLAN 介面(VLAN 99)。

2026-0428-01.png

VLAN 與 OSI 模型定位、互通機制

  • VLAN 屬於 OSI 第 2 層技術,負責廣播域切分與 L2 隔離;不同 VLAN 在純 L2 下不互通。
  • Inter-VLAN Routing 透過第 3 層(Router 或 L3 Switch)使不同 VLAN 之間互通;典型做法為 Router on a Stick:以一個路由器實體介面串接交換器 Trunk,路由器上切多個子介面,各自對應不同 VLAN ID 與子網,提供該 VLAN 的預設閘道。
  • 每個 VLAN 必須映射到獨立的 L3 子網;不同子介面配置不同子網與遮罩,避免重疊。

Trunk 判斷與設定、Native VLAN 行為

  • 連線上承載多個 VLAN(Switch–Switch 或 Switch–Router)即需設定為 Trunk。
  • 典型設定:switchport mode trunk、switchport trunk allowed vlan <列表>,必要時指定 Native VLAN。Trunk 允許清單需涵蓋所有需要通過的 VLAN(如 12、13、19、99)。
  • Native VLAN(例:VLAN 99)在 Trunk 上以未標籤(Untagged)傳送;需於設定明確標註 native,避免誤將未標籤流量視為帶標籤。

802.1Q 標籤結構、判讀與抓包驗證

  • 以太幀原始結構:目的 MAC(6B)+ 來源 MAC(6B)+ EtherType(2B)。插入 802.1Q 後,在來源 MAC 與原 EtherType 之間新增 4B 標籤,原 EtherType 後移;標籤內含 Tag EtherType(0x8100)與 TCI。
  • TCI 16 bit 拆分為 PCP 3 bit、DEI 1 bit、VID 12 bit(VID 1–4094 有效;0 保留)。DEI 早期定義已變更,現為可丟棄指示,與 QoS/擁塞管理相關。
  • 十六進位判讀技巧:TCI 的「後三個十六進位數字」對應 VID 的 12 bit;如 00C → VLAN 12、00D → VLAN 13。
  • 抓包驗證邏輯:在 S1/S2 以內建抓包工具設定 ICMP 篩選,於裝置介面同時觀察 Ingress/Egress 幀;Ingress 顯示 Ethernet II(無標籤),Egress 顯示 802.1Q/type 1Q(有標籤),並於 Egress 幀標籤區塊定位 TCI,以末三位確認 VID。
  • VN99(Native/管理)驗證:預期 Ingress/Egress 皆無 802.1Q 標籤(Ethernet II),以證明未標籤運行。

Router on a Stick 架構、子介面與路由邏輯

  • 傳統「每 VLAN 一實體介面」成本高、埠數需求大;單臂路由以單一實體埠配多子介面,大幅降低硬體成本且可擴充。
  • 在路由器上以 G0/0.x 子介面一對一對應 VLAN(例如 G0/0.1→VLAN 12、G0/0.3→VLAN 13、G0/0.9→VLAN 99);子介面編號不必等同 VLAN ID,但對應關係需唯一且清晰。
  • 每子介面配置 encapsulation dot1q 與該 VLAN 的閘道 IP;跨網段通訊時,主機將封包送至預設閘道,由路由器依路由表轉送至目標 VLAN 子介面。
  • 實體介面不綁定 IP,避免混雜多 VLAN 流量;IP 應配置在子介面層級以維持明確分流。
  • 確保實體介面(如 G0/0)啟用(no shutdown),否則子介面無法生效。

擴充與測試:新增 VLAN 14 的案例

  • 新增 VLAN 14 子網範例:10.1.14.0/27;建議第一個可用 IP 分配給 PC、最後一個可用 IP 分配為 Gateway。
  • 限制情境:VLAN 14 主機僅接入於 SW2(如 F0/19、F0/20 為 access vlan 14),不接入 SW1;需確保 SW2↔SW1、SW↔Router 所有 Trunk 端口均允許 VLAN 14。
  • Trunk allowed 清單擴充須使用 switchport trunk allowed vlan add 14,以追加而非覆蓋既有清單。
  • 在路由器上新增對應子介面(如 G0/0.14),配置 encapsulation dot1q 14 與 Gateway IP,完成跨 VLAN 路由。
  • 端到端路徑:VLAN 14 主機 → SW2 access 標記 → Trunk(允許 14)→ Router 子介面解標籤與路由 → 目標 VLAN 子介面 → 交換器與目的主機回覆。

抓包工具與操作節奏

  • 工具特性:切入抓包模式時可暫停全網流量畫面,支援手動單步與自動模式;建議先觸發 ping 使 ARP 就緒,再以 ICMP 篩選逐步抓取。
  • 觀察點選擇:於 S1 作為觀察點可同時抓取封包進入與離開,對照 Ingress/Egress 標籤差異;亦可在 S2 形成去回對照。
  • 完成分析後需結束抓取並恢復網路運行。

課務安排與時間管理

  • 實驗時間控制:於 2026-04-27 課後數分鐘內先驗證 VN12/VN13 帶標籤互通,再驗證 VN99 無標籤互通;宣告驗證任務開始約 2:20,要求 3–4 分鐘內完成指定測試。
  • 後續教學:隔日 2026-04-28 進行 VLAN 考試與 Router 詳細設定;班級於 2026-07-10 結訓。課間穿插投資與職涯建議(資產配置、AI 與股市趨勢),以鼓勵學員專注技術與長期規劃。

作業與任務

  • 在 S1 上執行 VN12 之 ICMP 抓包驗證:確認 Ingress 幀無 802.1Q 標籤、Egress 幀有標籤,且 TCI 後三位為 00C(VLAN 12)。
  • 在 S1 上執行 VN13 之 ICMP 抓包驗證:同上流程,確認 TCI 後三位為 00D(VLAN 13)。
  • 在中間交換器(S1 或 S2)抓取 VN99 互通之 ICMP,驗證 Ingress 與 Egress 皆為無標籤 Ethernet II 幀。
  • 建立 VLAN 12、VLAN 13、VLAN 99 的子介面對應表與 Router 配置:於路由器上為各 VLAN 建立子介面,配置 encapsulation dot1q 與閘道 IP;確保實體介面啟用、子介面 up。
  • 規劃並建立 Switch↔Router Trunk,允許 VLAN 12、13、99,正確指定 Native VLAN(如採用 VLAN 99)。
  • 新增 VLAN 14:在 SW2 的接入埠設定 access vlan 14;於所有相關 Trunk 端口以 switchport trunk allowed vlan add 14 追加允許;在路由器上新增對應子介面並配置 IP。
  • 驗證跨 VLAN 連通性:從 VLAN 12/13/99/14 主機相互 ping 與 ping 各自 gateway,記錄封包路徑與抓包標籤。
  • 整理 802.1Q 標籤欄位備忘單:PCP 3-bit、DEI 1-bit、VID 12-bit 定義與作用,附十六進位判讀範例(如 00C→VLAN 12)。
  • 準備考試與筆記:Router on a Stick 拓撲、子介面配置命令、Trunk/native/allowed 與故障排除步驟;於 2026-04-28 前完成複習。

2026-0428-02.png