创作立场声明:文章所述内容均经个人实践成功,但不保证所有设备均可使用,如有问题还请见谅,欢迎值友理性讨论,不喜勿喷。
上篇文章我介绍了移动宽带如何通过IPv6获取公网IP,达到外网访问的目的。但是IPv6地址不仅巨长,不便输入,而且是经常变动的,必须通过动态域名解析的方法,保证对设备的便捷持续访问。
请值友先移步上篇文章,看看如何进行光猫桥接和获取IPv6地址。
文章链接:
1、通过freenom申请免费域名
2、通过DNSPOD设置域名解析
3、设置DDNS自动更新IPV6地址
既然是张大妈这里发稿,自然是坚持“免费才是硬道理”的原则。其实免费域名有很多,但是我还是强烈推荐freenom,不仅是因为它是非常知名的免费*级域名服务商,服务稳定,免费时间长达12个月,而且拥有.tk .ml .ga .cf .gq等五个极简*级域名,有很多可供选择的余地。比如我就注册了5位字母+两位后缀构成的域名,非常简洁好记。
freenom域名申请步骤如下:
1、访问官网,查询你需要的域名是否可用。
浏览器输入网址,在网站的搜索框中输入你想要的域名,比如说“smzdmmm”(话说smzdm已经被抢注),可以看到五个域名都是可用的。
随便选择一个,点击“现在获取”,选择右上角的完成,进入结算页面。这时我的页面变成了英文了,如果选择右上角的中文界面,就又会跑到主页上,所以英文页面将就看吧。
这里的Period一定要将默认的“3 Mouths"选择成“12 Months",点击continue.
在接下来页面中输入邮箱地址,支持QQ邮箱,点击Veryfy My Email Aress。输入后将会发送一封确认邮件到你的指定邮箱。
进入你的邮箱,点击发来的链接,会进入freenom的注册和订单确认页面,随便输入就行,除了密码要记住外,没有什么需要注意的。
注册成功后,点击右上角的Sign in,就可以使用刚才注册的邮箱和密码登录了。登录后点击上方的Services-My Domains,可以看到刚才注册的域名已经激活,有效期到2022-02-14。
保持这个页面不要退出,一会儿还要回来设置DNS解析。
一般教程中域名注册和解析都是用阿里云,我是鬼使神差般注册了个的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了。
1、下载ArDNSPod脚本
到这个网址下载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出现了好几个错误,问题我就不详述了。简略来说有以下几个问题:
3.2 我的群晖5.2需要修改的地方
除了3.1提及的官方要求的修改部分外,经过摸索,群晖5.2还需要对ddnspod.sh做如下修改,懒人可以下载文后的连接。
修改完成后,脚本就可以正常执行了,这是执行后的结果。没有报错,提示Last IP is the same as current, no action. 说明IPv6地址无需更新。
最后一步是将脚本设置为群晖的定时任务,这个就比较简单了。进入群晖“控制面板”-计划任务-新增,输入脚本所在路径,执行时间是每30分钟执行。
经过上面的设置,外网访问群晖应该很正常了。无论是网页版登录群晖后台,还是DS Photo都能正常访问。
通过上述折腾,终于解决了外网访问群晖的问题。借助IPv6和动态域名解析,其实还有很多玩法,由于这是直接通过外部访问,没有借助任何其他服务器,访问速度完全取决于宽带的上传速率,理论上应该是所有私有云中访问速度最快的。
正值春节,祝各位值友新年大吉大利,剁手快乐。
最后: