MacOS 使用SwitchHosts修改 hosts 不生效的原因及解决方法

2022-10-13 09:40:42 浏览数 (1)

MacOS 使用SwitchHosts修改 hosts 不生效的原因及解决方法

使用switch host修改mac hosts后,cat 发现hosts已经修改成功。 

 但是ping的时候发现,域名解析的ip还是老的。

翻了很多资料,在windows下并没有这种情况。

最后在stackoverflow上发现如下咨讯:

This is because macOS Catalina has another thing going; it will only make changes in the hosts file effective if you change them as the root user !!

我使用的系统是MacOs Monterey,我猜测系统应该是做相同的权限处理。

这也就解释了,为什么hosts修改成功了,但是本地dns还是读取的老的IP。

 可以看到hosts文件的修改权限是本地用户。

所以解决方法也就有两种了。

1.执行sudo killall mDNSResponder,手动刷新本地dns缓存。

2.使用sudo vim hosts命令修改hosts文件。

0 人点赞