群晖从公网访问最方便的一个方式就是使用其自带的QC功能,这个对于普通人来说已经足够了,但是这还不能够满足其他的一些高级应用场景,比如要搭建自己的邮件服务器等功能,就不能够单纯的使用群晖的QC功能,下面就介绍一下使用阿里云DDNS来实现从公网访问家庭NAS的方式。
本文将从以下几个方面进行介绍:
准备工作
阿里云的配置
群晖的配置
脚本的解释
任务计划计划配置
调试
1.准备工作
开始之前我们必须要具备以下几个硬性条件:
阿里云的域名
家里的网络具备动态公网IP
光猫需要运行在桥接模式下
2.阿里云配置
阿里云需要配置RAM账号来调用内部api接口,从而实现修改DNS解析的目的,这个地方如果您不太理解也没有问题,按照我的步骤一步步来。
操作路径:登录阿里云-控制台-右上角头像-访问控制-左侧用户-创建用户

一定要勾选"编程访问“

选择下载CSV文件,该文件一定要妥善保存
点击”用户“重新回到用户界面,找到我们刚刚创建的用户,选择添加权限

为账户添加权限
在搜索栏搜索AliyunDNSFullAccess,并赋权给相应的账户

给与AliyunDNSFullAccess权限
确定保存后完成阿里云相关配置。
3.群晖的配置
DDNS脚本需要python3环境及pip安装第三方组件,python3直接通过套件中心安装即可,下面介绍以下如何安装pip,以及如何通过pip安装第三方组件。
通过ssh登录群晖,执行以下命令:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python3 get-pip.py
sudo /volume1/@appstore/py3k/usr/local/bin/pip3 install aliyun-python-sdk-core-v3
sudo /volume1/@appstore/py3k/usr/local/bin/pip3 install aliyun-python-sdk-domain
sudo /volume1/@appstore/py3k/usr/local/bin/pip3 install aliyun-python-sdk-alidns
sudo /volume1/@appstore/py3k/usr/local/bin/pip3 requests
以上命令执行成功后,群晖配置完成。
4.脚本的解释
脚本下载地址https://gitee.com/zeruns/aliddns_Python

相关解释已经比较明确
其他补充:
name_ipv4 = ""如果是主域名的话,此处需要添加为”@“
脚本要在群晖内能顺利执行,因为编码问题需要将print后的内容全部改为英文
5.任务计划配置
通过ssh将python脚本文件上传/var/services/homes/你的用户名/ 下这个路径
群晖 控制面板-任务计划-新增-计划的任务-用户定义的脚本-修改任务名称
计划页签如下配置:

每10分钟执行一次
任务设置页签如下设置:

你的用户名,一定要换成你自己的
确定保存即可完成任务计划配置
6.调试
在任务计划页面,选中创建的任务,点击运行,执行计划。
登录阿里云,控制台-域名-找到申请的域名-解析 查看对应的解析是否已经存在