緯育 2026-0421

出自頂極製作所

DHCP 與網路位址分配演進、機制與實作要點。

本講於2026-04-21重點講解網路位址分配的演進與 DHCP(Dynamic Host Configuration Protocol,動態主機設定協定)的概念、機制與實作。以「雲端像即食料理包」的比喻引入課程定位:本課程著重自行建置服務與技術堆疊,DHCP是第一個自建案例。

內容涵蓋無 DHCP 時代的手動設定困境、RARP(1984)與 BOOTP 到 DHCP(1993)的歷史演進與差異、ARP/RARP 的廣播特性(不可跨路由)、BOOTP 透過 IP 層支援跨網段與無碟/遠端安裝、DHCP 的動態分配與租約時間、四步驟封包流程、Options 擴充與常見參數、伺服器與客戶端服務要點、集中管理效益與故障排查。

實作部分示範以 pfSense/EF-Sense 與 ISC DHCP Server 部署、切換與驗證,包含子網與位址池設定、DNS/Router/Broadcast、租約時間、靜態保留(固定租約)配置、服務監聽與日誌檢查,以及高流量無線環境選擇動態分配避免位址池用盡的實務策略。

課程定位與雲端比喻

  • 課程為「歷史基礎課」,以料理比喻將多種 IT 資源組合成可用服務。強調從使用現成伺服器轉向自行建置與管理,首個自建服務為 DHCP,透過手動建置、管理與實際使用深化對資源分配與規劃的理解。
  • 雲端像「即食料理包」:選功能即可上線;本課程場景改為「自己煮」,需自行選擇與配置技術堆疊與服務。

無 DHCP 時代的網路設定與管理困境

  • 早期需手動設定 IP、遮罩、DNS 與網段,初次開機常無網路可用。錯誤或重複設定可能導致衝突(如 Gateway 與 Client IP 相同互斥)。
  • 管理者需逐台設定,用紙本或表格維護對應關係;架構調整需先更新表格再逐台變更,期間易發生 IP 混亂,維護成本高且耗時。

IP 分配技術演進:RARP → BOOTP → DHCP

  • RARP(1984):以廣播自身 MAC 問 IP,與 ARP 同層廣播,無 IP 層,不可跨路由,需每網段一台 RARP 伺服器,跨網段可能出現重複 IP 風險。
  • BOOTP:以 IP 層可跨路由集中服務多網段;除 IP 分配外提供開機檔位置,支援無碟與遠端安裝(Windows 環境可搭 PXE/WDS 等)。限制在於分配為預先配置的靜態映射,缺乏動態租用。
  • DHCP(1993):以「租約時間」實作動態分配,租期屆滿未續租即回收再分配。與 BOOTP「頭部一致」,於尾部新增 Options(約數百項)承載租約、遮罩、路由、DNS 等設定,迅速成為 BOOTP 的替代方案並大幅降低手動維護與衝突風險。

DHCP 安裝、埠位與集中管理

  • Options 機制提供大量可視化可調參數(子網遮罩、路由、DNS、租約時間等)。
  • 埠位:DHCP Server 監聽 UDP 67,Client 使用 UDP 68,可用「6768」記憶。
  • 部署 DHCP 後,用戶端開機自動取得 IP,管理者得以集中規劃位址池、保留 Server 固定位址、快速調整網段與策略,隔日用戶重開機即套用。

用戶端服務與常見操作

  • 各作業系統需啟用 DHCP 客戶端服務;故障排查先檢查是否啟用、伺服器是否回應。
  • Windows 實務:可執行釋放與重新取得 IP;重啟或停用再啟用服務以驗證 DHCP 工作狀態。常與 PXE/TFTP 搭配進行無人值守系統部署。

DHCP 封包流程與運作原理

  • Discover:用戶端廣播尋找伺服器。
  • Offer:伺服器回應提供候選配置(常見為單播回覆)。
  • Request:用戶端明確請求採用的配置。
  • Ack:伺服器確認租用,登記租期並下發參數;到期未續約則釋出。
  • Release:用戶端可主動釋出,重新走流程;是否拿回同一 IP 依伺服器策略與池狀態。

分配機制:自動分配 vs 動態分配

  • 辨識:介面若顯示租用時間即為動態分配;無租用時間則傾向自動分配。
  • 自動分配(Automatic):首次分配後永久保留給該設備(含預先 MAC→IP 綁定),伺服器負擔較小,但在來去頻繁的無線網路易導致地址池耗盡。
  • 動態分配(Dynamic):具租約與回收機制,伺服器可透過 ICMP/ARP 探測判定未使用後釋出,適合高流量公共/企業無線網路以避免 IP 用盡。

pfSense/EF-Sense 與 ISC DHCP Server 部署與切換

  • 分離 DHCP 服務以降低單點故障:從整合設備(pfSense/DeepSense 類)抽離至自建主機 ISC DHCP Server。
  • 主機準備:clone 主機、更名與固定 IP(示例 192.168.100.11/24,Router 192.168.100.254,Broadcast 192.168.100.255),確認介面名稱(如 ENX33)。
  • ISC DHCP Server 安裝與介面指定:於 /etc/default/isc-dhcp-server 指定 IPv4 發放介面;主態檔 /etc/dhcp/dhcpd.conf 設定子網、Range(如 192.168.100.100–192.168.100.200)、DNS(如 8.8.8.8、8.4.4.4)、Router 與 Broadcast,設定租約時間,注意每行分號。
  • 服務管理與驗證:service/systemctl 重啟,檢視 journal 日誌與 ss -uanp 確認 0.0.0.0:67/UDP 監聽;關閉原設備 DHCP,讓用戶端重新取得租約驗證新服務。
  • pfSense/EF-Sense 操作:Services → DHCP Server 介面頁停用/啟用、Save/Apply;讓 Client 重新取得租約並測通外網,觀察位址落在動態範圍。

靜態保留(固定租約)與設備辨識

  • 在 dhcpd.conf 以 host 段綁定 MAC/Client ID 到 fixed-address(示例 192.168.1.201),重啟服務並於用戶端重新取得租約確認生效。
  • 清單化管理公司設備,在檔案中維護各設備識別與對應位址,廣播通知同仁重開機或次日套用更新。
  • 品牌辨識資料檔:下載約 7–8MB 的對應檔放置於 /usr/local,以便在 DHCP 租約清單介面轉譯顯示設備品牌。

管理者效益與故障排查

  • 集中管理可快速全網變更、清楚記錄租用狀態與位址池使用率,搭配探測機制與正確分配策略解決「有人能連、有的人不能連」的問題。
  • 排查面向:確認分配機制(自動 vs 動態)、租約時間、位址池使用率、日誌錯誤、介面設定與檔案位置(/etc/dhcpd.conf、/usr/local 資料檔)、DNS(DMS)配置;必要時回退設定重試。

2026-0421-02.png