sword

群晖利用DNSPod实现DDNS动态域名解析 (解析LAN、WAN或IPV6地址)
简介DDNS的全称是动态域名服务,简单的说就是把动态变化的IP地址映射到一个域名身上,一般来说像VPS这些IP是固...
扫描右侧二维码阅读全文
22
2020/11

群晖利用DNSPod实现DDNS动态域名解析 (解析LAN、WAN或IPV6地址)

简介

DDNS的全称是动态域名服务,简单的说就是把动态变化的IP地址映射到一个域名身上,一般来说像VPS这些IP是固定的,但是对于个人宽带,IP是一直在变的。DDNS就是把动态变化的IP地址绑定到固定不变的域名上,这样访问时只要记住域名就可以了。
特别是现在随着IPV6的普及,基本都有公网的IPV6地址的了,不过现在得到得IPV6地址基本都是动态的,一大串,根本不好记,这时候使用DDNS就很有必要了!!!(PS:经测试,IPV6地址还未提示要求必须备案哦!)

要求:DNSPod账号 + 域名 + ArDNSPod脚本(当然本文是基于群晖6.1.7的,其实win电脑也可以运行这个脚本!)
项目地址:https://github.com/swordstudiox/ArDNSPod (修复部分BUG)
修复内容:
1、增加wget和curl选择,因为群晖wget版本为1.15,DNSpod升级后使用TLSv1.2需要wget 1.6版本;
2、修复路径获取为空问题
3、修复IPV6内外网地址识别

来源项目地址:https://github.com/imki911/ardnspod

配置

1、注册域名,可以去DNSPod注册(账号直通腾讯云,还算便宜)
什么?你是白嫖党?可以参考文章:freenom申请永久免费域名,然后更改nameservers使用DNSPOD解析。
本文例子中使用免费域名freenat.ml

2、登陆dnspod控制台,如果是解析IPV4就创建一条A记录解析,IP值暂时随便填;如果是解析IPV6就创建一条AAAA记录解析,IP值暂时随便填,当然得是IPV6地址的格式(本文以IPV6为例),如下,添加解析后实际使用的域名为nas.freenat.ml

请输入图片描述

3、在 dnspod 的管理界面https://console.dnspod.cn/account/token# 创建API Token

请输入图片描述

4、下载DNSpod脚本,上传到群晖并解压
下载地址:https://github.com/swordstudiox/ArDNSPod/archive/master.zip
请输入图片描述

5、编辑脚本文件ddnspod.sh,IPtype改为3,如果是IPV4选1

请输入图片描述

5.1 修改网卡设备名(20210911更新,不知道为啥自己网卡名突然变了,导致获取记录值不正确)
群晖命令行输入 ifconfig,查看具有IPv6地址的网卡设备名,例如我的是 ovs_eth0
请输入图片描述

就将ddnspod.sh里第69行 ip addr show dev eth0 | 这句里的 eth0改为 ovs_eth0
请输入图片描述

6、修改配置文件dns.conf,填入API TOKEN的ID和TOKEN,以及域名,子域名前缀,如下图例子

请输入图片描述

7、试运行脚本,如图提示基本就没问题了

sh ./ddnspod.sh

请输入图片描述

8、群晖添加计划任务

控制面板-->任务计划-->新增-->计划的任务-->用户定义的脚本

请输入图片描述
任务名称随意设置
请输入图片描述

运行时间这里我们设置30分钟检测一次更新,注意这里有个坑,注意首次运行时间,最后运行时间的设置
请输入图片描述

任务设置填入脚本绝对路径,保存就OK了!
请输入图片描述

9、手动运行一下脚本,到DNSPod域名控制台查看,看看是否更新了记录值. 接下来就可以通过域名nas.freenat.ml访问群晖了。

Last modification:September 11th, 2021 at 10:33 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

