去年一年攒了几百块私房钱为自己添置了一款矿难暴风2期,然后折腾了黑群晖,安装了很久,但是一直无法外网访问,前些天再研究了一下,发现是脚本的问题,在B站找到了最新的脚本,终于成功了,记录一下!
实现外网访问NAS的基本原理(我猜的):在NAS里按计划执行一个.sh的脚本,此脚本会自动获取NAS的公网地址(这里是IPV6,.sh脚本要靠谱才能正确获得,我之前一直错误就是脚本的问题),然后按计划时间发送给在DNSPOD.CN管理的域名(可以是二级域名),让这个域名自动解析成(这就需要知道你创建的的ID和token才能自动更新解析)这个NAS的公网地址,从而实现就算公网地址被改变了也能照样从你的域名访问你的NAS。
下面开始折腾:
1、我的域名在注册(方便域名不要的时候可以交易😀),然后DNS转到dnspod.cn方便管理。也可以直接在腾讯云注册域名,这样直接就是DNSPOD管理了。登录DNSPOD在右边头像【我的账号】下面有【API密钥】, 进去后点击创建密钥即可创建一个,找到创建并记录对应的ID和token(记住不是腾讯云API密钥,是!)
2、点击下载这个脚本,解压后,用记事本打开里面的.sh文件,修改下,其中:
将上面记的API的ID,token,你的域名以及二级域名按下面对应修改
dnspod_ddnsipv6_id=“xxxxx” #【API_id】将引号内容修改为获取的API的ID dnspod_ddnsipv6_token=“xxxxxxxxxxxxxxxxxx” #【API_token】将引号内容修改为获取的API的token dnspod_ddnsipv6_ttl=“600” # 【ttl时间】解析记录在 DNS 服务器缓存的生存时间,默认600(s/秒) dnspod_ddnsipv6_domain=‘xxxxxx.com’ #【已注册域名】引号里改成自己注册的域名 dnspod_ddnsipv6_subdomain=‘nas’ #【二级域名】将引号内容修改为自己想要的名字,需要符合域名规范,如果不要二级域名,而域名直接访问则填@ local_net=“eth0” # 【网络适配器】 默认为eth0,如果你的公网ipv6地址不在eth0上,需要修改为对应的网络适配器。
然后保存!
3、将上面修改后的脚本用NAS的File Station上传到NAS里面,记住上传的位置(可右击该文件,属性里面复制),然后打开NAS控制面板里面的【计划任务】,添加一个“用户自定义脚本”计划,将上面脚本的位置粘贴到运行命令中,执行的周期自己设置(我设置15分钟一次)即可。
这样就能直接通过域名访问自己的NAS群晖了!
PS.如果出现问题可以在NAS的日志里查看是什么问题,日志的设置在计划任务的设置里面,位置可以自己设置。
执行一次任务后,点开日志里一堆文件夹,找到最新的,里面output.log就是获取的NAS的ipv6地址的情况,可以用记事本打开,然后将里面获取到的IPV6地址,在浏览器中打开试试访问(在浏览器直接访问IPV6地址,必须是http://[IPV6] 才能访问)是否成功,如果IPV6地址访问成功就可能是DNSPOD获取的ID和token出错或者在脚本里设置错误,不成功则看看是不是NAS的网卡【网络适配器】 是不是为eth0,或者是你域名的DNS还没及时更新,这时可以在CMD中输入“ipconfig/flushdns”回车更新一下DNS。
如果都IPV6地址获取正确,DNS也更新到最新IPV6地址了,但浏览器输入域名还是不能访问或者访问到旧的地址,则浏览器要清理一下缓存,特别是360系的浏览器。建议在浏览器的扩展安装里装一个“浏览器缓存清理工具”清理一下。
原文链接:http://www.5ityx.com/cate100/210219.html