我有一个 XenServer 安装,每天使用一个脚本创建 Debian (lenny) 机器,该脚本从模板创建机器并为其分配一个新的主机名。
我们的网络有一个用作 DHCP 服务器的 Fortinet 60B 设备和一个也用作 DNS 服务器的 Microsoft Windows 2008 DC。我想将 VM 模板配置为在从 DHCP 获得租用 IP 时将其主机名发送到 DNS 服务器。
目前,Fortinet 将 DC 与 IP 租约一起分配为 DNS 服务器。我尝试在 /etc/dhcp3/dhclient.conf 中添加“发送主机名“我的主机名”行,但在 DC 中没有任何更新。
所以基本上你希望你的客户将他们的主机名发送到你的 DNS 服务器?
这适用于 Windows 客户端,但对于 Linux 机器,我会反过来:设置您的客户端向 DHCP 服务器询问 IP和主机名。使用“请求主机名”选项,dhclient 要求 DHCP 服务器发送主机名和 IP 地址,然后设置 VM 的主机名。
当然,您需要在 DNS 中为 DHCP 范围内的每个 IP 地址准备一个主机名。
这样您就没有 DNS 缓存/传播延迟问题,并且您可能拥有一个包含所有 IP 和主机名的中心位置 - 您的 DNS 服务器。
我不知道您设备的 DHCP 服务器是否支持发送主机名 - 大多数都支持,但我认为这是 Linux 客户端最简单的方法。
注意:如果您配置了 DHCP 服务器,使同一台机器总是获得相同的 IP 地址(例如使用 mac 地址),那么它显然也总是获得相同的主机名。在某些 DHCP 服务器上,您可以在配置文件中直接使用主机名而不是 IP 地址。
我最终使用了一个脚本,该脚本在从模板创建 VM 后以及每次启动时运行 nsupdate。
这有点类似于我自己的问题。看看我对收到的唯一答案的最终评论,我指的是 dhclient.conf。
我发现让未加入域的计算机在 Windows DC\DNS 服务器上注册和更新其 DNS 记录需要两件事:
配置 DC\DNS 服务器以允许安全和不安全的动态 DNS 更新。
配置未加入域的主机的 FQDN 以匹配您的 AD\DNS 名称:如 host.domain.com
唔。从来没有尝试过这个确切的配置——我已经让 Linux 客户端与 Windows DHCP 服务器一起工作,但在那个设置中,DHCP 服务器会进行更新。不确定 Fortinet 盒子是否做同样的事情。
您可以尝试让客户端直接与 DNS 服务器对话;就像是:
在 /etc/dhcp3/dhclient.conf 中。检查
man dhclient.conf
更多信息。我必须至少send fqdn.fqdn
设置才能让它在我的设置中工作。您还必须启用对 DNS 区域的不安全更新。
许多人可能认为这非常明显,但请务必指定您自己的请求指令,
dhclient.conf
其中不请求主机名或域名。我的发行版的默认设置是:请注意,这会从服务器请求主机名和域名,这会使
send host-name ...
指令无效。我的请求和发送主机指令如下所示: