DHCP(Dynamic Host Configuration Protocol)自動分配 IP 位址、子網路遮罩、閘道、DNS、NTP、WINS 等網路參數,是企業網路管理的基石。缺乏 DHCP 將導致用戶端無法正常接取網路資源。
| 協定 | 功能 | 特點 |
|---|---|---|
| ARP | IP → MAC | 區域網路廣播查詢 |
| RARP | MAC → IP | 早期無盤工作站用,無租約機制 |
| BOOTP | 回應客戶端 IP | 靜態對應、無租約、適合無盤啟動 |
| DHCP | 動態分配 IP 及完整網路參數 | 租約機制、支援中繼、擴充性強 |
全程均為廣播封包;多 DHCP 伺服器環境下,客戶端接受第一個收到的 Offer。
# yum install -y dhcp
設定檔:/etc/dhcp/dhcpd.conf (IPv4)
/etc/dhcp/dhcpd6.conf (IPv6)
Unit: /usr/lib/systemd/system/dhcpd.service
/usr/lib/systemd/system/dhcpd6.service
/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;
}
# systemctl start dhcpd
# systemctl enable dhcpd
# systemctl status dhcpd
# dhclient -v eth0 # 手動請求
# ip addr show eth0 # 確認取得 IP
# ip route show # 確認預設閘道
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 生效。
Not configured to listen on any interfaces。firewall-cmd --add-service=dhcp --permanent && firewall-cmd --reload。/var/log/audit/audit.log,必要時 setsebool -P dhcpd_use_ldap on 或暫時設定 Permissive。/etc/sysconfig/dhcpd 指定 DHCPDARGS="eth0"。跨網段部署時,在路由器或 Layer 3 交換機啟用 ip helper-address ,將客戶端廣播轉發為單播至 DHCP 伺服器,實現集中管理。
掌握 DHCP 協定細節與 systemd 管理方式,即可快速建置穩定、可擴充的企業級 IP 位址管理服務。