Mac终端命令行工具中出现了bogon?

这个问题很早就发现了,但一直没当回事,今天有空了就来看看它。

第一意识是先翻译bogon是什么意思:

bogon [‘bɔɡən]

n. 虚伪的人;沼泽林

这是不是有什么不对的地方?


于是搜索出现这个问题的原因,找到了以下几种解释:

这是因为终端会先向 DNS 请求查询当前 IP 的反向域名解析的结果,如果查询不到再显示我们设置的计算机名。而由于我们的 DNS 错误地将保留地址反向的 NS 查询结果返回了 bogon. 其中 bogon 本应该用来指虚假的 IP 地址,而非保留 IP 地址。因此就出现了会时不时地打印 bogon 这种奇怪名字作为计算机名的现象了

第一种原文地址

造成terminal显示的hostname变为bogon的原因有两点:terminal显示hostname之前会先根据本机IP做一次rDNS反向查询,就是通过ip地址查询hostname,过程与DNS类似。rDNS反向查询常用在traceroute以及反垃圾邮件技术中…有点扯远了。terminal显示查询到的hostname,如果没有查询到,那么使用本机设置的hostname。本机IP通常是局域网IP地址(保留IP地址),一般是查不到的,所以terminal一般显示的本机设置的hostname,比如laowang’s-macbook。
上面提到,局域网IP地址一般是查不到hostname,是因为ISP提供商或者用户防火窗的屏蔽保留IP地址,因为保留IP地址在公网中没啥用,即便是没有被屏蔽掉,rDNS服务器一般也会关闭响应保留IP地址的查询请求。凡事都有例外,rDNS服务器对这种保留IP地址对查询一律返回bogon。在ipv4对地址划分中,除了公网分配在用对IP地址外,其余保留IP地址统一叫做bogon space,好像又扯远了。

第二种原文地址

是终端会先向DNS服务器查询本地ip的方向解析结果,如果查询不到再显示计算机名。在某些网络环境中,而由于我们的 DNS为:

1,私有地址如10,172.16-32,192.168…..

2,还未正式分配出去的地址
     而DNS服务器将反向解析的 DNS 查询结果(虚拟的ip)返回给主机,而这个虚拟的ip对应的主机名为bogon。因此就出现了会时不时地打印 bogon 这种奇怪名字作为计算机名的现象了。

 


通过上面几位高人的说明,发现译文为虚伪的人还是很有道理的。不知道大家懂了没有,反正我是差不多懂了。

那接下来就来修正此问题吧。

1、修改路由器的DNS服务器地址,8.8.8.88.8.4.4。然后重启Terminal终端。

2、在终端进行设置 sudo hostname yourname,然后重启Terminal终端

 

重启之后,这时候终端显示已如你所愿。

尊重原创内容,转载请注明出处
本文链接地址: https://www.awnlab.com/archives/344

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注