关于 openclash DNS 解析的疑问

2023-05-13 02:36:25 +08:00
 lxnelly

我没有任何软件及编程基础。我想知道我理解的对不对哈。 假设我用的是 Redir host 兼容模式,启动了本地劫持(dnsmasq )并仅选择了自定义上游 dns 选项,nameserve 假设为 114 加腾讯,fallback 为谷歌,1111,9999

我有这些疑问 1.当我打开一个域名时,clash 的逻辑是不是先交给 114 和腾讯,查到 ip 后比对规则,然后选择直连或者走通道?

2.在我打开一个域名时,clash 是给我 114 和腾讯之间更快返回的那个 ip ,还是他俩都查到后比对结果一致再给我 ip?

3.如果打开一个境外域名,两个解析错误但结果一致,而且是非保留地址或者 0000 之类的,接着是丢给 fallback dns 继续解析还是直接给我打开网站了?

4.主 dns 和 fallback 的 dns 解析会走通道吗?还是都走本地?还是它会自己选择走本地还是走通道?如果不走通道,那么有些 fallback 的 dns 连接不是会很糟糕或者不稳定?

19261 次点击
所在节点    DNS
57 条回复
lxnelly
2023-05-14 17:49:34 +08:00
@BABYMETAL 感谢回复,这两天恶补已经把这些知识补上了
lxnelly
2023-05-14 17:57:44 +08:00
@Kinnice 感谢回复,受教了,已经开始使用 fake ip 模式,并成功产生了新的疑惑
lxnelly
2023-05-14 18:00:30 +08:00
@a632079 感谢回复。目前启用了 fake ip 感觉还不错,比 redir ip 好用很多。想先用一整子再学习 mosdns
lxnelly
2023-05-14 18:03:00 +08:00
@jinqzzz 感谢回复,已经切换了 fake ip ,想先用一整子再学习 mosdns 。
lxnelly
2023-05-14 18:04:32 +08:00
@mohumohu 感谢回复,已经切换 fake ip ,先用一阵子再折腾 mosdns 吧
lxnelly
2023-05-14 18:06:15 +08:00
@v2exe2v 感谢回复,学会 clash 已经费了不少精力了,现在切换到 fake ip 已经感觉快很多了,先爽一阵子,等个机缘巧合再学一下用 mosdns
fatelight
2023-05-14 19:51:36 +08:00
@lxnelly fake-ip 只需要国内 dns 其他都取消,跳过国内,在设置里面有更新 ip 段(其实一直都有小 bug)

规则用 alc 的吧订阅里面差不多够用

用 meta 内核看看,记得检查更新里面切换到 dev 分支
Kinnice
2023-05-14 20:39:06 +08:00
@lxnelly #19 openclash 的绕过中国 ip 主要由两个模块组成
1. 在 iptables 中添加中国大陆 ip 段直接绕过的规则( ipset )
2. 使用一份国内站点域名表,添加至 dnsmasq 中,在这个域名表中的 将会使用 114.114.114.114 来进行解析为真实的 ip ,并不使用 clash 核心的 dns 解析,所以会返回真实 IP
综上,一个国内站点会获取到真实的国内 IP ,再被 iptables 放行。缺点是域名表不够全,只包含了主流站点,不够准确,并且这个列表比较大( 2m+),会导致 dnsmasq 启动较慢。
a632079
2023-05-14 23:13:31 +08:00
@mohumohu 感谢建议,过段时间忙完回家了,我来研究下这个。🥰
lxnelly
2023-05-14 23:29:27 +08:00
@Kinnice 大佬,我现在用的是 lhie1 规则,开启了绕过中国 ip 。刚才在配置文件的所有 RULE-SET 后面全部添加了 no-resolve ,并且把查 DNS 泄露网站的域名全部从规则中删了。测试后全部没有发现中国 dns 服务器。都是香港或者台湾,那是不是已经说明我的 openclash 已经不再做请求 dns 解析并作匹配的动作,而是直接把 fake ip 发给浏览器然后浏览器直接把域名送到隧道那头去做解析了。不考虑小众国内域名走隧道这个弊端的话,是不是已经达到了浏览境外网站全部不解析直接走代理的目的了。

另外您说的那个 iptables 与 dnsmasq 的机制是不是这样理解,我打开 baidu.com ,被 dnsmasq 劫持,然后它比对了“国内站点域名表”发现匹配,直接 114 解析,如果 ip 与 iptables 的 ip 对对应就放行不走 openclash ;如果不匹配(应该是少数情况)再回到 openclash 做进一步解析。而如果我打开 google.com ,dnsmasq 发现与他的域名表不匹配,直接交给了 openclash 。是这样么
Kinnice
2023-05-15 10:21:57 +08:00
@lxnelly #30
1. 是这样,是不解析了
2. 如果在国内域名表中,但解析出来的 IP 不匹配中国 IP 表,这时候没有进一步解析,会直接交给 clash ,以 IP 方式进行连接(可以设置域名嗅探[clash meta]来恢复成域名,从而享受到在服务器端解析), 对,域名不匹配是直接给 clash
v2exe2v
2023-05-15 11:14:24 +08:00
<amp-youtube data-videoid="50iVDmqzDW8" layout="responsive" width="480" height="270"></amp-youtube> 这个大佬解释的比较清楚
xpn282
2023-05-16 21:02:32 +08:00
借楼主的帖子问一下,fake-ip 模式的话,dns 的 Fallback 组还需要在设置国外 dns 吗?有人说不需要,但是我觉得设置个 8.8.8.8 、1.1.1.1 的话貌似直连国外网站的话会快些………

还有就是,有一个 Fallback-Filter 选项要不要打开?这个是干嘛 ?里面有一些默认的 ip 和域名,不知道这个 Fallback -Filter 要不要打开?打开就去还需要添加什么东西进去吗
mike163
2023-05-17 11:39:51 +08:00
最好在本地用 dns 过滤一下,国内的自己查,海外的可以用 clash 的 fall back https://www.v2ex.com/t/869743#reply12
lxnelly
364 天前
@Kinnice 好的,感谢大佬
lxnelly
364 天前
@v2exe2v 视频 up 主讲的很好啊,谢谢推荐。把他的几个相关视频都看了
lxnelly
364 天前
@xpn282 你可以学我设置全部规则后加 no-resolve ,等于本地完全不解析直接出国解析。目前用了两天没有大问题。除了添加了几个 ios 游戏的域名规则为直连以外,其他都很顺畅,基本上绕过大陆 ip 几乎做到了绝大部分大陆 ip 不走通道
snorlax
359 天前
@jinqzzz #15 怎么配置 mosdns 让 8888 和 1111 通过代理服务器查询?
jinqzzz
359 天前
@snorlax mosdns 配置 8888 doh upstream ,一般默认都是会走代理的。
jinqzzz
359 天前
换句话说,不管用 TUN 、网关,还是其他手段,只要你在 mosdns 的机器上可以走代理访问 google ,mosdns 里的 8888 就也可以走代理。

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

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

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

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

© 2021 V2EX