我在网络上使用bind9
和安装了 DHCP+DNS isc-dhcp-server
。它适用于所有配置了“正确”主机名且无需在dhcpd.conf
服务器中进行任何特殊设置的客户端。我还使用以下块设置了几台固定地址的主机:
option domain-name "dyna.mynet";
host someserver {
hardware ethernet 00:11:22:33:44:55;
fixed-address someserver.mynet; # someserver.mynet has a DNS entry in bind9
server-name "nameserver.mynet";
}
因此,使用上述方法,可以通过someserver.mynet
和 通过访问该主机someserver.dyna.mynet
。
但是,如果没有,fixed-address
我就无法使这样的主机部分正常工作。
例如,同一主机块中的另一个主机块dhcpd.conf
host worklaptop {
hardware ethernet AA:BB:CC:DD:EE:00;
}
我也尝试过:
host worklaptop {
hardware ethernet AA:BB:CC:DD:EE:00;
option host-name "worklaptop";
}
都不起作用。我没有Added new forward map from ...
在日志中看到任何我期望的条目。
还有什么需要补充的吗?
编辑:
根据其中一条评论,我只是想澄清一下,我不需要更改实际的设备主机名。我只需要添加一个 DNS 条目,这样我就可以使用 DNS 名称来寻址这些设备。
相关信息:
我认为笔记本电脑的问题可能是因为它是一台 Windows 笔记本电脑,并使用完整的 AD 域名(例如)来宣传主机名。而我的 LAN 中worklaptop.mywork.com
没有 DNS 区域。mywork.com
其他没有名称的设备包括 Elgato 灯之类的设备,它们的主机名中有空格。我似乎也无法使用文件host
中的这些块覆盖这些主机名dhcpd.conf
。
答案1
DNS 条目的名称应由要为其ddns-hostname
创建 DNS 记录的每个客户端的选项指定。根据dhcpd.conf 手册页:
ddns-主机名名称;
name 参数应为用于设置客户端 A 和 PTR 记录的主机名。如果 scope 中未指定 ddns-hostname,则服务器将使用针对每种不同更新方法而不同的算法自动派生主机名。
请注意,应该ddns-hostname
仅包含主机名,域名将使用domain-name
选项中给出的值附加。