写了 2 个 dns 配置,大家帮评审一下没 dns 泄露了吧?

141 天前
 vx007

我对不泄露的定义是被樯域名不走境内 dns 服务商, 以下 2 个 dns 配置下面的 rules ,没泄露了吧

dns:

enable: true

enhanced-mode: fake-ip #redir-host

fake-ip-range: 198.18.0.1/16

fake-ip-filter:
    - "*"
    - "+.lan"
    - "+.local"

nameserver:
    - "https://1.0.0.1/dns-query#proxy"
    - "https://8.8.8.8/dns-query#proxy"

nameserver-policy:
    "geosite:cn":
        - '223.5.5.5'
        - '119.29.29.29'

或者

dns:

enable: true

enhanced-mode: fake-ip #redir-host

fake-ip-range: 198.18.0.1/16

fake-ip-filter:
    - "*"
    - "+.lan"
    - "+.local"

nameserver:
    - '223.5.5.5'
    - '119.29.29.29'

fallback:
  - 'https://1.0.0.1/dns-query'
  - 'https://8.8.8.8/dns-query'

nameserver-policy:
    "geosite:!cn":
        - "https://1.0.0.1/dns-query#proxy"
        - "https://8.8.8.8/dns-query#proxy"

rules:

- ...

- 'GEOIP,CN,DIRECT'

- 'MATCH,机场'
2592 次点击
所在节点    宽带症候群
24 条回复
vx007
140 天前
@vx007 上面我说错了,境外域名遇到 geoip 规则不加 no-resolve 会在本地发起 dns 查询,但因为我 dns 设置了境外域名走境外 doh ,所以依然不会出现 dns 泄漏
vx007
140 天前
@daisyfloor 如果配置文件不设置 DNS ,clash 默认向操作系统发起 dns 查询,这种情况 geoip 和 ip 规则才需要加 no-resolve 来避免泄漏
daisyfloor
140 天前
@vx007 你说的这些方法以及规则的写法都用过,并且最开始的认知和判断和你上面给出的说法是一样的。但 实际用下来,类似于"geosite:!cn" 并不能保证某个原本境外域名一定会被判定为境外,因为这只是一个库且需要不断更新的库,别人维护的规则总有更新不及时或者不准确(或者说不符合你要求)的时候, 你的两种写法,第一种的遇到的典型问题:一个实际 loacation 在 cn 的域名,不在 geosite:cn 里,导致查询缓慢或者出错。第二种写法:geosite:!cn (包括还有一种写法叫 geolocation )类似,一个原本就希望在远端 VPS 上进行解析的域名,还要先在本地做一次远端 dns 解析(效率问题),而且还可能因为 dat 文件的原因导致 nameserver-policy 判断不准确导致用阿里云去做 DNS (泄露及准确度问题)。

就这样吧,就说这么多。你觉得没泄露,那就没泄露呗。
vx007
139 天前
@daisyfloor 你说的第一个 DNS 配置下国内小众网站绕道是意料之中的,可以接受;但你说的第 2 个 DNS 泄漏的问题,经过我用不在 geosite 和规则内的国外小众网站反复抓包测试,并未发现 DNS 泄漏。
虽然理论上看,第 2 个 DNS 的配置下,不在 geosite 和规则内的国外小众网站域名查询会走国内 DNS ,但就像我上面测试的那样,抓包并未发现走国内 DNS 。可能和不同 clash 客户端的有关。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1054768

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX