群晖IPv6动态域名解析保姆级教程
创作立场声明:文章所述内容均经个人实践成功,但不保证所有设备均可使用,如有问题还请见谅,欢迎值友理性讨论,不喜勿喷。
前言
上篇文章我介绍了移动宽带如何通过IPv6获取公网IP,达到外网访问的目的。但是IPv6地址不仅巨长,不便输入,而且是经常变动的,必须通过动态域名解析的方法,保证对设备的便捷持续访问。
请值友先移步上篇文章,看看如何进行光猫桥接和获取IPv6地址。
文章链接:
操作步骤
1、通过freenom申请免费域名
2、通过DNSPOD设置域名解析
3、设置DDNS自动更新IPV6地址
申请freenom免费*级域名
既然是张大妈这里发稿,自然是坚持“免费才是硬道理”的原则。其实免费域名有很多,但是我还是强烈推荐freenom,不仅是因为它是非常知名的免费*级域名服务商,服务稳定,免费时间长达12个月,而且拥有.tk .ml .ga .cf .gq等五个极简*级域名,有很多可供选择的余地。比如我就注册了5位字母+两位后缀构成的域名,非常简洁好记。
freenom域名申请步骤如下:
1、访问官网,查询你需要的域名是否可用。
浏览器输入网址,在网站的搜索框中输入你想要的域名,比如说“smzdmmm”(话说smzdm已经被抢注),可以看到五个域名都是可用的。
随便选择一个,点击“现在获取”,选择右上角的完成,进入结算页面。这时我的页面变成了英文了,如果选择右上角的中文界面,就又会跑到主页上,所以英文页面将就看吧。
这里的Period一定要将默认的“3 Mouths"选择成“12 Months",点击continue.
在接下来页面中输入邮箱地址,支持QQ邮箱,点击Veryfy My Email Address。输入后将会发送一封确认邮件到你的指定邮箱。
进入你的邮箱,点击发来的链接,会进入freenom的注册和订单确认页面,随便输入就行,除了密码要记住外,没有什么需要注意的。
注册成功后,点击右上角的Sign in,就可以使用刚才注册的邮箱和密码登录了。登录后点击上方的Services-My Domains,可以看到刚才注册的域名已经激活,有效期到2022-02-14。
保持这个页面不要退出,一会儿还要回来设置DNS解析。
通过DNSPOD设置域名解析
一般教程中域名注册和解析都是用阿里云,我是鬼使神差般注册了个腾讯的DNSPOD,导致教程过少,走了不少弯路,没办法,只能一条路走到黑,正好把自己踩过的坑给大家介绍清楚,以免再次被坑。
进入网址,选择免费注册。由于是中文网站,具体注册过程我就不详述了,总之是必须注册+实名认证。过程也很快,而且全程免费。
注册完成后,进入控制台,点击DNS 解析-添加域名,输入刚才注册的域名,确认。
这时会提示DNS未正确设置,并给出正确的DNS服务器地址。据说每个人给的都不一样,我就打了个码。
回到刚才freenom的页面,如果刚才的页面关闭了,可以登录freenom后,点击services-my domains里找到。点击域名右侧的Manage Domain,在下一个页面点击Management Tools-Nameservers,选择Use custom nameservers (enter below),在下面的页面中输入上面DNSPOD提供的两个DNS服务器地址。
再回到dnspod,如果还是提示DNS未设置,点击重新验证即可。
点击smzdmmm.tk这个域名,进入域名解析编辑界面。系统已经自带了两条关于DNS服务器的解析,不用管。点击添加记录,“主机记录”输入“www”,“记录类型”选择“AAAA”,“记录值”输入你群晖的IPv6地址,其他保持默认即可。
由于域名解析需要隔一段时间才能生效,过一会儿可以ping一下www.smzdmmm.tk,应该就可以看到刚才输入的ip了。
设置DDNS自动更新IPv6地址
1、下载ArDNSPod脚本
由于IPv6地址经常变动,所以我们还需要进行动态域名解析(即DDNS)。大部分路由器和群晖自带的DDNS服务,都只是针对IPv4,没有支持IPv6功能。而且DNSPOD比阿里云小众一些,DDNS工具和教程比较少,我找到一个ArDNSPod脚本,可以实现IPv6下对DNSPOD的DDNS(有点绕哈 )。
到这个网址下载ArDNSPod脚本,解压后得到ddnspod.sh和dns.conf这几个文件。
2、获取DNSPOD的token和ID
点击DNSPOD右上角的头像,进入安全设置页面。点击左边的“密钥管理”-“创建密钥”,密钥名称随便输入,方便记忆就行,这里输入我输入ArDNSPod。
系统会自动弹出ID和密钥,而且只显示一次。由于密钥非常长,建议用文本文档记录下来,一会儿要用到。
3、编辑ddnspod.sh和dns.conf文件
回到ArDNSPod脚本,我在这里踩了不少坑,折腾半天好不容易弄好了,这也是我想写这篇文章进行记录的主要原因。如果你也是群晖5.2,可以按照我的方法进行修改,如果你正常使用没有问题,则可以不用修改。我先说正常版,再说我额外修改的地方。
3.1 正常修改版
按照脚本作者的使用说明,正常需要做如下修改:
使用notepad++或者Ultraedit等纯文本编辑器打开ddnspod.sh,实在不行用写字板也行。将IPtype=1 改成IPtype=3
编辑dns.conf,进行如下修改:
arToken后面输入ID,token
arDdnsCheck后面输入“域名”“子域名”。其中子域名需要在DNSPOD中创建,如果有多个域名,按arDdnsCheck “域名”“子域名”的格式分多行输入。
修改完成后,将两个脚本文件上传到群晖。我是上传到了volume1/docker/Dnspod文件夹下了。为了保险起见,建议执行一下脚本,需要使用SSH用ROOT用户登录群晖,进入脚本目录执行一下。如果顺利,则会显示ip更新成功或无需更新。
官方的指导文件到这里就结束了,但我的群晖5.2出现了好几个错误,问题我就不详述了。简略来说有以下几个问题:
没有BASH脚本执行器,不能识别#!/bin/bash,要修改成!/bin/sh才可以执行。
群晖系统自带的wget版本只有1.5,太低了,不能识别“TLSv1_2”参数,执行脚本会报错。查了下,该参数需要wget的1.6版本以上才行,而群晖自带的LINUX又不具备编译环境,折腾升级也没有成功。后来经过实践,其实把该参数删除也不影响脚本执行。
脚本不能获取当前目录,导致不能读取到同目录下的dns.conf文件,需要手工指定绝对路径才行。
3.2 我的群晖5.2需要修改的地方
除了3.1提及的官方要求的修改部分外,经过摸索,群晖5.2还需要对ddnspod.sh做如下修改,懒人可以下载文后的连接。
ddnspod.sh 第一行要由#!/bin/bash改为#!/bin/sh
将--secure-protocol=TLSv1_2全部替换成空格
最后一行修改为dns.conf在群晖中的绝对路径
修改完成后,脚本就可以正常执行了,这是执行后的结果。没有报错,提示Last IP is the same as current, no action. 说明IPv6地址无需更新。
最后一步是将脚本设置为群晖的定时任务,这个就比较简单了。进入群晖“控制面板”-计划任务-新增,输入脚本所在路径,执行时间是每30分钟执行。
经过上面的设置,外网访问群晖应该很正常了。无论是网页版登录群晖后台,还是DS Photo都能正常访问。
总结
通过上述折腾,终于解决了外网访问群晖的问题。借助IPv6和动态域名解析,其实还有很多玩法,由于这是直接通过外部访问,没有借助任何其他服务器,访问速度完全取决于宽带的上传速率,理论上应该是所有私有云中访问速度最快的。
正值春节,祝各位值友新年大吉大利,剁手快乐。
最后:
我修改的ddnspod.sh下载链接 提取码: ppqm
愚以为
校验提示文案
值友8767845765
校验提示文案
再按一次退出
校验提示文案
哈密瓜neo
校验提示文案
i迈麦
校验提示文案
佐为-
校验提示文案
子翼空城
校验提示文案
有时下雨001
校验提示文案
天堂君子
校验提示文案
_自然派_
校验提示文案
Searge
校验提示文案
大聪明啊
校验提示文案
拉链先森
校验提示文案
值友4740911316
校验提示文案
Angleabs
校验提示文案
nikuangnan
校验提示文案
心有碧水
去看看 可参考
校验提示文案
o00o8
校验提示文案
木棉花永不凋落
校验提示文案
AoobOOCc
校验提示文案
比丘酱
校验提示文案
这就很嚣张
校验提示文案
剁手机器人
校验提示文案
alonewoo
校验提示文案
Ganky
校验提示文案
心有碧水
去看看 可参考
校验提示文案
wowaji
校验提示文案
icozy
我总是无法ping通自己域名,但是阿里云的域名解析里面的DNS服务器状态一直都是正常的,这是为什么?一直都不成功。。。
校验提示文案
值友2745928805
校验提示文案
nikuangnan
校验提示文案
Angleabs
校验提示文案
值友4740911316
校验提示文案
拉链先森
校验提示文案
大聪明啊
校验提示文案
值友4340586941
校验提示文案
木棉花永不凋落
校验提示文案
看见如果
校验提示文案
Searge
校验提示文案
白天里D黑夜
校验提示文案
_自然派_
校验提示文案