原因
总结:网络环境问题
- hostname
开机后系统,会进行rDNS解析(反向域名解析,获取IP地址然后查询域名),将解析到的域名赋值给HOSTNAME - 路由器
因为网络环境中使用了路由器,所以本机分配到的ip是局域网地址(192.168.X.X,如下图), 这属于保留IP,正经DNS服务器(例如Google DNS:8.8.8.8)不会对其进行rDNS解析,所以会使用localhostname作为主机名(比如xxx’s Macbook) - DNS服务器(问题所在)
问题在于本地ISP的DNS服务器大多不正经,会将私有地址、保留地址错误的解析成bogon(“虚拟的”)
解决
- 修改hostname:
sudo scutil --set HostName 你的新主机名
- 修改DNS: 参见link
参考
- https://apple.stackexchange.com/questions/175778/mac-terminal-prompts-machine-name-becomes-bogon-after-using-traceroute?newreg=2e1c2b105cf344cb84b421b8c313e9a8
- https://zhuanlan.zhihu.com/p/55827741
- https://blog.csdn.net/bandaoyu/article/details/83312875