在Linux系統下搭建DHCP服務器的步驟如下:
基于Debian的系統(如Ubuntu):
sudo apt-get update
sudo apt-get install isc-dhcp-server
基于Red Hat的系統(如CentOS):
sudo yum install dhcp
基于Fedora的系統:
sudo dnf install dhcpserver
編輯配置文件:DHCP服務器的主配置文件通常位于 /etc/dhcp/dhcpd.conf
,使用文本編輯器打開該文件,如 sudo nano /etc/dhcp/dhcpd.conf
。
設置DHCP范圍:在配置文件中指定要分配給客戶端的IP地址范圍。例如:
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 domain-name-servers 192.168.1.1;
}
其他選項:根據需求設置DNS服務器、域名、租約期限等。
配置子網和路由器:指定子網掩碼和默認網關。
保留特定IP:為特定設備保留靜態IP地址。
確保DHCP服務的網絡接口配置正確。編輯網絡接口配置文件,例如 /etc/network/interfaces
(Debian/Ubuntu)或 /etc/sysconfig/network-scripts/ifcfg-eth0
(CentOS/RHEL),確保網絡接口配置為使用DHCP。
啟動DHCP服務:
sudo systemctl start isc-dhcp-server # Debian/Ubuntu
sudo systemctl start dhcpd # CentOS/RHEL
設置DHCP服務為開機啟動:
sudo systemctl enable isc-dhcp-server # Debian/Ubuntu
sudo systemctl enable dhcpd # CentOS/RHEL
如果系統使用防火墻,確保允許DHCP服務的端口(UDP 67和UDP 68)。
對于iptables:
sudo iptables -A INPUT -p udp --dport 67:68 -j ACCEPT
對于firewalld:
sudo firewall-cmd --permanent --add-service=dhcp
sudo firewall-cmd --reload
重啟網絡服務(如果需要):
sudo systemctl restart networking
檢查DHCP服務狀態:
sudo systemctl status isc-dhcp-server # Debian/Ubuntu
sudo systemctl status dhcpd # CentOS/RHEL
查看日志文件,確認DHCP服務運行正常:
sudo tail -f /var/log/syslog # Debian/Ubuntu
sudo tail -f /var/log/messages # CentOS/RHEL
測試網絡設備獲取IP:重啟或設置網絡設備為DHCP模式,檢查是否能從DHCP服務器獲取IP地址。
在修改配置文件之前,務必備份原始文件:
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak