AdGuard Home 支持 prefetch-domain 么

2020-12-16 15:50:51 +08:00
 icesof

之前用的 smartDNS,我最满意的几个功能之一就是 prefetch-domain 。不知道是否相关功能,或者去提 request ?

如果暂时没有这个功能,只能修改端口把 AdGuard Home 做成 5353 之类的,然后 smartDNS 做前端。坏处是,把 AdGuard Home 监控的功能废了

7198 次点击
所在节点    DNS
35 条回复
Sekai
2020-12-16 15:58:21 +08:00
你是说 DNS 缓存么,最新版有,可以设缓存大小,还有覆盖最小最大 TTL 值。
icesof
2020-12-16 16:12:13 +08:00
@Sekai 不是缓存,是 TTL 即将到期前的 auto fetch 机制,我理解

如果是 TTL 到期,缓存变成 invalid 后,如果缺少 prefetch 机制,下次的客户端请求会比较慢,反应的是 DNS 请求时间,会出去若干个峰值

smartdns 的解释
Domain name pre-fetch, more faster to access popular websites.
wysnylc
2020-12-16 16:20:57 +08:00
去提 feature
icesof
2020-12-16 16:36:32 +08:00
@wysnylc 谢谢,已提
INTEL2333
2020-12-16 16:37:00 +08:00
不支持,顺带 smartdns 做上游不能很好的解决你的问题么?国内公共 dns 解析时间已经够短了,用户自己没必要预加载吧?
icesof
2020-12-16 17:16:38 +08:00
@INTEL2333

解析时间不是问题,关键是返回的 IP 。
1. 基本上的应用,都是选第一个 IP,如果能工作就工作,并没有选最优的
2. 我试过,alidns,dnspod 各自对自家域支持的最好,运营商属于准第一梯队。(不提 移动宽带 or 非知名域名的一些小手段了)

另外还有几个内部的 ip 需要做解析。

我试试 smart 做上游,去验证下,AdGuard Home 的 Blocked DNS list 工作的如何
weifan
2020-12-16 17:28:02 +08:00
要是能隔个几个小时自动缓存下之前所访问的域名的 dns 记录就完美了,现在的缓存也知识解决了第一次访问慢的问题。
icesof
2020-12-16 17:52:20 +08:00
@weifan

看到的解决思路如下,理解是 lazy load

When the local DNS cache expires, Adguard Home can continue answer with the IP in the local cache results with 1 TTL, while a new DNS query is made to update the cache. If client can still connect to the server by using the old results, then that's great and reduces the time waiting for DNS query. And if not, after a short TTL, the new DNS result can be sent to client and reconnect again.


https://github.com/AdguardTeam/AdGuardHome/issues/2145
INTEL2333
2020-12-16 18:55:49 +08:00
@icesof 关于①和②,ip 选优 adghome 不是带了咩?至于#6 我没看出来有常用域名预加载这个需求。至于内部 ip 嘛 adghome 里面有覆写,自定义规则里也能用 hosts 的写法
icesof
2020-12-16 19:28:20 +08:00
@INTEL2333 关于①和②,我以为你说的国内 dns 解析是完全排除 adghome/ smartdns 的情况

#6,可以理解为一个生产系统,响应时间尽量拉平,不要经常出尖峰值的点,个人追求。

相对来说,我看重的。共同的东西有很多,有几个亮点
adghome, web interface (修改不用 ssh 上) + monitor
smartdns, Domain name pre-fetch
Sekai
2020-12-16 20:53:55 +08:00
@icesof 明白了,那的确是没有,不过把 AdH 作为上游也同样可以监控和审计啊,如果还想做局域网级别的监控,那也没办法了……我现在用的 AdH+coredns,其实感觉也很好了。另外请教下用 smartDNS 怎么做分流?它刚开源的时候我用过,不过分流好像支持不太好,不知道现在怎样了。如果是在 AdH 上做分流,那还是算了……
weifan
2020-12-16 23:18:10 +08:00
@icesof 刚看了下,好像是有我说的功能。昨天装上没注意了!不过他这个 TTL 不懂设置多大比较合适。
icesof
2020-12-16 23:49:30 +08:00
@Sekai
我暂时没用到分流,不过搜了下,你可以看看 https://github.com/pymumu/smartdns/issues/575 huifukejian 的回复
icesof
2020-12-16 23:53:02 +08:00
@weifan 我倒是有个想法,cached entity 直接 persistence 到 tmpfs 然后写个 python 循环一圈的去调 dig,脚本放 crontab 好了

ttl 还是默认好了。。 没想法
Sekai
2020-12-17 01:06:50 +08:00
@icesof 谢谢,折腾无止境……
weifan
2020-12-17 09:40:07 +08:00
weifan
2020-12-17 09:42:42 +08:00
@icesof 那 “DNS 缓存配置” 那边不设置,直接默认么。我设置了两分钟😂不过好像没啥感觉
icesof
2020-12-17 11:59:43 +08:00
@weifan 要测的,我是钢铁直男感觉来的比较慢
Sekai
2020-12-17 12:06:07 +08:00
@weifan 对。。但这个太粗暴了,感觉很对不起 agh (其实是担心影响性能),作为上流我想弄得简单些
tankren
2020-12-17 12:19:30 +08:00
unbound 支持

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

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

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

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

© 2021 V2EX