路由器默認阻斷廣播報文,而DHCP發現過程(DHCPDISCOVER)依賴廣播。當客戶端與DHCP服務器跨越不同子網(由路由器隔離)時,客戶端的廣播請求無法到達服務器,導致無法獲取IP地址。DHCP中繼代理(DHCP Relay Agent)解決此問題:它監聽客戶端廣播,單播轉發給指定DHCP服務器,再將服務器響應回傳給客戶端。
[客戶端 10.1.1.0/24] ←→ [中繼路由器 10.1.1.1 / 192.168.1.100] ←→ [DHCP服務器 192.168.1.10]
192.168.1.0/24(本地)與 10.1.1.0/24(遠端)192.168.1.100/24,網關留空10.1.1.1/24,網關留空route -p add 10.1.1.0 mask 255.255.255.0 10.1.1.1 確保雙向通達192.168.1.10客戶端執行 ipconfig /renew 後,獲得 10.1.1.x 地址,網關指向 10.1.1.1,DNS指向DHCP服務器配置值。
| 現象 | 可能原因 | 對策 |
|---|---|---|
| 客戶端獲取0.0.0.0 | 中繼路由器未啟用IP轉發 | 註冊表 HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter=1 並重啟 |
| DHCP服務器收不到請求 | 防火牆阻攔UDP 67/68 | 雙向放行UDP 67/68,或臨時關閉防火牆測試 |
| 客戶端拿到錯誤作用域地址 | DHCP服務器作用域順序/超級作用域配置錯誤 | 確保遠端作用域啟用,且網段與中繼介面IP一致 |
| 中繼服務自動停止 | 依賴服務(Remote Access)未啟動 | 設置依賴服務為自動啟動 |
ip helper-address 或Linux dhcrelay,性能更優、配置更簡潔DHCP中繼代理是跨子網IP管理的基石,配置看似繁瑣,實則邏輯清晰:廣播轉單播、單播回廣播、介面綁定、服務器指向四步走,掌握核心即舉一反三。