当我没有在dhclient.conf中定义一个DHCP服务器时,我的DHCP服务器如何知道我的机器的主机名?

我试图解决一些在我们的networking上与DHCP有关的时髦的DNS问题(我怀疑我们现在有多个DHCP服务器在运行),并试图弄清楚这一点,我注意到一个新的服务器build立。

有问题的服务器是运行Ubuntu 9.10服务器的Xen虚拟机。 物理Xen服务器也在我们的networking上,当我在Xen中第一次启动虚拟机时(我从我的机器上运行的本地Virtualbox VM导入,在不同的networking上运行),它得到了一个从我们的办公室networkingDHCP租赁,一切都很好。

我检查了dhclient.eth0.leases文件,看看configuration的是什么,看到机器上一个networking的旧DHCP租约还在,还有当前连接到的办公networking的新DHCP租约。 有两件事我马上注意到了:

  1. 来自以前networking的旧的DHCP租用信息没有options host-name行,我认为VM的原始VirtualBox版本没有将此选项发送到DHCP服务器。 或者这是否意味着旧的DHCP服务器不支持DHCP主机名选项? 当时正在使用VirualBox的内部DHCP服务器…

  2. 新的DHCP租约信息确实有一个options host-name行,其中包含服务器当前的正确主机名(“fozzie”)。 如果我理解正确,这意味着服务器将它的主机名发送到我们networking上的DHCP服务器。

有很多事情我不明白这一切。

首先 ,我没有在任何时候改变服务器的dhclient.conf ; 它使用默认configuration。 实际上它包含以下逐字逐句:

send host-name "<hostname>"

所以我的第一个问题是,如果configuration没有被设置为首先发送,那么如何发送服务器的真实主机名呢?

其次 ,为什么第一次DHCP租约(对于旧networking)不包括option host-name ,但是第二次DHCP租约(在新networking上)包括它,如果我没有触及任何configuration文件?

我所做的只是将原始的VirtualBox机器导出为OVF,然后将其导入到XenServer中,那么如果它甚至没有在dhclient.confconfiguration实际的主机名称,它是如何通过DHCP神奇地configuration我的主机名的?

第三 :当我运行hostname ,服务器返回fozzie.our.domain ,但dhclient.eth0.leases说主机名选项设置为fozzie (无域)。 它如何知道剥离域?

好吧,经过漫长的时间拖网和试图阅读man页,我主要是想知道发生了什么事情:

如果configuration没有设置为发送它,那么在发送服务器的真实主机名的时候,[H] ow知道了吗?

显然, send host-name "<hostname>" ,更具体地说, <hostname>在Ubuntu上具有特殊意义。 它告诉dhclient将你的机器的当前主机名发送到DHCP服务器。 请注意,这是区分大小写的(即如果您键入<HOSTNAME> ,dhclient会将文本文本<HOSTNAME>发送到DHCP服务器)。 正如在这里和这里所报告的,这在Ubuntu Feisty及更高版本上工作,作为补丁的一部分(具有讽刺意味的是)解决了dhclient默认不发送机器主机名的问题。

如果我没有触及任何configuration文件,那么第一个DHCP租约(对于旧networking)不包括选项主机名,但第二个DHCP租约(在新networking上)确实包含了它。

这似乎是因为并不是所有的DHCP服务器都会将主机名回显给客户端。 昨天我们仍然使用基于Linux的ClarkConnect路由器作为我们的DHCP服务器,它将主机名称反馈给每个客户端。 今天,我们禁用了该服务器上的DHCP,并切换到使用我们主域控制器上的内置DHCP服务器。 我们的PDC租约从PDC不包括option host-name ,但它似乎没有影响任何东西。 机器在DNS中得到更新,他们都可以通过主机名find对方。

当我运行hostname ,服务器返回fozzie.our.domain ,但dhclient.eth0.leases说主机名选项设置为fozzie (没有域)。 它如何知道剥离域?

这是我不完全了解DHCP的错综复杂。 我们的DHCP服务器被设置为使用我们的域configuration我们所有的客户端。 我猜DHCP服务器足够聪明,可以从客户端发送的主机名中删除域名部分。

任何人有任何更正或澄清添加到此答案? 它仍然有点“手摇”,所以我不会接受它。