当我在 Snow Leopard 上收到 DHCP 请求时,如何阻止 Mac OS X 覆盖我的主机名?

Mik*_*aid 86 dhcp osx-snow-leopard hostname macos

每当我进入 DHCP 服务器分配主机名的网络时,它就会覆盖我在系统偏好设置的“共享”部分为我的 Mac 上的主机名设置的设置。

如何阻止这种行为的发生并始终在 Snow Leopard 下设置相同的主机名?

Wol*_*olf 136

在终端中设置它:

sudo scutil --set HostName <putinyourhostname_or_fqdn_here>
Run Code Online (Sandbox Code Playgroud)

像:

sudo scutil --set HostName server1.mynetwork.com
Run Code Online (Sandbox Code Playgroud)

  • 适用于 10.9.... (12认同)
  • 验证这也适用于 Mountain Lion (10.8.2) (5认同)
  • 验证这也适用于 Leopard (Mac OS X 10.5.8)。 (3认同)
  • 在 Snow Leopard (Mac OS X 10.6.2) 中不需要 sudo (3认同)
  • 也适用于 Lion (10.7.2) (2认同)
  • 事实证明,默认值是未设置的。取消设置的命令是 `scutil --set Hostname ""`。 (2认同)
  • 在 10.11 上工作。 (2认同)

ben*_*enc 27

简而言之:默认情况下,Mac OS 使用一种自动魔术行为。

您可以在 /etc/hostconfig 中关闭它。

http://excitedcuriosity.wordpress.com/2007/08/24/mac-os-x-hostname-determination/

我喜欢 Jack M. 的答案,但它在现实世界 DHCP 环境的许多环境中不起作用,因为您与 DHCP 服务器没有预先存在的关系。只有在家庭设置或公司设置(IT 人员可以提供帮助)中,您才能通过 DHCP 获得所需的主机名。


/etc/hostconfig添加这样的事情:

HOSTNAME=your_hostname.your_domain.your_tld
Run Code Online (Sandbox Code Playgroud)

如果您想再次将其设置为自动,请删除该行或将其设置为 -AUTOMATIC-

  • 对于 10.6+,请参阅@Wolf 的回答 (6认同)
  • 此答案需要针对 10.6 更新。我正在看 10.5,并且已经非常不同了。 (2认同)

Jac*_* M. 19

根据 DHCP 的设置方式,您或许可以使用“DHCP 客户端 ID”。

  1. 系统偏好设置。
  2. 网络
  3. 在左侧选择您的网络适配器。
  4. 选择底部的“高级”按钮。
  5. 将“DHCP 客户端 ID”设置为您的主机名。

如果您的 DHCP 服务器支持它,您的主机名将用于您的机器。

  • @杰克M。DHCP 客户端 ID 只是指在 DHCP 协商过程中将客户端 ID 发送给服务器;无需提供客户端 ID 即可将其发送到 DNS。 (3认同)