Linux DHCP 伺服器架設指南
DHCP(Dynamic Host Configuration Protocol)伺服器可自動為網路設備分配 IP 地址、子網路遮罩、DNS 與其他網路參數。
本篇將介紹如何在 Linux(Fedora、CentOS、RHEL)上安裝與設定 DHCP 伺服器,並涵蓋 IP 範圍設定、固定 IP 配置、高級選項與日誌除錯。
目錄
安裝 DHCP 伺服器
安裝 dhcp-server
套件
sudo dnf install dhcp-server -y
檢查 DHCP 服務版本
dhcpd --version
設定 DHCP 伺服器
DHCP 設定檔位於 /etc/dhcp/dhcpd.conf
,可設定 IP 分配範圍、子網路、DNS 等。
編輯 /etc/dhcp/dhcpd.conf
sudo nano /etc/dhcp/dhcpd.conf
典型 DHCP 設定範例
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option broadcast-address 192.168.1.255;
}
設定 DHCP 伺服器的網卡
編輯 /etc/sysconfig/dhcpd
(或 /etc/default/isc-dhcp-server
):
DHCPDARGS=eth0
啟動與測試 DHCP 伺服器
啟動 DHCP 伺服器
sudo systemctl enable --now dhcpd
檢查 DHCP 服務狀態
sudo systemctl status dhcpd
測試 DHCP 設定
sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf
開放防火牆(UDP 67、68 端口)
sudo firewall-cmd --add-service=dhcp --permanent
sudo firewall-cmd --reload
設定靜態 IP 綁定
若特定設備需要固定 IP,可根據 MAC 地址綁定。
編輯 /etc/dhcp/dhcpd.conf
host server1 {
hardware ethernet 00:1A:2B:3C:4D:5E;
fixed-address 192.168.1.50;
}
重新啟動 DHCP 服務
sudo systemctl restart dhcpd
設定 DHCP 轉發(Relay)
若 DHCP 伺服器不在同一個子網,可使用 DHCP Relay。
安裝 dhcp-relay
sudo dnf install dhcp-relay -y
啟動 DHCP 轉發器
sudo dhcrelay -i eth0 192.168.1.1
設定開機啟動
sudo systemctl enable dhcrelay
檢視 DHCP 日誌與錯誤排除
查看 DHCP 分配日誌
sudo journalctl -u dhcpd --no-pager | tail -n 50
檢查 DHCP 狀態與租約
cat /var/lib/dhcpd/dhcpd.leases
檢查 DHCP 設定錯誤
sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf
檢查是否有封包送達 DHCP 伺服器
sudo tcpdump -i eth0 port 67 or port 68
結語
本篇提供了 Linux DHCP 伺服器的完整安裝與設定指南,涵蓋動態 IP 分配、靜態 IP 綁定、DHCP 轉發與錯誤排除。透過這些設定,您可以輕鬆管理內部網路的 IP 分配,確保系統穩定運行。