
我希望 Clash:
我不需要靠 Clash 应对 DNS 污染,能不能直接关闭内置的 DNS ?
dns: enable: false 另外,在使用 TUN 模式时,是否必须开启 DNS ,为什么?
TUN 模式的参数 dns-hijack 通常被设置为 any:53,作用是什么?
1 mohumohu 2023-07-13 20:50:26 +08:00 你这需求单独跑一个 DNS 服务更直接清晰,clash 的 DNS 并没有太多自定义的选项。 |
2 Rookie01 2023-07-13 21:29:57 +08:00 借楼同问,有没有什么办法让 Hosts 文件的优先级拉到最高,而不让 Clash 等代理工具覆盖 DNS ? 我有几个域名需要修改 Hosts ,总是被覆盖,或者有没有类似的工具之类的…… |
3 journalist OP @mohumohu 你说的很对,我就是用了 mosdns 才问这个问题 |
4 missdeer 2023-07-13 21:58:12 +08:00 via Android |
5 Kanye 2023-07-13 22:13:20 +08:00 无论怎样都要解析一次才能判断这个域名是否需要代理 |
6 journalist OP @Kanye 基于域名的规则不用请求两次啊 https://blog.skk.moe/post/what-happend-to-dns-in-proxy/ |
7 Kanye 2023-07-13 22:51:38 +08:00 @journalist 对如果直接把域名写进规则里面,是由代理服务器解析和访问的,所以问题不存在 |
8 y1y1 2023-07-13 23:54:50 +08:00 @journalist 那不就好办了,把走 clash 的分流规则再加到 clash 的规则里面? |
9 SenLief 2023-07-14 00:15:25 +08:00 clash.meta 内核支持 geosite 域名分流 dns ,可以实现这个功能。 |
10 dode 2023-07-14 00:18:44 +08:00 套两个 clash 可以吗 |
11 journalist OP |
12 mritd 2023-07-14 08:21:10 +08:00 via iPhone |
13 zbatman 2023-07-14 09:54:56 +08:00 [DNS 污染对 Clash ( for Windows )的影响]( https://github.com/Fndroid/clash_for_windows_pkg/wiki/DNS%E6%B1%A1%E6%9F%93%E5%AF%B9Clash%EF%BC%88for-Windows%EF%BC%89%E7%9A%84%E5%BD%B1%E5%93%8D) [浅谈在代理环境中的 DNS 解析行为]( https://blog.skk.moe/post/what-happend-to-dns-in-proxy/) |
14 rmdbbs 2023-07-14 10:15:59 +08:00 遇到需要代理的域名,使用代理服务器请求 DNS 。 ---这个核心是要避免本地 DNS 解析,启用 dns 配置里的 fakeip 参数,或者路由规则对所有 ip 类规则加入 no-resolve 参数 遇到直连的域名,使用系统默认或者某个指定的服务器。 ---这个使用 meta 的 DNS 某些配置选项可以实现,看下面的例子 遇到基于 IP 的规则,使用系统默认或者某个指定的服务器。 ---这个使用 meta 的 DNS 某些配置选项可以实现,看下面的例子 我不需要靠 Clash 应对 DNS 污染,能不能直接关闭内置的 DNS ? ---关闭 Clash 的 DNS ,上述需求应该就没法实现了,关闭后,所有的请求都走 system 的 dns ,且无法配置策略 clash.meta 的配置例子,供参考: dns: enable: true listen: 0.0.0.0:53 default-nameserver: - 223.5.5.5 nameserver: - tls://8.8.4.4 - tls://1.1.1.1 nameserver-policy: "geosite:cn,private": - https://doh.pub/dns-query - https://dns.alidns.com/dns-query 看你说的你的规则里没有 IPCIDR ,只有域名,那就意味着,只有两种情况 1 ,交给代理的域名,默认都会去代理上进行 dns 解析,这个不需要设置 2 ,直连的域名,由你的配置文件决定,配置文件设置的 dns 策略,那就由规则决定(如上例子),如果开启 dns 开关,那就交给系统 上面的设置之后,在处理你那些要直连的域名的时候就会进入这个逻辑: 1 ,看看域名是不是 cn 或者 private 的,如果是,交给 dns.alidns.com 和 doh.pub 解析; 2 ,如果不是,那么交给 tls://8.8.4.4 和 tls://1.1.1.1 解析 3 ,解析好了后,用得到的 ip 直连出去。 结束 简单将就是你关了内置 DNS 开关,所有的请求都到了 system 的 dns ,就做不到“按需解析” , |
16 journalist OP @rmdbbs 实际上我说的需求可能说复杂了,所有没有命中代理域名规则的,都走系统默认 DNS 就可以了,不需要 nameserver-policy ,分流已经由自建 DNS 处理好了。https://github.com/Fndroid/clash_for_windows_pkg/wiki/DNS%E6%B1%A1%E6%9F%93%E5%AF%B9Clash%EF%BC%88for-Windows%EF%BC%89%E7%9A%84%E5%BD%B1%E5%93%8D 根据这篇文章,下面这个配置和关闭内置 DNS ,直接设置系统 DNS 没有什么差别。 dns: enable: true enhanced-mode: fake-ip nameserver: - "自建 DNS" |
17 SenLief 2023-07-14 16:00:05 +08:00 via iPhone @journalist 你的想法错了,你是想 clash 只做代理吧?然后利用 上游 dns 分流。这个是可以的,但是有个问题就是上游 dns 服务器需要代理才能解析 1.1.1.1 这类的 dns 服务,所以又在套娃了。 |
18 journalist OP |
19 x308989414q 2023-08-16 10:24:56 +08:00 @rmdbbs 你好,想请教一下。 dns: enable: true enhanced-mode: fake-ip nameserver: - https://dns.alidns.com/dns-query fallback: - https://1.1.1.1/dns-query - https://dns.google/dns-query 上面的配置 clash tun 模式下,处理那些直连的域名的逻辑是不是如下? 1 ,dns 并发请求 nameserver 、fallback ,取 nameserver 中返回的最快的 ip ,判断这个 ip 是不是中国的, 如果是,直连 2 ,如果不是,那么取 fallback 中最快的 ip ,直连。 |
20 journalist OP |
21 goldensmithereen 349 天前 @mritd 404 了,跑路了? |
22 goldensmithereen 349 天前 @journalist 全是 404 |