Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 伺服器綜合

DHCP 伺服器完整部署與管理實戰:從協定原理到 CentOS 7 實作

編輯:伺服器綜合

一、DHCP 核心價值與協定基礎

DHCP(Dynamic Host Configuration Protocol)自動分配 IP 位址、子網路遮罩、閘道、DNS、NTP、WINS 等網路參數,是企業網路管理的基石。缺乏 DHCP 將導致用戶端無法正常接取網路資源。

相關協定比較

協定功能特點
ARPIP → MAC區域網路廣播查詢
RARPMAC → IP早期無盤工作站用,無租約機制
BOOTP回應客戶端 IP靜態對應、無租約、適合無盤啟動
DHCP動態分配 IP 及完整網路參數租約機制、支援中繼、擴充性強

DHCP 四步驟交換(DORA)

  1. Discover: 客戶端廣播尋找 DHCP 伺服器(UDP 67)。
  2. Offer: 伺服器單播/廣播提供 IP 租約建議。
  3. Request: 客戶端廣播正式請求該 IP。
  4. ACK: 伺服器確認並發送完整網路參數。
全程均為廣播封包;多 DHCP 伺服器環境下,客戶端接受第一個收到的 Offer。

租約更新機制

  • T1 = 租約 50% 時,客戶端向原伺服器請求續約。
  • T2 = 租約 87.5% 時,若未獲回應,廣播尋找任意 DHCP 伺服器續約。
  • T3 = 租約 100% 到期,釋放 IP,重新發起 Discover。

通訊埠

  • 伺服器監聽:UDP 67
  • 客戶端發送:UDP 68

二、CentOS 7.2 部署 DHCP 伺服器實作

環境拓撲

DHCP 實驗拓撲

步驟 1:安裝套件

# yum install -y dhcp

步驟 2:認識設定檔與 Unit

設定檔:/etc/dhcp/dhcpd.conf          (IPv4)
         /etc/dhcp/dhcpd6.conf         (IPv6)
Unit:    /usr/lib/systemd/system/dhcpd.service
         /usr/lib/systemd/system/dhcpd6.service

步驟 3:編輯 /etc/dhcp/dhcpd.conf

# 全域參數
option domain-name "example.com";
option domain-name-servers 192.168.10.1, 8.8.8.8;
default-lease-time 600;        # 10 分鐘
max-lease-time 7200;           # 2 小時

# 子網路宣告(必須包含伺服器自身介面所在網段)
subnet 192.168.10.0 netmask 255.255.255.0 {
  range 192.168.10.100 192.168.10.200;  # IP 池
  option routers 192.168.10.1;           # 閘道
  option broadcast-address 192.168.10.255;
}

步驟 4:啟動服務

# systemctl start dhcpd
# systemctl enable dhcpd
# systemctl status dhcpd

步驟 5:客戶端測試

# dhclient -v eth0        # 手動請求
# ip addr show eth0       # 確認取得 IP
# ip route show           # 確認預設閘道

步驟 6:依 MAC 固定分配 IP(靜態對應)

host fixed-client {
  hardware ethernet 00:0c:29:1a:2b:3c;
  fixed-address 192.168.10.50;
  option host-name "fixed-client";
}
修改設定後必須 systemctl restart dhcpd 生效。

三、常見問題排查

  • subnet 宣告缺少伺服器自身網段: dhcpd 會拒絕啟動,錯誤訊息 Not configured to listen on any interfaces。
  • 防火牆阻擋 UDP 67/68: firewall-cmd --add-service=dhcp --permanent && firewall-cmd --reload。
  • SELinux 阻擋: 檢查 /var/log/audit/audit.log,必要時 setsebool -P dhcpd_use_ldap on 或暫時設定 Permissive。
  • 多網卡環境: 編輯 /etc/sysconfig/dhcpd 指定 DHCPDARGS="eth0"。

四、進階應用:DHCP Relay(中繼代理)

跨網段部署時,在路由器或 Layer 3 交換機啟用 ip helper-address ,將客戶端廣播轉發為單播至 DHCP 伺服器,實現集中管理。


掌握 DHCP 協定細節與 systemd 管理方式,即可快速建置穩定、可擴充的企業級 IP 位址管理服務。

Copyright © Windows教程網 All Rights Reserved