-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: Sing-Box 与 ChinaDNS-NG 的兼容性不太好 #2960
Comments
简答点说,就是 Sing-Box 15353 端口正常给出了解析结果,但 ChinaDNS-NG 15354 端口的连接被拒绝了,导致无法正常获取 DNS 解析结果,但 Windows 上却又能正常拿到解析结果、能正常打开网页,只有 Linux 系统有问题。 |
好像一切正常 |
这个响应体大小没超过 512B,是正常的。 |
我这边测试了好几个域名,都么有超过512B,没法复现了,抱歉 |
引用隔壁 ChinaDNS-NG 作者的回复 zfl9/chinadns-ng#144 (comment) 拒绝连接是因为 chinadns-ng 目前还没实施 tcp 监听。用 zig 重写的 1.0/2.0 版本已经加入 tcp 支持了。 结合你引用的几个 issue 推测,有这几方面的原因:
所以,主要原因在于 Sing-Box 未将 DNS 响应体进行压缩。ChinaDNS-NG 拒绝连接的原因是目前还不支持 TCP 监听。 |
导致机场的节点大部分不能用,郁闷 |
推荐singbox dns就只使用tcp dns,刚才选了个直播的cdn测singbox doh,返回是异常的。 |
Stale Issue |
问下大佬需不要打开缓存解析结果和FakeDNS的呀 如果用singbox的话是不是ChinaDNS-NG就不用打开了 |
描述您遇到的bug
之前的反馈:#2937
当使用 Sing-Box DNS + ChinaDNS-NG 时,Linux 系统下对 www.youtube.com 这个域名解析失败,原以为完全是 Sing-Box 那边的问题,现在测了下感觉又不完全是。
结合 SagerNet/sing-box#1417 的反馈再次测试,我发现无法解析似乎和开启了 ChinaDNS-NG 有关:
开启时,dig 默认 DNS 端口无法解析,15353 端口正常,15354 端口连接被拒绝。
关闭时,dig 默认 DNS 端口正常解析,15353 端口正常。
开启时的 dig 结果如下:
关闭时的 dig 结果如下:
也就是,只要不开启 ChinaDNS-NG,即使 DNS 相应超过 512B,解析也是正常的,上面测试 15353 的响应大小都是 720B。
但是,也不能说 Sing-Box 完全没问题,在使用 dns2tcp 时,15353 端口的响应明显要小很多:
我看着 334B 的响应结果和前面 720B 的响应结果似乎没有什么区别,不知道为什么 Sing-Box 的 DNS 响应会更大一些。
之前有大佬帮忙测了下没有复现:#2937 (comment)
这位大佬的响应就正常,只有 291B,我也测了下 DoH,并没有解决我的问题,所以我不清楚问题到底出在哪里了,只能先发在这里麻烦各位大佬帮忙分析一下了。
复现此Bug的步骤
和上面说的一样。
您想要实现的目的
优化 DNS 解析流程。
日志信息
截图
系统相关信息
Passwall: 4.74-1
ChinaDNS-NG: 2023.10.28
Sing-Box: v1.8.5
国内 DNS 为运营商默认 DNS,未使用其他 DNS 插件。
其他信息
No response
The text was updated successfully, but these errors were encountered: