DNSPod DoH 延迟大,偶尔解析出错,包括腾讯系域名

2022-06-18 22:01:23 +08:00
 eason1874

不久前重新配置了路由,增加了 dnscrypt-proxy 负责局域网内设备解析,因为对 dnspod 印象比较好所以用了这家 doh

然后手机 app 时不时出现图片空白(没加载),需要刷新才能加载成功,排查后发现居然是 dnspod doh 的问题

看解析日志,dnspod doh 响应在 20ms 以内的不到 10%,大部分是 40ms 到 100ms ,偶尔会超过 1000ms 和失败

更换到 alidns doh ,大部分解析时间能保持在 20ms 以内,手机 app 图片空白现象消失

我想着解析腾讯系域名用 dnspod 应该会比 alidns 要准确,更换 alidns 时专门配置了例外,让 dnspod 解析腾讯系域名,结果微信服务出现部分图片空白,然后我取消掉例外配置让腾讯系域名也由 alidns 解析反而正常了

最初使用的是域名地址 https://doh.pub/dns-query ,发现异常后在 dnspod 官网找到 ip 地址更换测试,包括 https://1.12.12.12/dns-queryhttps://120.53.53.53/dns-query ,都是一样慢和小概率出错

使用的网络是广东移动宽带

@naizhao

5538 次点击
所在节点    全球工单系统
23 条回复
johnjiang85
2022-06-18 22:25:07 +08:00
doh.pub 目前国内除了东北之外,其他地区已经都是指向 120.53.53.53 和 1.12.12.12 ,是同一套。
dot.pub 国内已经全量切到 120.53.53.53 和 1.12.12.12 。
已经反馈相关同学,后面看下

目前 dns.pub 还指向老的公测系统,可以使用 https://dns.pub/dns-query 来对比下。但是后期 dns.pub 会仅作为官网域名使用,doh 和 dot 等功能后期会下线。
Buges
2022-06-18 22:28:27 +08:00
境内 doh 的意义何在?既不能解决污染问题,也不能解决隐私问题,还会劣化运营商提供的就近接入。
Kobayashi
2022-06-18 22:53:04 +08:00
@johnjiang85 怪不得我用 dot.pub 解析 B 站 CDN 返回了东北电信的地址……
Lightbright
2022-06-18 22:54:17 +08:00
@Buges 请问如何解决运营商干扰导致的订阅更新失败问题,如何解决部分地区监视全 ip 段 53 端口劫持跳转反诈问题。阿里的 dns 目前虽然有 gfw 的污染,但也仅限于此,没有各地运营商别的骚操作
eason1874
2022-06-18 22:56:50 +08:00
@johnjiang85 #1 试用了一会儿 dns.pub 这个地址,一样慢,比 alidns 慢了得有两三倍

@Buges #2 doh 能解决地方运营商自己搞的污染,虽然现在很少了,但还是想尽量避免得到他们的关心
totoro625
2022-06-18 23:16:58 +08:00
我配置的是 adguardhome ,国内大部分走的用的 dnspod 的专业版 https://doh-userid.doh.pub/dns-query 有的时候会遇到 HSTS 的 error
其他的
dnspod 解析腾讯系
alidns 解析阿里系
cloudflare 、nextdns 解析国外
Buges
2022-06-18 23:44:50 +08:00
@Lightbright 订阅当然是走代理更新,只有 cn 网站直连也没见过反炸跳转。
除非你错误的配置 dns ,比如使用 clash 官方推荐的配置或机场托管的配置为了分流把所有域名全部发送给境内解析服务器(暴露你访问的所有境外网站),或者用境内解析服务器解析订阅链接域名 /节点本身域名(暴露你在使用代理的事实)(当然订阅走代理,订阅链接域名和节点域名全部走代理解析也不能隐瞒使用代理的事实,但起码 dns 日志查不到)
另外多说一句,防止污染本身没有任何意义。污染只是 block ,就算解决 block 但解决不了背后的 log ,而后者是更严肃的问题。你根本不应该发出任何会可能导致 block 的行为,更不应该使用 chinadns 之类的工具“解决”这种 block 。
如果你担心某个请求会被(无论现在还是未来,无论运营商还是 doh )污染,那你根本就不该发出这个请求,因为 log 始终存在。
别看今天闹得欢,小心今后拉清单。
billytom
2022-06-19 00:13:12 +08:00
国内 DOH 用 dns.alidns.com 是常识,EDNS 的支持很完善,然后稳定性和各地域的 cdn 都做得不错
longxk
2022-06-19 00:34:34 +08:00
@Buges 比如在公司内网这种场景,不使用加密 DNS 服务器的话,岂不是很容易被发现在摸鱼?
Lightbright
2022-06-19 00:48:36 +08:00
@Buges 额,据我所知,某些时候,需要不得不使用本地网络更新订阅地址,比如某些时候节点全挂了。。

