在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