「緯育 2026-0410」修訂間的差異

出自頂極製作所
 
行 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 &lt;列表&gt;,必要時指定 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]]

於 2026年4月28日 (二) 02:02 的最新修訂

思科交換機 Port Security 實作與診斷重點。

本講次聚焦思科交換機的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。

2026-0410-04.png