OS X 中的主机名不正确?

OS X 中的主机名不正确?

在此处输入图片描述

我不确定为什么主机名现在是 jessica-s-phone。我使用的是公共 wifi,经过谷歌搜索发现主机名是由 DNS 设置的,那么我的 iTerm 是否可能选择了某人的手机作为主机?

答案1

主办方通过 DHCP 接收主机名,但这并不常见。更常见的是,他们通过 DHCP 获取 IPv4 地址,然后进行反向 DNS 查找以确定该 IP 地址的主机名。

要查看您是否恰好通过 DHCP 获取了主机名,请运行ipconfig getpacket en1en1用相关 Wi-Fi 接口的正确 BSD 级接口标识符替换。是的,OS X 有一个ipconfig,不,它与 Windows 的 完全不同ipconfig)。输出的底部将是 DHCP 消息选项及其值的列表。如果您看到“hostname”或“client fqdn”,那么可以肯定,您的 DHCP 服务器为您提供了主机名。如果您没有看到任何一个,那么您可能从 DNS 获得了它。在这种情况下,看看它指向哪个 DNS 服务器。它可能指向本地网络上的 DNS 服务器,也许内置在路由器本身中。

使用ifconfig en1(再次,en1如有必要,请替换)查看您在该接口上拥有的 IPv4 地址。使用host $IPADDR(替换$IPADDR为您的 IPv4 地址)查看您当前的 DNS 系统视图认为您的主机名是什么。

答案2

这种情况很正常;当您远程登录终端时,bash 会进行反向 DNS 查找。只有当您连接的网络上未指定主机名且 DHCP 服务器没有回复,或者对远程 DNS 服务器的反向查找无法解析时,才会发生这种情况。

您可以在终端中使用此命令轻松覆盖默认设置:

sudo scutil --set HostName <your hostname>

您可以使用以下方法进行检查:

nslookup nn.nn.nn.nn

( or )

host nn.nn.nn.nn

(其中 nn 表示你的 Mac 的 IP 地址)

答案3

这不是由 决定的DNS,但实际上DHCP- 可能是为了避免本地网络上的冲突。您显然被视为以前连接的客户端,也许路由器根据 MA​​C 相似性做出决定(但这只是猜测)。

如果你想禁用该功能,可以使用以下方式sudo编辑/etc/hostconfig

HOSTNAME=<yourhostname>.local

相关内容