ClashX.Meta icon indicating copy to clipboard operation
ClashX.Meta copied to clipboard

[Feature]图形界面中,更多设置中,Tun DNS: 这个设置的值与配置文件中DNS设置的关系。

Open lyyx5858 opened this issue 1 year ago • 7 comments

感谢你向 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是什么作用?

iShot_2024-10-04_11 02 40

可能的解决方案 Possible Solution

更多信息 More Information

lyyx5858 avatar Oct 04 '24 16:10 lyyx5858

我也发现在这里配置DNS之后似乎配置文件中的DNS设置就会失效,Tun模式下所有经过虚拟网卡处理的DNS请求不论过滤规则全部被发往这里配置的DNS地址。

cyriltian avatar Oct 06 '24 13:10 cyriltian

这里的配置是解决 macOS 15 的网络问题,要完美兼容还是做成 Network Extension 才行。

cntrump avatar Oct 29 '24 04:10 cntrump

这里的配置是解决 macOS 15 的网络问题,要完美兼容还是做成 Network Extension 才行。

可否请教大致是什么问题?我目前用的是macOS 15.0.1,因为DNS问题把Meta版本停留在1.3.18,不过内核是alpha通道最新,似乎没有碰到DNS分流问题。如果升级Meta反而Tun模式下所有DNS请求都不按配置文件里的规则分流了。

cyriltian avatar Oct 29 '24 05:10 cyriltian

你的两个问题:

  1. Tun DNS设置后 我发现开启tun模式后,我的网络设置中,DNS会被修改成这个,也就是他直接改了你系统DNS
  2. 然后我看日志,DNS会通过这个DNS发一次,还会通过condig中 nameserver里的再发一次
  3. 我希望禁用一次,因为两次DNS很奇怪(因为我在config中配置的也是 system),config中如果启用DNS模块,不配置nameserver会不给通过
  4. Hide Unselectable 我测试是把那些你配置为url-test的(也就是自动测速的,不可选择的),在toolbar里给隐藏而已,这个影响不大

isaac960623 avatar Nov 26 '24 10:11 isaac960623

经我测试,以下配置和版本可以正常使用配置文件中指定的 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

你的两个问题:

  1. Tun DNS设置后 我发现开启tun模式后,我的网络设置中,DNS会被修改成这个,也就是他直接改了你系统DNS
  2. 然后我看日志,DNS会通过这个DNS发一次,还会通过condig中 nameserver里的再发一次
  3. 我希望禁用一次,因为两次DNS很奇怪(因为我在config中配置的也是 system),config中如果启用DNS模块,不配置nameserver会不给通过
  4. Hide Unselectable 我测试是把那些你配置为url-test的(也就是自动测速的,不可选择的),在toolbar里给隐藏而已,这个影响不大

cc239 avatar Dec 01 '24 17:12 cc239

图形界面默认的 tun dns 是 8.8.8.8, 会导致都被解析成 ip, 基于域名的规则失效, 改成一个假的就正常了

Ginger2017 avatar Jan 04 '25 12:01 Ginger2017

取消TUN模式时 被修改的系统 DNS 不会自动还原 ,以前的版本是会自动还原的

binarrii avatar Mar 14 '25 04:03 binarrii

图形界面默认的 tun dns 是 8.8.8.8, 会导致都被解析成 ip, 基于域名的规则失效, 改成一个假的就正常了

我试了下改成假的 dns 会直接无法上网,能详细说明一下该怎么操作吗?

zwyyy456 avatar May 13 '25 02:05 zwyyy456

经我测试,以下配置和版本可以正常使用配置文件中指定的 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

你的两个问题:

  1. Tun DNS设置后 我发现开启tun模式后,我的网络设置中,DNS会被修改成这个,也就是他直接改了你系统DNS
  2. 然后我看日志,DNS会通过这个DNS发一次,还会通过condig中 nameserver里的再发一次
  3. 我希望禁用一次,因为两次DNS很奇怪(因为我在config中配置的也是 system),config中如果启用DNS模块,不配置nameserver会不给通过
  4. Hide Unselectable 我测试是把那些你配置为url-test的(也就是自动测速的,不可选择的),在toolbar里给隐藏而已,这个影响不大

这个非常有用,已经解决tun模式打不开某些网页的问题了,例如google

kobeng avatar Aug 08 '25 02:08 kobeng

你的两个问题:

  1. Tun DNS设置后 我发现开启tun模式后,我的网络设置中,DNS会被修改成这个,也就是他直接改了你系统DNS
  2. 然后我看日志,DNS会通过这个DNS发一次,还会通过condig中 nameserver里的再发一次
  3. 我希望禁用一次,因为两次DNS很奇怪(因为我在config中配置的也是 system),config中如果启用DNS模块,不配置nameserver会不给通过
  4. 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是不是也可以考虑一下这个方向?

xiuwhy avatar Oct 01 '25 15:10 xiuwhy