|
|
| 行 1: |
行 1: |
| | <h3>思科交換機 Port Security 實作與診斷重點。</h3> |
| | |
| 本講次聚焦思科交換機的Port Security(埠安全),涵蓋Access Port前置、核心參數Maximum與Violation、手動靜態綁定與sticky自動綁定的差異與操作、MAC學習與觸發條件、STP指示燈延遲、預設值在running-config的顯示行為、違規與err-disable狀態診斷及復原。以具體埠案例(如E21、11號埠)示範完整設定與驗證流程,強調多指令批次設定先關閉介面、完成後再開啟的策略;在大規模部署(如48埠、30台PC)建議採sticky以降低人工綁定成本與錯誤。並以銀行偷換線情境與「駭客」PC模擬,說明違規觸發與燈號行為差異(Packet Tracer vs. 實機),以及保存證據的設計考量與正確的err-disable復原程序。 | | 本講次聚焦思科交換機的Port Security(埠安全),涵蓋Access Port前置、核心參數Maximum與Violation、手動靜態綁定與sticky自動綁定的差異與操作、MAC學習與觸發條件、STP指示燈延遲、預設值在running-config的顯示行為、違規與err-disable狀態診斷及復原。以具體埠案例(如E21、11號埠)示範完整設定與驗證流程,強調多指令批次設定先關閉介面、完成後再開啟的策略;在大規模部署(如48埠、30台PC)建議採sticky以降低人工綁定成本與錯誤。並以銀行偷換線情境與「駭客」PC模擬,說明違規觸發與燈號行為差異(Packet Tracer vs. 實機),以及保存證據的設計考量與正確的err-disable復原程序。 |
|
| |
|
| 行 40: |
行 42: |
| * 驗證與存檔:show mac-address-table;show running-config;copy running-config startup-config。 | | * 驗證與存檔:show mac-address-table;show running-config;copy running-config startup-config。 |
| [[檔案:2026-0410-04.png|800px]] | | [[檔案:2026-0410-04.png|800px]] |
| === 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|800px]]
| |
| === 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|800px]]
| |
| === 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|800px]]
| |