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

每次 ddns 更新地址,需要半个小时才可以解析到

  •  
  •   f998 · 17 小时 44 分钟前 · 936 次点击
    有没有更快的办法
    16 条回复    2026-03-19 17:40:00 +08:00
    lolo1
        1
    lolo1  
       17 小时 42 分钟前 via Android
    解析泛域名,类似*.abc.com 到 1.1.1.1 ,然后请求的时候变换前面的星号,类似 aaa.abc.com 这种
    feaul
        2
    feaul  
       17 小时 38 分钟前
    更换本地的 DNS 吧,用的谁家的 DDNS ,就用谁家的 DNS
    soleils
        3
    soleils  
       17 小时 35 分钟前
    cloudflare 更新, 我电信这边变更挺快的
    f998
        4
    f998  
    OP
       17 小时 30 分钟前
    @feaul 我用的 dnspod, 腾讯家的
    zbatman
        5
    zbatman  
       17 小时 27 分钟前
    托管到 cloudflare 啊,30 秒完事
    elboble
        6
    elboble  
       16 小时 49 分钟前
    同上,cf 大善人,dns 更新生效比阿里都快
    hxtheone
        7
    hxtheone  
       16 小时 45 分钟前 via iPhone
    同 cf, 从来没被 ddns 卡过
    exqibao
        8
    exqibao  
       16 小时 8 分钟前
    我这边是电信公网,ip 每 48 小时就强制刷新,现在每天凌晨 4 点定时重播,并触发 ddns ,同步频率 2 分钟一次,日常使用几乎无感。

    或者用 SwitchHosts 订阅一个自己维护的 host 文件,不过要有个公共的 web 上传这个文件。
    program9527
        9
    program9527  
       15 小时 55 分钟前 via iPhone
    cf 的,可以设置 dns 生效时间,设置成一分钟,个人体验下来,大概能在两分钟左右生效
    yinmin
        10
    yinmin  
       15 小时 44 分钟前 via iPhone
    你是不是用宽带路由器的 dns server 解析域名的,会出现:脏记录叠加脏记录,域名 ttl 只设 1 分钟,脏记录叠加脏记录变成 10 分钟-20 分钟。改用 alidns 、dnspod 公共 dns 会改善很多。

    还有一种讨巧的方式,用域名对应的权威 dns 服务器解析 ip 。例如:你用 nginx 或者 stunnel 做反代,在软件里把 dns server 配置成域名权威解析服务器(查询方法:nslookup -type=ns 主域名),有可能做到实时更新。
    yinmin
        11
    yinmin  
       15 小时 14 分钟前 via iPhone
    接#10 解释一下:脏记录叠加脏记录

    1. 域名会有 ttl 过期时间,如果域名 ttl 过期就必须重新去上级 dns server 查询。例如:ttl 60 秒,如果第一次查询获取 ip 地址,第二次查询间隔小于 60 秒就用原来的结果,大于 60 秒就需要再次查询新结果。

    2. dns server 都会有最小 ttl 值,如果域名 ttl 小于这个值,就强制改成这个最小 ttl 值。例如:你的域名 ttl 是 10 秒,alidns 公共 dns 的允许最小 ttl 是 30 秒,最终发给客户的 ttl 就是 30 秒。许多电信宽带运营商 dns server 的最小 ttl 是 5 分钟,甚至是 10 分钟。常见的宽带路由器的最小 ttl 也是 5 分钟-10 分钟。

    3. dns server 一般都是开启 dns 脏记录快速返回机制的,当 dns server 发现域名 ttl 过期了,会马上返回旧 ip 结果并将 ttl 设置为 1 秒-5 秒,同时向上级 dns server 去请求 ip 结果,毕竟绝大多数的域名很少变更 ip 地址。电信级 dns server 同一个 ip 会有多台服务器做负载均衡的,多台服务器是各自独立的。因此,你会发现,ddns ip 变更后,你从同一个电信级 dns server 获取 ip ,旧 ip 和新 ip 会来回跳。

    讲完原理,讲家宽路由器的脏记录叠加脏记录:

    家宽路由器 dns server 最小 ttl 是 5 分钟,电信 dns server 最小 ttl 5 分钟,你的域名 ttl 是 60 秒。你从家宽 dns 获取 ip 地址,1 分钟后 ddns 变更后,5 分钟后家宽路由器向电信 dns 请求 ip ,电信 dns 返回脏 ip (旧 ip ),10 分钟后家宽路由器再次向电信 dns 请求 ip ,如果很幸运是访问负载均衡的同一台电信 dns 服务器,获得了新 ip ;如果访问了负载均衡的另一台 dns ,还是返回老 ip ; 15 分钟后家宽路由器再次向电信 dns 请求 ip…

    尽管域名 ttl 是 1 分钟,你会发现过了十几分钟还是老 ip 。
    shuiduoduo
        12
    shuiduoduo  
       14 小时 30 分钟前 via iPhone
    用 cf 其他家的 dna 更新太慢
    lmmir
        13
    lmmir  
       12 小时 57 分钟前
    @feaul 对 不然慢
    Overfill3641
        14
    Overfill3641  
       10 小时 23 分钟前
    域名 TTL 时间设置不要高于 60 秒,DNS 服务器不要用阿里的,强制给你乐观缓存 debuff 。
    用 DOT DOH 这些直连 DNF 服务器防止运营商篡改,运营商的似乎有多级缓存失效很慢。
    Damn
        15
    Damn  
       10 小时 17 分钟前 via iPhone
    有可能是你运营商缓存劫持。
    我这联通就是这样子,任意地址 udp 53 都被劫持了,我用 tcp 53 去请求就能及时拿到新结果。
    opengps
        16
    opengps  
       10 小时 15 分钟前
    ttl 设置小一点试试?
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   965 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 19:55 · PVG 03:55 · LAX 12:55 · JFK 15:55
    ♥ Do have faith in what you're doing.