👋 歡迎來到網路架構實驗室
我是您的講師。今天我們要探討的是網路運作的基石——DHCP,以及在大型企業網路中不可或缺的 Extreme BootP Relay 技術。 我會用最直白的方式,帶您從理論走到 ExtremeXOS 的實戰配置。
核心概念 (Concept)
一句話定義
DHCP (Dynamic Host Configuration Protocol) 是一種網路協定,負責「自動」分配 IP 位址、子網路遮罩、閘道器 (Gateway) 等網路設定給用戶端設備,省去人工逐一設定的繁瑣。
生活化比喻
想像您去入住飯店:
- 您不需要自己帶床(靜態 IP),只需到櫃檯 Check-in。
- 櫃檯(DHCP Server)會給您一張房卡(IP 位址)。
- 這間房是有期限 (Lease Time) 的,退房時間一到,如果您沒續約,房間就會被收回並租給下一位客人。
運作原理 (Mechanism)
1. 標準 DHCP 流程 (D.O.R.A.)
DHCP 的互動就像一場四步驟的談判,我們稱為 DORA 流程。
(0.0.0.0) Client->>Server: 1. DHCP Discover (廣播 Broadcast)
"有人在嗎?我需要一個 IP!" Server-->>Client: 2. DHCP Offer (單播/廣播)
"我是伺服器,這個 IP (192.168.1.10) 給你好嗎?" Client->>Server: 3. DHCP Request (廣播)
"好的,我決定租用這個 IP 了!" Server-->>Client: 4. DHCP Ack (單播)
"確認完畢,IP 正式租給你,期限 8 小時。" Note over Client: 取得 IP,開始上網
2. Extreme BootP Relay 的關鍵角色
問題: DHCP Discover 是「廣播 (Broadcast)」封包。路由器(或 L3 Switch)預設不會轉發廣播封包。如果 DHCP 伺服器和用戶端在不同的 VLAN,用戶端永遠喊不到伺服器。
解法: 開啟 BootP Relay(Cisco 稱為 IP Helper)。Switch 會攔截用戶端的廣播,將其「封裝」成單播 (Unicast),直接寄給遠端的 DHCP Server。
ExtremeXOS 關鍵參數與指令:
- UDP Ports: Server (67), Client (68)。
- BootPrelay: ExtremeXOS 使用連寫的關鍵字。
# ExtremeXOS Configuration Example
# 1. 啟用 BootP Relay (啟用所有 VLAN 或指定 VLAN)
enable bootprelay all
# 2. 指定 DHCP Server IP 並綁定特定 VLAN
# 語法:configure bootprelay vlan <名稱> add <伺服器IP>
configure bootprelay vlan vlan_marketing add 10.0.0.1
# 3. 驗證設定 (Check Configuration)
show bootprelay
# --- 預期輸出範例 (Output Example) ---
Switch.1 # show bootprelay Bootprelay : Enabled on virtual router "VR-Default" DHCP Relay Agent Information Option : Enabled on virtual router "VR-Default" DHCP Relay Agent Information Check : Enabled on virtual router "VR-Default" DHCP Relay Agent Information Policy : Replace DHCP Relay Agent Information Remote-ID : "default" Bootprelay servers for virtual router "VR-Default": Destination: 10.0.0.1 DHCP/BOOTP relay statistics for virtual router "VR-Default" Received from client = 2 Received from server = 2 Requests relayed = 2 Responses relayed = 2 DHCP Discover = 1 DHCP Offer = 1 DHCP Request = 1 DHCP Ack = 1 DHCP Decline = 0 DHCP NAck = 0 DHCP Release = 0 DHCP Inform = 0 DHCP Information Option 82 packets statistics for virtual router "VR-Default" Received from client = 0 Received from server = 2 Requests replaced = 0 Responses dropped = 0 Opt82 added to Requests = 2 Note: Default Remote-ID : System MAC Address
架構視覺化 (Visuals)
下圖展示了跨 VLAN 的 DHCP 運作架構。請注意 Switch 如何扮演 "Relay Agent" 的角色,打破廣播網域的限制。
IP: 192.168.10.1"] Relay["BootP Relay Agent
(攔截廣播 -> 轉單播)"] end subgraph VLAN100 ["VLAN 100 - Server Farm"] DHCPServer["DHCP 伺服器
IP: 10.0.0.1"] end PC -- "1. DHCP Discover (Broadcast)" --> L3_IF L3_IF -.-> Relay Relay == "2. Unicast Forward (UDP 67)" ==> DHCPServer DHCPServer == "3. Reply (Unicast)" ==> Relay Relay -- "4. Forward to Client" --> PC %% 套用樣式 class PC clientNode,largeText; class L3_IF,Relay switchNode,largeText; class DHCPServer serverNode,largeText;
圖解:BootP Relay 跨網段轉發機制 (可左右滑動檢視完整圖表)
實務應用場景 (Use Case)
案例:大型企業園區網路
情境:某科技園區有 5 棟大樓,共 20 個部門 (20 個 VLANs)。 IT 部門不希望在每個 VLAN 都架設一台 DHCP Server。
部署策略
- 集中管理: 在核心機房建立一組 DHCP 叢集 (Cluster)。
- BootP Relay: 在每一棟大樓的 Core Switch (Extreme Switch) 上啟用 `bootprelay`。
- Scope 設定: DHCP Server 依據封包來源的 Gateway IP (GIADDR),判斷要發放哪個網段的 IP (例如來自 192.168.10.1 的請求,就發 192.168.10.x 的 IP)。
優缺點分析
優點: 管理簡化、節省伺服器授權費、IP 紀錄集中化方便稽核。
缺點: 核心 DHCP Server 成為單點故障 (SPOF)。若 Relay 設定錯誤,整個部門會無法上網。
講師建議: 務必在 Server 端設定 Failover,並在 Switch 端設定多個 Relay 目標 IP 以備援。
隨堂測驗 (Quiz)
1. DHCP 取得 IP 的正確四步驟順序為何?
2. 在 ExtremeXOS 中,若要讓 VLAN 10 的用戶端能取得 VLAN 100 伺服器的 IP,必須設定什麼功能?
3. DHCP Server 使用哪一個 UDP Port 來接收 Client 的請求?
4. 為什麼 DHCP Discover 封包預設無法跨越 Router?
5. 在 ExtremeXOS 指令 `configure bootprelay vlan hr_dept add 10.0.0.1` 中,10.0.0.1 代表什麼?