解决Clash代理时内网无法正常访问
Clash为了避免DNS污染,会代理电脑的DNS服务,企业内网域名解析往往是内部的DNS服务器,不在Clash配置的DNS服务中,所以无法解析,或者解析到错误的地址,导致无法访问。
例如
我的在线Clash Profile配置中,nameserver
指向的是这几个DNS服务器,不包含我的内网域名服务器。
1 | dns: |
解决办法
利用Clash的Mixin可以覆盖配置的方法,可以重写从代理服务器获取的配置。见下图:
注意
Mixin默认脚本可能是YAML格式的,这种格式不方便操作,可以先去 Setting->Mixin 将Type修改为Javascript
1、对特定域名使用指定的DNS服务器
指定内网域名的DNS服务器,参考文档说明:
点击Mixin旁边的设置按钮
假设我们内网的域名是:+.wastrel.top
+.wastrel.top 可以匹配:wastrel.top, aaa.wastrel.top, aa.bb.wastrel.top
内网DNS服务器:192.168.75.10
编辑脚本:
1 | module.exports.parse = ({ content, name, url }, { yaml, axios, notify }) => { |
然后打开Mixin功能。
然后点这个图标,查看当前Clash的配置,检查修改的配置是否生效:
检查内网和Google访问是否正常。
后记
其他想要重写VPN给的默认配置的操作也可以通过Mixin完成。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 学习日记!
评论