MacOS 终端显示 bogon 问题及解决方案

最近使用 Mac 时,发现终端中命令提示符前面的主机名错误地显示成bogon。搜索了一下,不止我一个人遇到了这个问题。

现将该问题的原因和解决方案记录如下:

原因:

Bogon 是一个计算机网络术语,源于“虚假”(bogus)一词,指代未被 IANA 正式分配或在公共互联网上无效的 IP 地址空间,主要包括私有地址、本地链路地址等。很多 DNS 服务器会将这些地址段的 IP 反向查询返回为bogon,以标识其为非公共网络。

MacOS 中,用于终端提示符的变量是HostName,当HostName没有被显式设置,在某些网络条件下,系统内核可能会将反向 DNS 的查询结果作为临时主机名。

我们需要解决的问题是:如何让终端只显示我们设置计算机名,避免受到 DNS 反向解析的干扰。

解决方案:

步骤一:设置主机名

在终端中依次执行以下命令(将defined_hostname替换成自定义的主机名)

sudo hostname defined_hostname
sudo scutil --set HostName defined_hostname
sudo scutil --set LocalHostName defined_hostname

其中:

  • sudo hostname:只改变当前内核的主机名,重启后失效
  • LocalHostName:用于 Bonjour 网络标识
  • HostName:由 Shell 和终端会话使用

步骤二:配置本地hosts文件,确保本地回环地址能正确解析到主机名

修改/etc/hosts文件

127.0.0.1	localhost defined_hostname
::1       localhost YourMacName

这就保证了ssh defined_hostnameping defined_hostname 等命令在本地网络正常工作。

验证:打开一个新的终端窗口,或重启终端,主机名应该已经固定成自定义的名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值