AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 102538
In Process
Mike Spross
Mike Spross
Asked: 2010-01-14 21:12:13 +0800 CST2010-01-14 21:12:13 +0800 CST 2010-01-14 21:12:13 +0800 CST

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

  • 772

我正在尝试解决与我们网络上的 DHCP 相关的一些时髦的 DNS 问题(我怀疑我们目前正在运行不止一个 DHCP 服务器),并且在试图解决这个问题时,我注意到我刚刚使用的新服务器有些奇怪设置。

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

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

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

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

关于这一切,我有很多不明白的地方。

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

send host-name "<hostname>"

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

第二,为什么第一个 DHCP 租约(旧网络)不包含option host-name,但第二个 DHCP 租约(新网络)确实包含它,如果我没有触及任何配置文件?

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

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

linux ubuntu domain-name-system dhcp
  • 1 1 个回答
  • 20321 Views

1 个回答

  • Voted
  1. Mike Spross
    2010-01-15T21:20:38+08:002010-01-15T21:20:38+08:00

    好的,在互联网上搜索了很长时间并尝试通读man页面后,我基本上弄清楚了发生了什么:

    [H]如果配置没有设置为首先发送它,它怎么知道发送服务器的真实主机名?

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

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

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

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

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

    有人对此答案有任何更正或澄清吗?它似乎仍然有点“手摇”,所以我不会按原样接受。

    • 12

相关问题

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve