V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kyonn
V2EX  ›  宽带症候群

请教关于 adguard/doh/ddns 的问题.

  •  
  •   kyonn · 239 天前 · 1791 次点击
    这是一个创建于 239 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近重新配置了 adguard, 开启了乐观缓存功能, 发现家里的 ddns 新 ip 生效时间慢了很多,出现过 4 小时后在局域网内查询 dns 还是返回老结果的问题(通过蜂窝数据网络查询域名返回的已经是新 ip 了).

    配置的上游 dns 用的是阿里 doh,发现了几个现象.

    1. 使用命令行手动查询 dns,发现多查几次, 每次返回的 dns 结果既有新的 ip, 也有旧的 ip. 即使指定 doh 的 ip 也会有这个现象, 且不同结果下, 对应的 ttl 也不同. 个人猜测是查询 doh 结果每次返回的可能是不同服务器的结果, 阿里那边做了负载均衡.
    2. 基于上面第 1 点, 就导致我的 ddns 更新需要很久. 因为 adguard-home 的乐观缓存过期后向 doh 服务器那边查询, 返回的可能还是旧的结果(运气好可能返回新的), 如果一直不触发这个域名的解析, 这个旧 ip 解析会保留很久.

    另外, adguard-home 也不支持将指定域名排除出 dns 缓存.

    不知 v 友们一般如何解决该问题的, 是更换不使用乐观缓存的 doh 还是不用 adguard? 还是 ddns 更新 ip 同时向 doh 服务器那边去主动刷新域名缓存?

    第 1 条附言  ·  239 天前
    解决了, 删除 adguard-home 中关于 mini TTL 的设置即可.
    8 条回复    2024-05-01 13:13:34 +08:00
    supemaomao
        1
    supemaomao  
       239 天前 via Android
    设置 ddns 的域名 ttl 时长就行了,这样局域网查询这个域名一般不会命中缓存。
    kyonn
        2
    kyonn  
    OP
       239 天前
    @supemaomao ttl 最短只能设置为 1h, 上面的问题其实是 1h 后局域网这边的 dns 解析还无法正常刷新.
    LonelyWenti
        3
    LonelyWenti  
       239 天前 via iPhone
    我是将 adguardhome 重定向选项设置为“重定向 53 端口到 adguardhome”,dnsmasq 上游和 adguardhome 上游都指向 mosdns ,这样软路由本身的流量只通过 mosdns 解析,mosdns 可以指定哪些域名不缓存,也可以修改 TTL ;而家里其他设备都通过 adguardhome 解析。
    另外 openwrt 的 DDNS 插件是可以指定 DNS 的,你在 DDNS 插件里设置一个公网 DNS 比如 222.5.5.5 ,并把 IP 检测时间间隔和域名强制更新间隔缩短,应该会有改善
    totoro625
        4
    totoro625  
       239 天前
    上游 DNS 服务器那里增加一行
    [ddns.example.com]ddns 所在服务商的 doh 或可访问的最近 doh

    或者你更新 ddns 的时候刷新一下 AdGuardhome 的配置文件,直接写入 ddns ip ( DNS 重写)
    kyonn
        5
    kyonn  
    OP
       239 天前
    @LonelyWenti 我这边 adguard 直接占了 53 端口, 应该不需要这样设置.
    kyonn
        6
    kyonn  
    OP
       239 天前
    @totoro625 请问增加的这一行是什么意思? 没看懂. 上游 DNS 服务器指的是家里的内部 dns 服务器, 还是域名托管网站那边?
    supemaomao
        7
    supemaomao  
       239 天前 via Android
    @kyonn ad 能不能覆盖单个域名的 ttl 我忘了,但是 ad 最短 TTL 应该不止 1h ,如果不能覆盖单个域名 ttl ,可以把乐观缓存关了,上游套一个 mosdns ,这个可以针对单个域名覆盖 ttl ,最短至少 5s 。本身也带缓存。
    mohumohu
        8
    mohumohu  
       239 天前
    看的不是很明白,在局域网内为啥要用 ddns ? ddns 不是给局域网外用的吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5397 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 08:56 · PVG 16:56 · LAX 00:56 · JFK 03:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.