我有一台运行 Bind 9.5.0 和 DHCP 3.0.6 的 Linux Fedora 服务器。Bind 配置为允许更新(我仅显示了部分配置,但反向部分也在那里):
zone "myhome.org" IN {
type master;
file "named.myhome.org";
allow-update { key "myrndckey"; };
notify yes;
};
并且 DHCP 配置为向 Bind 提供更新:
zone myhome.org. {
primary 192.169.1.1;
key "myrndckey";
}
当 Windows DHCP 客户端连接到我的网络时,我可以通过nslookup
(dig
等) 看到它。但是,当 Linux DHCP 客户端连接时,虽然它成功获得了 DHCP 租约,但其名称和地址并未出现在 DNS 中。
有人知道我的配置中可能缺少什么导致这种情况吗?可能是我的 Linux 客户端配置中缺少了什么吗?
答案1
您的 Linux 客户端配置需要更新。添加以下行
发送主机名“主机名”;
相当于 /etc/dhcp3/dhclient.conf。(这是 Debian 存储 DHCP 客户端配置文件的地方。)这将告诉 DHCP 服务器您的 Linux 客户端的主机名。DHCP 服务器现在应该为您的 Linux 客户端配置适当的 DNS 条目。
答案2
Windows 客户端可能会根据 DHCP 服务器提供的关键信息自行更新 DNS 服务器。
答案3
也许您需要在您的 Linux DHCP 服务器中添加类似的东西?(/etc/dhcpd.conf)
ddns-domainname "example.com.";
ddns-rev-domainname "in-addr.arpa.";
ddns-update-style interim;
ddns-updates on;
答案4
这可能是因为您的 Fedora DHCP 客户端实现没有所有设置。检查您的 /etc/sysconfig/network-scripts/ifcfg-ethX,其中 X 可以是 0 或 1 或其他...取决于您的主网卡是什么,以及您有多少个网卡等。
我相信你需要:DHCP_HOSTNAME = your_hostname
将其主机名传递到 DHCP 服务器,然后它可以通过 DDNS 将其传递到 DNS 服务器。从 Linux 客户端到服务器捕获 DHCP 事务的网络数据包,并确保您看到传递主机名的相应选项。我认为是选项 12。
祝你好运。