温馨提示×

怎样修改CentOS DHCP服务器配置文件

小樊
37
2025-10-19 14:15:47
栏目: 云计算

一、准备工作

  1. 安装DHCP服务:若未安装,使用sudo yum install dhcp -y命令安装(CentOS 7/8/9均适用)。
  2. 备份原配置文件:修改前建议备份,避免配置错误导致服务异常,命令:sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak

二、修改DHCP配置文件 配置文件路径为/etc/dhcp/dhcpd.conf,主要包含全局配置(影响整个服务)、子网声明(定义IP分配范围)、主机声明(绑定MAC与固定IP)三部分。

  1. 编辑配置文件:使用文本编辑器(如vinano)打开文件,命令:sudo vi /etc/dhcp/dhcpd.conf
  2. 全局配置(可选但推荐)
    • 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服务器地址(可多个,用逗号分隔)。
  3. 子网声明(必须配置)
    • 格式: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会自动计算)。
  4. 主机声明(可选,用于固定IP)
    • 格式: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服务并设置开机自启

  1. 重启服务使配置生效:sudo systemctl restart dhcpd
  2. 设置开机自启:sudo systemctl enable dhcpd

五、验证配置

  1. 检查服务状态sudo systemctl status dhcpd,若显示“active (running)”,则服务正常运行。
  2. 查看租约文件cat /var/lib/dhcpd/dhcpd.leases,可查看已分配的IP地址、客户端MAC地址、租约时间等信息。
  3. 客户端测试:将客户端设备设置为“自动获取IP地址”(Windows:网络适配器→属性→Internet协议版本4→自动获取;Linux:sudo dhclient -d eth0),检查是否能获取到配置的IP地址。

六、常见问题排查

  1. 配置文件语法错误:修改配置文件后,可使用sudo dhcpd -t命令测试语法,若有错误会提示具体行号。
  2. 防火墙拦截:若客户端无法获取IP,需开放DHCP服务端口(UDP 67/68),命令:sudo firewall-cmd --permanent --add-service=dhcpsudo firewall-cmd --reload
  3. 接口未监听:若DHCP服务无法启动,需确认/etc/sysconfig/dhcpd中的INTERFACES参数是否正确,或服务器是否有足够的IP地址分配。

0