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

DDNS 解析同步问题

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

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

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

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

    域名这个我在上面已经回答了,因为没有这厂商方便,不是不会。
    blackeeper
        9
    blackeeper  
       4 天前
    @v2tudnew 你这个本质就是 DNS 缓存的问题,查到的记录跟实际的不一致。
    ddns 你要实时,且准确的,你要么设置 TTL 为 0,不给别人缓存,要么就是新域名,别人没缓存,就去源 NS 去查。
    给你提供的两个 NS 的服务器肯定是同步的,其他的 NS 服务器并不会实时同步你的记录,因为根本不是一组。
    yinmin
        10
    yinmin  
       3 天前
    国内公共 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  
       3 天前 via Android
    @v2tudnew 服务商问题就换,以前我用的 dns.he.net 和现在有的 cf 都是按照设置的 TTL 来的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3116 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 13:39 · PVG 21:39 · LAX 05:39 · JFK 08:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.