温馨提示×

Debian DHCP中DNS设置方法

小樊
46
2025-11-07 02:39:43
栏目: 智能运维

1. 安装ISC DHCP服务器
在Debian系统上配置DHCP服务前,需先安装isc-dhcp-server软件包。通过终端执行以下命令完成安装:

sudo apt update
sudo apt install isc-dhcp-server

2. 配置DHCP主配置文件(核心DNS设置)
DHCP的DNS选项主要在/etc/dhcp/dhcpd.conf文件中定义。使用文本编辑器(如nano)打开该文件:

sudo nano /etc/dhcp/dhcpd.conf

在文件中添加或修改以下关键配置:

  • 全局DNS设置(可选,适用于所有子网):
    option domain-name "example.com";          # 指定默认域名(可选)
    option domain-name-servers 8.8.8.8, 8.8.4.4; # 指定DNS服务器IP(可添加多个,用逗号分隔)
    
  • 子网特定DNS设置(推荐,针对特定网段配置):
    subnet声明块中添加option domain-name-servers,例如:
    subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.10 192.168.1.100;       # DHCP地址池范围
        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; # 子网专用DNS服务器
    }
    

    注:option domain-name-servers是核心参数,用于向客户端分配DNS服务器地址;option domain-name可选,用于指定客户端默认搜索域名。

3. 指定DHCP监听接口
编辑/etc/default/isc-dhcp-server文件,明确DHCP服务监听的网络接口(如eth0ens33等):

sudo nano /etc/default/isc-dhcp-server

找到INTERFACESv4行,取消注释并修改为实际接口名称:

INTERFACESv4="eth0"  # 替换为你的网络接口,如ens33、enp0s3等

4. 重启DHCP服务应用配置
保存所有配置文件后,重启DHCP服务以使更改生效:

sudo systemctl restart isc-dhcp-server

若需设置开机自启,可执行:

sudo systemctl enable isc-dhcp-server

5. 验证DNS配置是否生效

  • 检查DHCP服务状态:确认服务运行正常,无报错信息:
    sudo systemctl status isc-dhcp-server
    
  • 查看DHCP租约记录:检查客户端是否获取到正确的DNS服务器地址:
    cat /var/lib/dhcp/dhcpd.leases
    
  • 客户端验证:在DHCP客户端设备上,执行以下命令确认DNS设置已生效:
    ip addr show eth0 | grep DNS  # 查看接口DNS配置(部分系统可能不显示)
    cat /etc/resolv.conf         # 查看客户端解析文件中的DNS服务器
    nslookup example.com         # 测试域名解析功能
    

注意事项

  • 若网络中有多个子网,需为每个subnet块单独配置option domain-name-servers,确保所有客户端都能获取正确DNS。
  • 确保防火墙允许DHCP(UDP 67/68)和DNS(UDP/TCP 53)流量通过,避免配置后无法正常工作。
  • 若需动态更新DNS记录(如客户端IP与域名绑定),需额外配置BIND等DNS服务器的动态更新功能(参考named.conf.options中的allow-update参数)。

0