V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
flynaj
V2EX  ›  分享创造

分享一个更新 ddns ipv6 的脚本!

  •  
  •   flynaj ·
    flynaj · 2020-09-24 15:31:26 +08:00 · 3491 次点击
    这是一个创建于 1539 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚才配置树梅派的 ddns 配置了半天发现它系统里面的 inadyn 版本太老。其它感觉又太大。无奈自己写了个脚本,分享给大家。我用的是 dns.he.net ,五年前就只有它支持 ipv6,改 curl 后面的参数就可以适应其它 ddns 了。

    */10 * * * * /opt/dns.he.sh 加入 crotab 10 分钟运行一次

    #!/bin/bash
    export LastIP=`/bin/cat /var/log/ipv6addr`
    export NowIP=`/bin/ip -o  -6 addr show scope global  | /bin/sed -e's/^.*inet6 \([^ ]*\)\/.*$/\1/;t;d'`
    if [ -z "$NowIP" ]
    then
            echo `date` 没有 IPV6 !退出!>> /var/log/dns.he.log
            exit
    fi
    if [ "$NowIP" != "$LastIP" ]
    then
            echo -n "$NowIP" > /var/log/ipv6addr
            echo `date` "IP 改变,更新 Dns..." >> /var/log/dns.he.log
            echo -n `date` [  >> /var/log/dns.he.log
            #下面一行代码是更新 dns,请根据自己情况修改
            curl -6  -k "https://dyn.dns.he.net/nic/update" -d "hostname=你的域名" -d "password=你的密码" >> /var/log/dns.he.log
            echo ] >>/var/log/dns.he.log
    else
            echo `date` "IP 没有变化..." >> /var/log/dns.he.log
    fi
    
    5 条回复    2021-04-05 13:04:22 +08:00
    axiauk
        1
    axiauk  
       2020-10-06 06:39:45 +08:00
    同样用 he.net 。看现在已经支持 inadyn 了,正在摸索。
    这个 IPV6 的脚本不错,收藏。 不使用路由器 DDNS 更新 IPV4 的话, 使用 checkip.dns.he.net 比对,有没有对应的 IPV4 脚本补一个吧。

    我目前每 10 分钟执行下面两条命令。
    #!/bin/bash
    curl -4 "https://域名:密码 @dyn.dns.he.net/nic/update?hostname=域名"
    curl -6 "https://域名:密码 @dyn.dns.he.net/nic/update?hostname=域名"

    继续研究 inadyn 不知道哪个方案好些。?
    flynaj
        2
    flynaj  
    OP
       2020-10-06 11:44:03 +08:00
    @axiauk #1 v4 国内已经没有什么用处,v6 用我这个脚本在 ip 没有变化的时候不发送网络请求,还有 ipv6 的特性,不必用 checkip.dns.he.net 比对,最小化网络请求。在我的树莓派上,48 小时才会 ip 变一次,48 小时才会发一次网络请求。
    axiauk
        3
    axiauk  
       2021-02-12 00:23:49 +08:00 via Android
    @flynaj 既然路由器后的 ipv4 ddns 麻烦,如果 ipv6 变化更新 ipv6 的同时顺带更新 ipv4,如果 v6 没有变化也不去产生流量更新 v4 。能不能帮写一个。
    axiauk
        4
    axiauk  
       2021-02-12 00:26:31 +08:00 via Android
    万分感谢啊,感觉这个逻辑对拨号同时拥有 v6,v4 进行 ddns 比较合理。
    qinghon
        5
    qinghon  
       2021-04-05 13:04:22 +08:00
    翻来翻去还是这家的好用
    顺便改了一下
    https://gist.github.com/qinghon/52773319a65cb9608ccf743b023fa99a
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   932 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:51 · PVG 06:51 · LAX 14:51 · JFK 17:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.