加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 当我没有在dhclient.conf中定义一个时,我的DHCP服务器

发布时间:2020-12-13 18:23:54 所属栏目:Linux 来源:网络整理
导读:我正试图在我们的网络上解决与DHCP相关的一些时髦的DNS问题(我怀疑我们目前运行的是多个DHCP服务器),并且在试图解决这个问题时,我发现有一些奇怪的新服务器我只是建立. 有问题的服务器是运行Ubuntu 9.10服务器的Xen虚拟机.物理Xen服务器也在我们的网络上,当
我正试图在我们的网络上解决与DHCP相关的一些时髦的DNS问题(我怀疑我们目前运行的是多个DHCP服务器),并且在试图解决这个问题时,我发现有一些奇怪的新服务器我只是建立.

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

我检查了dhclient.eth0.leases文件以查看配置的内容,并看到该机器所在的旧网络中的旧DHCP租约仍然存在,以及它当前连接到的办公网络的新DHCP租约.我立即注意到了两件事:

>来自先前网络的旧DHCP租约信息没有选项主机名行,我认为这意味着VM的原始VirtualBox版本未将此选项发送到DHCP服务器.或者这是否意味着旧的DHCP服务器不支持DHCP主机名选项?当时正在使用VirualBox的内部DHCP服务器……
>新的DHCP租约信息确实有一个选项host-name行,其中包含服务器的正确当前主机名(“fozzie”).如果我理解正确,这意味着服务器将其主机名发送到我们网络上的DHCP服务器.

关于这一切,我有很多不明白的事情.

首先,我没有在任何时候为服务器更改dhclient.conf;它使用默认配置.实际上它逐字包含以下行:

发送主机名“< hostname>”

所以我的第一个问题是,如果配置没有设置为首先发送它,它是如何知道发送服务器的真实主机名?

第二,为什么第一个DHCP租约(对于旧网络)不包括选项主机名,但第二个DHCP租约(在新网络上)确实包含它,如果我没有触及任何配置文件?

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

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

解决方法

好吧,经过长时间浏览互联网并尝试阅读手册页后,我大部分都知道发生了什么:

[H]ow in the heck did it know to send
the server’s real hostname if the
configuration isn’t set up to send it
in the first place?

显然,发送主机名“< hostname>”,更具体地说,< hostname>,对Ubuntu具有特殊意义.它告诉dhclient将您机器的当前主机名发送到DHCP服务器.请注意,这是区分大小写的(例如,如果您键入< HOSTNAME&gt ;,则dhclient会将文字文本< HOSTNAME>发送到DHCP服务器).据报道here和here,这适用于Ubuntu Feisty及以上版本,是一个补丁(讽刺性地)解决dhclient默认情况下不发送机器主机名的问题的一部分.

[W]hy did the first DHCP lease (for the
old network) not include option
host-name,but the second DHCP lease
(on the new network) did include it,
if I haven’t touched any of the
configuration files?

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

When I run hostname,the server
returns fozzie.our.domain,but
dhclient.eth0.leases says the hostname
option was set to fozzie (no domain).
How did it know to strip off the
domain?

这是我不完全理解DHCP的复杂性.我们的DHCP服务器已设置为使用我们的域配置所有客户端.我猜测DHCP服务器足够聪明,可以从客户端发送的主机名中删除域名部分.

任何人都有任何更正或澄清添加到这个答案?它似乎仍然有点“手工波浪”,所以我不会原样接受它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读