关于跳转反诈的问题,额,我记得 v 站之前就有好几个例子。

关于你说的有 log 问题,clash 这个代理软件默认就是有本地 dns 查询,包括节点使用的域名的 dns 解析,按照目前这个软件的使用量,看起来也没啥问题。

如果非要解决这个问题,不如在本地搞一个 dns 服务器,内置 gfw list ,然后直接在本地过滤掉所有敏感域名,让代理软件自动 fallback 。。

总的来看,上 doh 可能不够,但是不上肯定不行,哈哈
Buges
2022-06-19 01:25:03 +08:00
@Lightbright 境内网站(已备案)没有跳反炸的吧,跳的都是没墙的境外网站。
初始化 bootstrap 的时候确实需要临时解析一下,最好能通过有 ip 的代理 /尚未被墙的境外 doh/dot 。但 bootstrap 以后就不应该再直连获取和解析节点了,多搞几家备用。
log 问题还是那句话:别看今天闹得欢,小心今后拉清单。现在是给你返回个污染的结果,谁知道以后会不会变成照着 log 挨个请喝茶呢。
gfwlist 不可靠,因为总有新的网站被墙,访问这些尚未被墙的网站也是一个 bad signal 。

总的来说就是境内解析器只用来解析境内网站,运营商 dns 的优化是最好的。bootstrap 可以专门配置一些 doh 。
Buges
2022-06-19 01:27:05 +08:00
@longxk 这确实是一个适合的场景,不过如果你司部署了 dpi ,照样也白搭,ech 还遥遥无期呢。
popzuk
2022-06-19 04:09:55 +08:00
啥时候 odoh 能普及呢
popzuk
2022-06-19 04:19:08 +08:00
log 的问题,有没有代理软件可以将 doh 代理,设置 edns 获得就近 IP 呢?
popzuk
2022-06-19 04:22:15 +08:00
等 odoh 和 ech 普及之后,运营商就只能监控到 IP 地址而已了吧。
Love4Taylor
2022-06-19 08:16:31 +08:00
我也会这样,也是移动。之前还遇到过 dnspod 动不动 502 的日志。
longxk
2022-06-19 15:43:58 +08:00
@Buges 即使有 DPI 也没法知道我访问了什么网站吧
Buges
2022-06-19 15:54:18 +08:00
@longxk 明文 SNI 啊。墙的 dns 污染和 SNI 阻断,对应的就是 dns 记录和 DPI 。
johnjiang85
2022-06-20 11:31:23 +08:00
@eason1874
两个问题

#1 部分解析失败需要重试的问题,反馈是公测环境切换到正式环境的 1.12.12.12 和 120.53.53.53 之后,正式环境高负载导致的,上周四、五有部分调整来优化,但是后期还是需要扩容来解决。

#2 解析慢于 ali 的 doh 的原因主要是阿里的公共 DNS 使用了乐观 DNS 缓存,即使缓存中记录 TTL 过期也会返回过期的记录,然后再去重新递归请求。
DNSPod 的公共 DNS 未使用乐观 DNS 缓存策略,如果请求时缓存已过期不会返回给客户端,需要重新递归进行返回;如果请求时缓存记录的 TTL 已经过去了 75%,会将缓存中的记录返回给客户端,同时对该域名进行递归提前预取。
两种策略的优略很明显,乐观 DNS 响应快,但是经常出现解析记录迟迟无法更新的问题,可以见本社区的多个相关帖子反馈。
非乐观 DNS 则相反,两种策略如何选择就是见仁见智,看实际需求选择。
乐观 DNS 缓存策略内部讨论多次,目前暂时没有支持,后续是否支持及时间不确定。
johnjiang85
2022-06-20 11:38:34 +08:00
虽然乐观 DNS 解析确实快,但是相比解析错误,我们认为初次解析延迟个几十 ms 是更可以接受的

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

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

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

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

© 2021 V2EX