注意:本文所提的方法,在 ClashX 自动更新订阅配置后就自动失效了,因为被覆盖了。建议手动写一个定时脚本刷新一下,避免失效。
在平时的开发中,我们尝尝会自定义一些诸如 local.abc.com
、dev.xxx.cn
之类的域名指向本机地址,这些通常都是配置在 /etc/hosts
文件里的。
以前使用的是 V2RayX
、V2RayU
之类的工具,不影响,但由于前两款软件业界支持度不高且在 mac 使用 M 系列芯片后更新不及时,故而改用 ClashX。但在使用 ClashX 后,发现默认配置下自己配置的 hosts 都不生效了。
搜了一圈,原来是 ClashX 为了解决 DNS 污染的问题,有一个替代的 DNS 解析功能,坏消息是 hosts 的配置失效了。
解决办法
打开配置文件夹:
![](https://v2mac.oss-cn-shanghai.aliyuncs.com/wp-content/uploads/2023/11/d2b5ca33bd970f64a6301fa75ae2eb22-18.png)
找到你当前使用的配置文件,使用文本编辑器(如 VSCode、Sublime)打开:
![](https://v2mac.oss-cn-shanghai.aliyuncs.com/wp-content/uploads/2023/11/d2b5ca33bd970f64a6301fa75ae2eb22-19.png)
配置文件通常是 .yaml
文件,找到 dns 配置,将 enable
改为 false 即可:
![](https://v2mac.oss-cn-shanghai.aliyuncs.com/wp-content/uploads/2023/11/d2b5ca33bd970f64a6301fa75ae2eb22-20.png)
然后重载配置(一般改完后会自动提示),即可生效。
本人实测问题解决。
如果你的系统是 Windows ,还有另一种解决办法
如果是 Windows 的话,还可以直接修改系统网络配置,直接指定域名忽略:
![](https://v2mac.oss-cn-shanghai.aliyuncs.com/wp-content/uploads/2023/11/d2b5ca33bd970f64a6301fa75ae2eb22-21-1024x760.png)
macOS 下我发现改不了(还是 Windows 更强大啊。。。):
![](https://v2mac.oss-cn-shanghai.aliyuncs.com/wp-content/uploads/2023/11/d2b5ca33bd970f64a6301fa75ae2eb22-22.png)