V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
v2tudnew
V2EX  ›  问与答

DDNS 解析同步问题

  •  
  •   v2tudnew · 11 天前 · 904 次点击
    DDNS 更新后有一定几率会获取过时的 IP 地址。
    起初以为是 DNS 服务器乱搞乐观缓存,但是换了几家包括国外的都这样。

    后面发现,特定 NS 服务器的返回结果才这样,比如:
    ns1.dynv6.com ns2.dynv6.com ns3.dynv6.com
    ns2 和 ns3 没问题,但是 ns1 的结果是旧的。

    解决方法是网页设置一个新 IP ,然后再更新解析 IP 。
    这是 ns 服务器没同步的问题?作为用户有什么解决方法?
    第 1 条附言  ·  11 天前
    这个问题和 TTL 无关,NS1 也是同一组,至少你试过再回答,谢谢。
    服务商论坛无法登录,邮箱不知道是不是丢对方垃圾箱了。
    不想换 DDNS 服务商才来问的,请不要跑题。
    11 条回复    2024-12-30 11:07:42 +08:00
    yinmin
        1
    yinmin  
       11 天前 via iPhone
    用阿里云做 ddns 解析,客户端使用阿里云公共 dns 服务器 223.5.5.5 和 223.6.6.6
    v2tudnew
        2
    v2tudnew  
    OP
       11 天前
    @yinmin 类似换家 DDNS 服务商,但并不能防止阿里云 NS 服务器也抽风。
    yinmin
        3
    yinmin  
       11 天前 via iPhone
    @v2tudnew 阿里云 dns 是商用的,本身不提供 ddns ,需要自己部署程序调用阿里云 api 去更新 IP 地址,几乎不可能出现 ddns 的抽风故障。
    v2tudnew
        4
    v2tudnew  
    OP
       11 天前
    @yinmin
    谢谢,但我不想换厂商,dynv6 的 IPv6 更改方式很好用。
    而且阿里 DNS 那个乐观缓存是 DDNS 的天敌,加 200ms 解析延时都不想用它家的。
    flynaj
        5
    flynaj  
       11 天前 via Android
    TTL 配置小一点,缓存多长时间是由 TTL 决定的。
    blackeeper
        6
    blackeeper  
       11 天前
    免费的 DNS 解析有 TTL 缓存时间,一般最低 300 ,你的问题有两个解决办法。
    1,你可以买收费的 DNS 服务商,这种 TTL 值可以设为零,可以对 dns 做各种策略
    2,你可以多域名的去做 ddns ,ddns_N.domain.com ,新增的 dns 解析记录都是及时的,且各级 dns 都没有缓存。
    v2tudnew
        7
    v2tudnew  
    OP
       11 天前
    @flynaj 前提是 DNS 服务器遵守 TTL 规范
    v2tudnew
        8
    v2tudnew  
    OP
       11 天前
    @blackeeper
    你俩都盯着 TTL 作甚,这个和 TTL 没关系知道吧?你域名设置 1s TTL 阿里也会缓存,建议你搜下“乐观缓存”

    谷歌、CF 、Open 这些都正常,你域名 TTL 过期了就是过期了,不会擅自修改你的 TTL 。这和收费不收费无关。

    域名这个我在上面已经回答了,因为没有这厂商方便,不是不会。
    blackeeper
        9
    blackeeper  
       11 天前
    @v2tudnew 你这个本质就是 DNS 缓存的问题,查到的记录跟实际的不一致。
    ddns 你要实时,且准确的,你要么设置 TTL 为 0,不给别人缓存,要么就是新域名,别人没缓存,就去源 NS 去查。
    给你提供的两个 NS 的服务器肯定是同步的,其他的 NS 服务器并不会实时同步你的记录,因为根本不是一组。
    yinmin
        10
    yinmin  
       11 天前
    国内公共 DNS 都有一个最小 TTL 限额。大多数基础运营商的最小 TTL 限额是 10 分钟,也就是域名 TTL 小于 10 分钟,就会强制 TTL 10 分钟。阿里云公共 DNS (223.5.5.5 、223.6.6.6)是 30 秒;腾讯 dnspod 是 60 秒; 114.114.114.114 是 5 分钟,国外 1.1.1.1 和 8.8.8.8 是没有最小 TTL 限额。

    客户端 dns 用哪个? 如果能做域名分流,可以将 DDNS 域名解析直接指向域名 NS 服务器(实时);如果不能分流要用国内 DNS ,又希望 DDNS IP 快速响应,优选阿里云的公共 DNS(223.5.5.5 、223.6.6.6),最大 30 秒延时。

    免费、稳定、低 TTL 的国内 DNS 解析服务可以选华为云,目前免费版支持 TTL 1 秒。你可以不用将完整的域名解析迁移到华为云,只需将子域名 NS 记录指向华为云即可,例如:domain.com 是阿里云解析的,你在阿里云 DNS 里配置 NS 记录,将 hw.domain.com 指向华为云 NS 服务器,之后 ???.hw.domain.com 就是通过华为云解析了,通过华为 DDNS 插件可实现 TTL 最低 1 秒的解析了。

    国外 DDNS 会被干扰,免费的 DDNS 服务稳定性都不理想,收费的 DDNS 服务稳定性大都比不过阿里云、华为云这些大厂的免费 DNS 服务。如果要搭稳定的 DDNS ,优先国内大厂的 DNS 服务(非 DDNS 类,底层使用 API 更新 IP 实现)
    flynaj
        11
    flynaj  
       10 天前 via Android
    @v2tudnew 服务商问题就换,以前我用的 dns.he.net 和现在有的 cf 都是按照设置的 TTL 来的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1068 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 22:57 · PVG 06:57 · LAX 14:57 · JFK 17:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.