26 comments

  1. 米粒在线   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )

    你好啊 配置好的,但是外网IPV6不能正常访问,是什么原因呢?

    1. sword   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
      @米粒在线

      1、用ipv6 test的网站测试一下ipv6是否有问题,有些可能DNS有问题;
      2、检查路由器防火墙是否需要放行,以及群晖防火墙;

      1. 米粒在线   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
        @sword

        1.ipv6 test测试 10条都OK 都绿的。 你的 DNS 服务器(可能由运营商提供)已经接入 IPv6 互联网了。 IPv6 状况评分
        10/10。正常获取公网IP的。2.路由器防火墙也是针对端口放行的。群晖没启用防火墙。

        1. sword   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
          @米粒在线

          1、试试用浏览器输入[群晖ipv6地址]:端口,看看能不能访问,
          不行的话运营商问题,无解,可以的话DDNS有问题,可能还有救;
          2、浏览器对域名有缓存(ip还是原来的,没有跟随DDNS更新),ctrl+F5强制刷新一下

          1. 米粒在线   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
            @sword

            1.和群晖同一个网内的电脑可以访问([群晖ipv6地址]:端口)。2.域名我换了2次了,原来用nas 后来改nas1 。都是本地网内的电脑可以访问,外网访问不到。

            1. sword   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
              @米粒在线

              在外网直接用地址访问一下就知道了

              1. 米粒在线   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
                @sword

                我用笔记本在外网V6试过 ,不通。 禁了V4。只留了V6 ,打不开。外网似乎连不到这个V6。而V4公网IP正常。

                1. sword   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
                  @米粒在线

                  (ノ°ο°)ノ那就运营商问题,不知道怎么救了

                  1. 米粒在线   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
                    @sword

                    文章第七步试运行的结果也是一模一样的。计划任务也正常运作。 真的是无解了。∠( ᐛ 」∠)_

                    1. sword   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
                      @米粒在线

                      DDNS只是域名关联变动的IPV6地址而已,这样就比较方便记忆,如果本身ipv6外面都不能访问,DDNS也无解的

                      1. 米粒在线   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
                        @sword

                        通了。外网通了。我把那个IPV6的防火墙端口转发的端口全部删了。关闭路由器IPV6的防火墙。然后就通了。哈哈。
                        关于这个防火墙怎么设置才是最好的。博主有空可以分享下文章啊。我一定来试试。哈哈。太感谢了,帮忙分析问题。辛苦啦。

  2. 米粒在线   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )

    请问 可以IPV4和V6用同一个域名吗?

    1. sword   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
      @米粒在线

      可以的,同一个域名同时支持添加A记录和AAAA记录,也就是ipv6和ipv4同时支持

      1. 米粒在线   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
        @sword

        有个疑问请教下。我配置了域名 ,然后外网webdav 开https 5006连不上 http 5005就能连上。然后证书又是正常的。不解。

        1. sword   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
          @米粒在线

          额,不是5000和5001吗,好像和证书没啥关系,检查一下设置吧

          1. 米粒在线   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
            @sword

            是NetDrive 配置 webdav 使用。

            1. sword   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
              @米粒在线

              这个没用过哎

              1. 米粒在线   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 94.0.4606.81 Google Chrome 94.0.4606.81 )
                @sword

                移动宽带支持ipv6,然后为什么访问不了电信的nas呢

  3. lam   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 87.0.4280.141 Google Chrome 87.0.4280.141 )

    运行脚本是Get Record Info Failed!

    1. sword   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 93.0.4577.63 Google Chrome 93.0.4577.63 )
      @lam

      这个好像是wget版本太低导致的,群晖内置的太低了,我修复的脚本改为curl了应该没这个问题,原作者的有个问题

    2. 云点   ( Mac OS X 10.15.7 Mac OS X 10.15.7 / Google Chrome 91.0.4472.106 Google Chrome 91.0.4472.106 )
      @lam

      检查下TOKEN这些信息是否填错了

  4. fehead   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 87.0.4280.141 Google Chrome 87.0.4280.141 )

    感觉博主分享。第5步修改记录TYPE类型的图片所标示的地方有错误,应该是把“IPtype=1 #1.WAN 2.LAN 3.IPv6”这里的IPtype改为对应的类型,而不是在分支语句if后面的IPtype改类型,分支语名后的IPtype类型只是作为判断条件,而不是设定为对应的记录类型。

    1. sword   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 87.0.4280.141 Google Chrome 87.0.4280.141 )
      @fehead

      >﹏<截图太快了,没细看,,,,主要是已经正常运行两三个月了。。。。。

      1. fehead   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 87.0.4280.141 Google Chrome 87.0.4280.141 )
        @sword

        动作真快,手动点赞。୧(๑•̀⌄•́๑)૭

  5. ccy   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 86.0.4240.198 Google Chrome 86.0.4240.198 )

    一处错误

    1. sword   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 87.0.4280.141 Google Chrome 87.0.4280.141 )
      @ccy

      已改正,谢谢提醒