一、准备工作
sudo yum install dhcp -y命令安装(CentOS 7/8/9均适用)。sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak。二、修改DHCP配置文件
配置文件路径为/etc/dhcp/dhcpd.conf,主要包含全局配置(影响整个服务)、子网声明(定义IP分配范围)、主机声明(绑定MAC与固定IP)三部分。
vi或nano)打开文件,命令:sudo vi /etc/dhcp/dhcpd.conf。ddns-update-style none;:禁用DNS动态更新(适用于大多数场景)。default-lease-time 600;:默认租约时间(秒),客户端获取IP后的有效期。max-lease-time 7200;:最大租约时间(秒),客户端可请求的最长IP使用时间。option domain-name "example.com";:设置客户端默认搜索域(如公司域名)。option domain-name-servers 8.8.8.8, 8.8.4.4;:指定DNS服务器地址(可多个,用逗号分隔)。subnet <网段> netmask <子网掩码> { ... },用于定义DHCP服务的覆盖范围。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 broadcast-address 192.168.1.255; }。
range:IP地址池范围(从192.168.1.100到192.168.1.200)。option routers:客户端默认网关(如路由器IP)。option broadcast-address:广播地址(可选,若不指定,DHCP会自动计算)。host <主机名> { hardware ethernet <MAC地址>; fixed-address <固定IP>; }。host printer1 { hardware ethernet 00:1A:2B:3C:4D:5E; fixed-address 192.168.1.50; }。
hardware ethernet:客户端的MAC地址(可通过ip link show命令查看)。fixed-address:为客户端分配的固定IP地址(需在子网地址池内)。三、配置网络接口(可选,CentOS 7及以上版本自动检测)
若服务器有多个网卡,需指定DHCP服务监听的接口。编辑/etc/sysconfig/dhcpd文件,修改INTERFACES参数:INTERFACES="eth0"(eth0为目标网卡名称,可通过ip a命令查看)。
四、重启DHCP服务并设置开机自启
sudo systemctl restart dhcpd。sudo systemctl enable dhcpd。五、验证配置
sudo systemctl status dhcpd,若显示“active (running)”,则服务正常运行。cat /var/lib/dhcpd/dhcpd.leases,可查看已分配的IP地址、客户端MAC地址、租约时间等信息。sudo dhclient -d eth0),检查是否能获取到配置的IP地址。六、常见问题排查
sudo dhcpd -t命令测试语法,若有错误会提示具体行号。sudo firewall-cmd --permanent --add-service=dhcp;sudo firewall-cmd --reload。/etc/sysconfig/dhcpd中的INTERFACES参数是否正确,或服务器是否有足够的IP地址分配。