代理规则中的 dns 不设置,也不会导致 dns 泄露!

7 天前
 vx007

网上看了很多对 dns 泄露的讨论,为了防止 dns 泄露,很多人对 dns 模块进行了复杂的自定义设置。 但我都是直接把配置文件中 dns 模块删除!只需在配置文件设置国内常用域名的白名单走直连,其他所有域名用 match 兜底走代理,ipcidr 和 geoip 规则全设置 no-resolve ,就不会有 dns 泄露。

国内常用网站走国内 dns ,其他网站都在代理服务器端远程解析,这样既安全又不用配置 dns ,为什么不用?

这样看来,那么多人都在追求的 dns 精细设置是否多此一举,有什么意义?

4350 次点击
所在节点    宽带症候群
81 条回复
jackOff
7 天前
所有复杂操作都是为了实现一个根据域名或者 ip 进行不同的 dns 域名服务器的解析请求这个操作,所以如果公网里存在一个 dns 服务器具备这种能力,你的代理软件的确不用进行任何复杂设置,挂一下代理配置直接用这个特殊的 dns 服务器就可以解决 dns 泄漏问题,那么在中国境内有没有这种特殊的 dns 服务器呢?
maxus
7 天前
mintongcn
7 天前
常用网站不好定义
maxus
7 天前
😀 为了防止泄漏,clash DNS 引入 fakeip 模式,在此模式下,Clash 会为每个请求生成一个假的、不存在的 IP 地址( ip 段 198.18.0.1/16 ) ,然后在内部解析这个 IP 到正确的域名。这样,外部的网络监控者只能看到假的 IP 地址,而无法通过 DNS 请求来了解你的网络活动。配置是这样的
dns:
enable: true
ipv6: true
enhanced-mode: fake-ip
listen: 0.0.0.0:53
fake-ip-range: 198.18.0.1/16
default-nameserver:
- 119.29.29.29
nameserver:
- 119.29.29.29
- 182.254.116.116
maxus
7 天前
使用 fake ip 模式后,- GEOIP,CN,DIRECT 不要加 no-resolve ,直接交给内部解析,外部看到的是假的 fake ip 地址,也就不存在 dns 泄漏。
国外的加上 no-resolve ,直接交给海外 dns 解析,加快速度。
fanxasy
7 天前
surge 默认就是这种策略
vx007
7 天前
@maxus 白名单中的直连域名自动用系统默认 dns 就行,不需额外设置 dns 。 国内 IP 段设置 “no-resolve” 后,只要白名单包括了对应的国内域名,国内域名只会在本地解析,并不会交国外解析。
vx007
7 天前
@fanxasy 感觉这是最简单还最安全的策略了,把 dns 想复杂反而百密一疏
maxus
7 天前
@vx007 错,我试过了,国内 IP 段加 no resolve ,是交给国外解析的,人民网解析到国外的 ip
vx007
7 天前
@maxus 那是因为人民网不在直连域名白名单内,常用的加入白名单就好了,不常用的偶尔交国外解析影响不大,保证境外域名安全才是最重要的
vx007
7 天前
@maxus 你提到“使用 fake ip 模式后,- GEOIP,CN,DIRECT 不要加 no-resolve ,直接交给内部解析,外部看到的是假的 fake ip 地址,也就不存在 dns 泄漏。”,这不对啊,只要 GEOIP,CN,DIRECT 没加 no-resolve ,你设置了 fakeip 照样泄露 dns 。仅靠 fakeip 根本防止不了 dns 泄露
SuperArilo
7 天前
目前我是使用 mosdns + clash 的 Redir+Host 模式
测试没有 dns 泄露
https://imgur.com/gLdbI4A
js9528
7 天前
@SuperArilo 有没有详细教程参考下
Love4Taylor
7 天前
Without DNS leaks, but slower (1.9.0-alpha.2+)

```
{
"dns": {
"servers": [
{
"tag": "google",
"address": "tls://8.8.8.8"
},
{
"tag": "local",
"address": "https://223.5.5.5/dns-query",
"detour": "direct"
}
],
"rules": [
{
"outbound": "any",
"server": "local"
},
{
"clash_mode": "Direct",
"server": "local"
},
{
"clash_mode": "Global",
"server": "google"
},
{
"rule_set": "geosite-geolocation-cn",
"server": "local"
},
{
"type": "logical",
"mode": "and",
"rules": [
{
"rule_set": "geosite-geolocation-!cn",
"invert": true
},
{
"rule_set": "geoip-cn"
}
],
"server": "google",
"client_subnet": "114.114.114.114/24" // Any China client IP address
}
]
},
"route": {
"rule_set": [
{
"type": "remote",
"tag": "geosite-geolocation-cn",
"format": "binary",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/rule-set/geosite-geolocation-cn.srs"
},
{
"type": "remote",
"tag": "geosite-geolocation-!cn",
"format": "binary",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/rule-set/geosite-geolocation-!cn.srs"
},
{
"type": "remote",
"tag": "geoip-cn",
"format": "binary",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geoip/rule-set/geoip-cn.srs"
}
]
},
"experimental": {
"cache_file": {
"enabled": true,
"store_rdrc": true
},
"clash_api": {
"default_mode": "Enhanced"
}
}
}
```

https://sing-box.sagernet.org/manual/proxy/client/#traffic-bypass-usage-for-chinese-users
Love4Taylor
7 天前
@maxus fake-ip 的出现不是防泄漏吧,是 redir-host 的映射或者反查的问题(当然后来可以通过 sniff 解决),现在普遍讨论的 DNS “泄漏” 只是如果有个网站用来检查用户 DNS 解析的域名没有命中规则就不会走远程解析从而通过国内 DNS 解析就造成了所谓 “泄漏”。以及 “外部的网络监控者” 是啥,你用到 fake-ip 要么本机撑死了在局域网内。
hefish
6 天前
@vx007 好吧,我这就拔网线。
Jacquesx
6 天前
@vx007 域名的 DNS 请求并没有通过加密发送给代理服务器远程解析,clash 处理 UDP 的协议要发起 DNS 请求(软件设计问题)曾经的讨论: https://www.v2ex.com/t/957464
(而 v2ray 系列的可以开启节点嗅探进行远程 DNS 解析),除非使用 DoT 或者 DoH ,否则
1 、clash 的 redirhost 模式(目前已弃用)会发起 DNS 请求来进行分流
2 、现在的 clash 内核使用的是 fake-ip 模式会因为 Windows 的多宿主 DNS 也会发起 DNS 请求

如果想要使用 clash 代理又不进行
曾经的讨论:
https://cn.v2ex.com/t/829447
https://global.v2ex.com/t/1034325
Jacquesx
6 天前
如果想要使用 clash 代理又不产生 DNS 泄露,最好的办法就是本地配置 DoH/DoT ,即便 clash 代理软件设置了 no-resolve ,chrome 使用 QUIC 协议的流量还是会使 clash 发起 DNS 请求,需要在 chrome 里面配置安全的 DNS (开启 DoH/DoT )
jinqzzz
6 天前
国内域名并不完整,没有在规则列表内的都会走代理查询,geoip,cn,direct 会失效
vx007
6 天前
@Jacquesx 我的意思是如果域名没有匹配直连规则,则会将域名加密发给代理服务器远程解析,这样不会出现 dns 泄露。我完全删除了 dns 模块,配置文件不对 dns 做任何设置,除了国内域名白名单走直连,其他所有域名都不会被以加密数据的形式发给代理服务器远程解析,就算采用 quick 协议也不会在本地解析

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

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

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

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

© 2021 V2EX