天行健,君子以自强不息;地势坤,君子以厚德载物;

MacOS修复主机名被篡改为bogon

升级到 MacOS Catalina Beta 8 后,打开终端,发现主机名变为bogon了,什么鬼?新装的系统,系统也是从官方远程安装的,不存在被黑的问题,那么肯定是系统自身原因了

经过一番搜索查找,造成主机名被篡改为bogon的原因有两点:

1、terminal显示hostname之前会先根据本机IP做一次rDNS反向查询,就是通过ip地址查询hostname,过程与DNS类似。rDNS反向查询常用在traceroute以及反垃圾邮件技术中…有点扯远了。terminal显示查询到的hostname,如果没有查询到,那么使用本机设置的hostname。本机IP通常是局域网IP地址(保留IP地址),一般是查不到的,所以terminal一般显示的本机设置的hostname,比如MyMAC。

2、上面提到,局域网IP地址一般是查不到hostname,是因为ISP提供商或者用户防火窗的屏蔽保留IP地址,因为保留IP地址在公网中没啥用,即便是没有被屏蔽掉,rDNS服务器一般也会关闭响应保留IP地址的查询请求。凡事都有例外,rDNS服务器对这种保留IP地址对查询一律返回bogon。在ipv4对地址划分中,除了公网分配在用对IP地址外,其余保留IP地址统一叫做bogon space,好像又扯远了。

那就明白了,bogon是因为反向解析的结果导致的。

但是看着被篡改的主机名,强迫症表示不能忍,因为主机IP是通过DHCP获取的,所以网上说的修改DNS的方式并不合适。于是找到了如下解决方案:

sudo hostname your-desired-host-name

sudo scutil --set LocalHostName $(hostname)

sudo scutil --set HostName $(hostname)

sudo scutil --set ComputerName $(hostname)

然后再打开终端,就是本机设置的主机名了。

点赞

发表回复