ISC DHCP 针对不同客户端操作系统提供不同的 DNS 服务器

ISC DHCP 针对不同客户端操作系统提供不同的 DNS 服务器

是否可以进行配置isc-dhcp,以便向网络中的不同客户端发送不同的 DNS 服务器地址?

假设我的网络中有一些 Mac、Linux 和 Windows 电脑。我的主要 DNS 服务器在bind9Linux 下,但我还有一台 Windows 服务器,也充当 DNS。现在我想将isc-dhcp与 Windows 服务器的 DNS 连接发送到 Windows 客户端,网络中的所有其他计算机都从 dhcp/bind9 获取 DNS 设置。

那可能吗?

答案1

根据我从 muru 那里得到的回答,我找到了这个解决方法:

要从客户端找到vender-class-identifier,您需要将其放在顶部dhcpd.conf

set vendor-string = option vendor-class-identifier;

重新启动 dhcp 服务并从客户端与 dhcp 服务器建立新连接后,您可以使用它cat /var/lib/dhcp/dhcpd.leases来查看哪个是您的类。例如,Windows XP 具有:"MSFT 5.0"

现在,您可以在子网块内像这样明确客户端的 DNS 服务器:

# DNS for Windows XP
if substring (option vendor-class-identifier, 0, 9) = "MSFT 5.0"
{
    option domain-name-servers 192.168.0.1;
}
# DNS for all others
else
{
    option domain-name-servers 192.168.2.254, 8.8.8.8;
}

我不确定我们是否需要这个0, 9变量,也许不需要。

相关内容