[Feature]图形界面中,更多设置中,Tun DNS: 这个设置的值与配置文件中DNS设置的关系。
感谢你向 ClashX 提交 Feature Request! 在提交之前,请确认:
- [ ] 我已经在 Issue Tracker 中找过我要提出的请求
请注意,如果你并没有遵照这个 issue template 填写内容,我们将直接关闭这个 issue。
我都确认过了,我要继续提交。
请附上任何可以帮助我们解决这个问题的信息,如果我们收到的信息不足,我们将对这个 issue 加上 Needs more information 标记并在收到更多资讯之前关闭 issue。
环境 Environment
- 使用者的操作系统 (the OS running on the client) macOS 15.1
- 网路环境或拓扑 (network conditions/topology) Wifi
- iptables,如果适用 (if applicable) N/A
- ISP 有没有进行 DNS 污染 (is your ISP performing DNS pollution?) 有可能
- 其他 ……
说明 Description
如图所示:
版本:1.4.2(549)
图形界面中,更多设置中,Tun DNS: 这个设置的值与配置文件中DNS设置的关系。上面还有个:Hide Unselectable是什么作用?
可能的解决方案 Possible Solution
更多信息 More Information
我也发现在这里配置DNS之后似乎配置文件中的DNS设置就会失效,Tun模式下所有经过虚拟网卡处理的DNS请求不论过滤规则全部被发往这里配置的DNS地址。
这里的配置是解决 macOS 15 的网络问题,要完美兼容还是做成 Network Extension 才行。
这里的配置是解决 macOS 15 的网络问题,要完美兼容还是做成 Network Extension 才行。
可否请教大致是什么问题?我目前用的是macOS 15.0.1,因为DNS问题把Meta版本停留在1.3.18,不过内核是alpha通道最新,似乎没有碰到DNS分流问题。如果升级Meta反而Tun模式下所有DNS请求都不按配置文件里的规则分流了。
你的两个问题:
- Tun DNS设置后 我发现开启tun模式后,我的网络设置中,DNS会被修改成这个,也就是他直接改了你系统DNS
- 然后我看日志,DNS会通过这个DNS发一次,还会通过condig中 nameserver里的再发一次
- 我希望禁用一次,因为两次DNS很奇怪(因为我在config中配置的也是 system),config中如果启用DNS模块,不配置nameserver会不给通过
- Hide Unselectable 我测试是把那些你配置为url-test的(也就是自动测速的,不可选择的),在toolbar里给隐藏而已,这个影响不大
经我测试,以下配置和版本可以正常使用配置文件中指定的 DNS,分流应该也是生效的: Version: v1.4.5 (556) Meta Core: v1.18.10 e9178a1-v1.4.5 2024-11-10 10:29 macOS 15.2
配置文件其他不变,下面需要修改: tun: stack: gvisor ... dns: enhanced-mode: fake-ip fake-ip-range: 198.18.0.1/16
图形界面: 更多设置->Tun DNS:198.18.0.2
你的两个问题:
- Tun DNS设置后 我发现开启tun模式后,我的网络设置中,DNS会被修改成这个,也就是他直接改了你系统DNS
- 然后我看日志,DNS会通过这个DNS发一次,还会通过condig中 nameserver里的再发一次
- 我希望禁用一次,因为两次DNS很奇怪(因为我在config中配置的也是 system),config中如果启用DNS模块,不配置nameserver会不给通过
- Hide Unselectable 我测试是把那些你配置为url-test的(也就是自动测速的,不可选择的),在toolbar里给隐藏而已,这个影响不大
图形界面默认的 tun dns 是 8.8.8.8, 会导致都被解析成 ip, 基于域名的规则失效, 改成一个假的就正常了
取消TUN模式时 被修改的系统 DNS 不会自动还原 ,以前的版本是会自动还原的
图形界面默认的 tun dns 是 8.8.8.8, 会导致都被解析成 ip, 基于域名的规则失效, 改成一个假的就正常了
我试了下改成假的 dns 会直接无法上网,能详细说明一下该怎么操作吗?
经我测试,以下配置和版本可以正常使用配置文件中指定的 DNS,分流应该也是生效的: Version: v1.4.5 (556) Meta Core: v1.18.10 e9178a1-v1.4.5 2024-11-10 10:29 macOS 15.2
配置文件其他不变,下面需要修改: tun: stack: gvisor ... dns: enhanced-mode: fake-ip fake-ip-range: 198.18.0.1/16
图形界面: 更多设置->Tun DNS:198.18.0.2
你的两个问题:
- Tun DNS设置后 我发现开启tun模式后,我的网络设置中,DNS会被修改成这个,也就是他直接改了你系统DNS
- 然后我看日志,DNS会通过这个DNS发一次,还会通过condig中 nameserver里的再发一次
- 我希望禁用一次,因为两次DNS很奇怪(因为我在config中配置的也是 system),config中如果启用DNS模块,不配置nameserver会不给通过
- Hide Unselectable 我测试是把那些你配置为url-test的(也就是自动测速的,不可选择的),在toolbar里给隐藏而已,这个影响不大
这个非常有用,已经解决tun模式打不开某些网页的问题了,例如google
你的两个问题:
- Tun DNS设置后 我发现开启tun模式后,我的网络设置中,DNS会被修改成这个,也就是他直接改了你系统DNS
- 然后我看日志,DNS会通过这个DNS发一次,还会通过condig中 nameserver里的再发一次
- 我希望禁用一次,因为两次DNS很奇怪(因为我在config中配置的也是 system),config中如果启用DNS模块,不配置nameserver会不给通过
- Hide Unselectable 我测试是把那些你配置为url-test的(也就是自动测速的,不可选择的),在toolbar里给隐藏而已,这个影响不大
在我的MacOS里,这个位置的DNS填198.18.0.2,或者223.5.5.5之类的真实DNS,上网都不受影响,但不管填哪个,我访问的所有域名都会触发DNS查询,哪怕我的配置文件里面完全没有IPCIDR的规则,只有域名规则。比如我测试配置中,只有一条“domain-suffix, google.com, 新加坡”这样的,我访问Google它确实成功走代理,但按道理是不应该触发DNS查询的,因为域名已经匹配了,可是在日志里却会看到触发DNS查询的记录,并且如你所说,会触发两次DNS查询。同样的配置,我试用了目前最新的那个Clash Mi,则不会有这个问题,当然Clash Mi采用网络扩展的模式实现TUN,我觉得ClashX Meta是不是也可以考虑一下这个方向?