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

提供一个 ddns 更新的思路

  •  
  •   cloudsigma2022 · 2022-05-18 19:07:16 +08:00 · 2511 次点击
    这是一个创建于 923 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT ,

    最近 cf 更新似乎有点问题,每次重启光猫或路由器,要尝试很多次才能更新 ddns 。

    正好,手里有个 n1 , 安装 openwrt ,在 op 上 安装 docker 版的 nodered + homeassisstant 。

    所以,利用 ha 的集成 dnsip 去更新 ddns ,一旦发现 ip 变化,会自动更新。

    bbs.hassbian.com/forum.php?mod=viewthread&tid=16149

    s2.loli.net/2022/05/18/jrXOlPgykVhw5zo.png

    14 条回复    2022-05-23 02:16:08 +08:00
    gam2046
        1
    gam2046  
       2022-05-18 19:39:26 +08:00
    先 openwrt ,在 home assisstant ,最后就为了一个 ddns 是不是太重了。

    试试这个,虽然写的丑,但是能用

    https://gist.github.com/Lua12138/eee59d5f2a04e1d238303d9c2337c25e

    一共接受 4 个参数 CF_API_TOKE 、CF_DOMAIN 、CF_DNS_DOMAIN 、CHECK_CYCLE

    需要依赖 jq curl bash
    i3x
        2
    i3x  
       2022-05-18 23:45:31 +08:00 via Android
    @gam2046 +1 。。。。
    另外我有一个精简的 ddns 只有 7 行,只支持 dnspod 。3322 取 ip 。当然我这移动就算公网 ip 也不能用。会错误检测出电信 ip 。
    大佬这个代码怎么发的我也来一发
    cloudsigma2022
        3
    cloudsigma2022  
    OP
       2022-05-19 06:46:34 +08:00 via iPhone
    @gam2046
    @i3x
    两位,shell 脚本的有,看第二行描述,要尝试很多次才能更新。
    这个思路是给有 ha 和 nr 环境下的
    lovelylain
        4
    lovelylain  
       2022-05-19 09:16:47 +08:00 via Android
    我也是用 nr 做的,走 dnspod 的 api ,定期检查有没有公网 ip 以及 ip 有没有变化,没有公网 ip 就恢复为云主机 ip 。宽带最开始没有公网 ip ,后来自动变公网了,就折腾了这些,结果没用几天又变回内网 ip 了。现在还能用的部分功能是 frp 跑 xtcp 模式后,微信发指令修改 ip 为 xtcp visitor.
    neroxps
        5
    neroxps  
       2022-05-19 13:02:26 +08:00
    ddns 这种希望稳定运作的服务我是不可能放在 homeassistant 上的。homeassistant 折腾的话有可能会折腾出问题。
    我总结经验就是,主路由不应该折腾,我是买了个 ROS 路由器,将 vpn ddns 期望稳定的服务我都放上面跑。下面的网络,系统,如何折腾,如何搞,都不会影响这些服务。
    wkmike
        6
    wkmike  
       2022-05-19 14:27:18 +08:00
    要不试试 dnsomatic ?
    sunnysab
        7
    sunnysab  
       2022-05-19 17:51:23 +08:00
    我这边考虑到 dnspod 免费版的 TTL 最低只能设置为 60, 上个月研究了半天自己在云服务器上建了个 DNS 服务器跑 DDNS...
    TTL 随心设置...为的是切 IP 的时候能马上恢复 :D
    i3x
        8
    i3x  
       2022-05-19 23:03:25 +08:00 via Android
    @cloudsigma2022 既然能跑 ha 。。。更底层的系统跑 ddns 脚本不是更稳定? windows 的话用计划任务,类 unix 用 shell 。这种底层的基建侵入 ha 之类的有什么优势呢?
    你说是尝试很多次更新,可能就是 DNS 缓存的问题。如果你觉得不爽,可以改成更新后就另外邮件什么的各种方式实时通知喽
    i3x
        9
    i3x  
       2022-05-19 23:06:59 +08:00 via Android   ❤️ 1
    @sunnysab dnspod 有 ddns api ,通过此 api ttl 强制=10 。虽然很良心,但是没什么用,运营商有 dns 缓存。各大公共 dns 服务器好像也不怎么遵循这个 ttl 。github 看过好几款都不是用 ddns 专用的 api ,而是普通修改 a 记录的。


    @neroxps 我也是。存储、网络都不虚拟化。不搞 all in boom 。。。不过。我会在专门的虚拟机折腾,然后迁移到特定的生产环境。不会折腾 boom 。不知道大家有没有这样还是直接每次都直接折腾生产环境。
    neroxps
        10
    neroxps  
       2022-05-20 07:57:41 +08:00 via iPhone
    @i3x 哈哈,家里条件不允许,在生产环境配置主路由的时候大概脑子里都有清晰的配置思路,基本上排除了配置错误导致 vpn 流量被 drop 的情况。只要主路由 vpn 还能用,基本就能恢复。
    461da73c
        11
    461da73c  
       2022-05-20 23:35:23 +08:00
    我用 go 写了个 阿里云的,很好用,在 N1 上跑了几个月了,从来没出过问题。
    missdeer
        12
    missdeer  
       2022-05-21 11:56:22 +08:00
    我也是用 go 自己写了一个简单的 https://github.com/missdeer/ddnsclient
    v2tudnew
        13
    v2tudnew  
       2022-05-21 19:49:18 +08:00
    公共 DNS 服务器,基本上最低 TTL60 ,不过可以设置半夜重拨倒也没啥区别。
    fat00119
        14
    fat00119  
       2022-05-23 02:16:08 +08:00 via Android
    @i3x 分享一下?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2806 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:13 · PVG 23:13 · LAX 07:13 · JFK 10:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.