緯育 2026-0410
出自頂極製作所
本講次聚焦思科交換機的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基礎與目的
- 定義與層級:Port Security為二層功能,用於在端口綁定允許的MAC以限制接入、防止未授權設備連線。二層相關指令以switchport為前綴。
- 應用場景:管理伺服器端口(如E21)僅允許該伺服器MAC通行,未綁定來源視為違規。
前置條件與操作策略
- Access Port先決條件:端口需設定為switchport mode access後,方可啟用Port Security。
- 批次設定策略:在同一介面連續下多行指令時,先shutdown,完成所有設定再no shutdown,以避免中途對外互動造成不一致。
核心參數與預設行為
- Maximum:switchport port-security maximum <數量>,示範設備支援1–132(一般情境設1;下掛小型交換器或多設備可調高)。
- Violation:switchport port-security violation <protect|restrict|shutdown>。違規指的是收到來源MAC不在允許名單的封包;示範採shutdown。
- 預設值顯示:維持預設(通常maximum 1與violation shutdown)時,running-config不顯示這兩行;只有非預設設定才會出現。
綁定方式:手動與sticky
- 手動靜態綁定:switchport port-security mac-address (常見格式為xxxx.xxxx.xxxx),綁定結果在MAC表為Static。
- sticky自動綁定:switchport port-security mac-address sticky,介面上有流量時,交換機自MAC Address Table學到來源MAC並自動「貼」到running-config的該介面設定;show running-config可看到生成的mac-address條目。
- 大規模部署:手動逐台查詢並轉換MAC格式耗時且易錯;sticky能自動化寫入,適合大量端口與多台PC。
MAC學習、指示燈與STP
- 學習觸發條件:必須有封包通過該埠(如Ping)才會學到MAC;無流量則sticky不會貼、違規也不會觸發。
- 指示燈行為:初始連線橙燈約30秒後轉綠燈,源於STP收斂延遲。
- 模擬與實機差異:Packet Tracer以紅燈表示shutdown;實體交換機端口被關閉時通常不亮燈,紅燈為模擬提示。
違規、err-disable與證據保全
- 違規觸發:接入不同MAC的裝置並產生流量時,Port Security比對不符即依設定處置(如shutdown),可能導致err-disable狀態。
- 證據保全設計:即使重新接回原PC,端口仍維持關閉,避免自動恢復掩蓋偷換線事件,利於翌日稽核。
- 診斷命令:show port-security查看啟動與Violation次數;show mac-address-table查MAC與埠對應;show interface/port-security檢視err-disable關鍵字。
- 復原程序:遇err-disable單純no shutdown無效,需先shutdown再no shutdown;復原後約30秒橙燈轉綠燈。
品牌差異與可綁數量
- Cisco支援單埠綁多MAC,便於下掛小型交換器場景;部分品牌僅允許綁定一個MAC。
- 可綁上限以設備?查詢為準(示範1–132),不同機型/IOS版本可能差異。
存檔要求
- sticky貼上後務必copy running-config startup-config;未存檔重啟將遺失黏貼的MAC條目,影響作業與評分。
實作步驟示範(以E21/11號埠為例)
- 進入與關閉介面:enable;configure terminal;interface <介面>;shutdown。
- 設為Access Port:switchport mode access。
- 啟用Port Security:switchport port-security。
- 設定Maximum與Violation(可維持預設):switchport port-security maximum 1;switchport port-security violation shutdown。
- 綁定方式:
- 手動:switchport port-security mac-address xxxx.xxxx.xxxx。
- sticky:switchport port-security mac-address sticky。
- 開啟介面與觸發學習:no shutdown;由連接PC發送封包(如Ping)促使MAC學習與sticky貼上。
- 驗證與存檔:show mac-address-table;show running-config;copy running-config startup-config。
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 代表舊式封裝)。
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)。