关于clash dns配置

经过一段时间摸索似乎找到了目前阶段比较好的解法?还请各位佬友们来看看是否还有可以提升的地方:

dns:
  enable: true
  ipv6: true
  listen: :23453
  enhanced-mode: fake-ip
  respect-rules: true
  fake-ip-range: 198.18.0.1/16
  fake-ip-filter-mode: whitelist
  fake-ip-filter:
    - 'geosite:gfw'
  nameserver:
    - 8.8.8.8
    - 1.1.1.1
  proxy-server-nameserver:
    - 211.142.211.124
    - 111.8.14.18
  direct-nameserver:
    - 211.142.211.124
    - 111.8.14.18

解释下为什么要这样配置。

首先是fake-ip白名单模式(fake-ip-filter-mode: whitelist),然后filter直接用内置的gfwlist geosite(此处可替换为自定义mrs),让大部分主流被墙网站走fake-ip,这样即使少部分非直连网站不走fake-ip也不会牺牲太多速度体验,同时免去在blacklist模式下配置一堆绕过域名的烦恼(还可能漏域名导致出问题)。此套配置尽量遵循了直连走real-ip其余fake-ip的模式(似乎目前这样也是体验最好的),只是舍弃了传统的使用黑名单模式+大陆域名过滤+一堆绕过域名的配置,牺牲部分小众网站速度换取更佳稳定性和易维护性。

然后是让直连(direct-nameserver)和节点(proxy-server-nameserver)域名走运营商dns(这里我用的是本地运营商),保证速度最快,其余非直连域名经过代理服务器走Google和CF的dns,respect-rules: true 的作用就是让dns请求也遵循规则,因为Google和CF的dns会匹配上代理规则所以会让此查询经过代理,(也符合了dns查询尽量走实际网络出口的观点,更符合真实上网)(实际上可能大部分非直连域名直接走fake-ip了连本地查询请求都不需要)。此套配置下dns分流为大陆白名单模式,这也是目前主流的模式。

另外我感觉没啥必要用各种加密dns,直连用运营商,其余经过代理服务器走udp dns能做到速度最快,也不会有审查顾虑。

实测这套配置也不会出现dns泄露问题,当然我是在路由器上使用,本地客户端未测试。

7 个赞

不懂,帮顶

1 个赞

这三者有啥区别

proxy-server-nameserver是专门用来解析节点服务器的dns,这里respect-rules启用的情况下必须要配置。
direct-nameserver是域名匹配到直连规则时使用的dns,nameserver就是兜底用的,用于在域名没有走前面两个dns规则的时候使用此dns。
我目前这套dns分流用的是大陆白名单模式所以直连就配置运营商dns,兜底就走经过代理的国外dns。

咦?为啥不用tls?https?

因为感觉用不上,我是希望速度优先的,所以直连就直接用运营商dns了,非直连使用的dns也是经过代理的,也没必要为了过审查去用加密dns了

原来如此,有道理有道理

帮顶,好奇提升怎么样

fake-ip 部分的配置对我很有帮助,感谢佬友

1 个赞

哈基米 是这么说的 我觉得还是有点道理

这是一部分,其实还是直连没必要用fake-ip,最终都是本地做dns解析,那直接一上来就real-ip就好了