群晖从公网访问最方便的一个方式就是使用其自带的QC功能,这个对于普通人来说已经足够了,但是这还不能够满足其他的一些高级应用场景,比如要搭建自己的邮件服务器等功能,就不能够单纯的使用群晖的QC功能,下面就介绍一下使用阿里云DDNS来实现从公网访问家庭NAS的方式。
本文将从以下几个方面进行介绍:
-
准备工作
-
阿里云的配置
-
群晖的配置
-
脚本的解释
-
任务计划计划配置
-
调试
1.准备工作
开始之前我们必须要具备以下几个硬性条件:
-
阿里云的域名
-
家里的网络具备动态公网IP
-
光猫需要运行在桥接模式下
解释:b.目前北方最容易获取动态公网IPv4地址的是电信网络,联通次之,移动基本不可能
c.光猫的工作模式可以联系运营商的人员帮你修改成桥接模式,如果你自己技术够的话可以获取超级管理员账号密码,自行登录后台进行修改,一个不太严谨的判断光猫是否工作在桥接模式下的方式,看一下光猫下的路由器wan口是否是dhcp获取ip。如果是,说明工作在路由模式下,需要改。如果是pppoe拨号,则说明光猫工作在桥接模式下,不需要做二次修改。
2.阿里云配置
阿里云需要配置RAM账号来调用内部api接口,从而实现修改DNS解析的目的,这个地方如果您不太理解也没有问题,按照我的步骤一步步来。
操作路径:登录阿里云-控制台-右上角头像-访问控制-左侧用户-创建用户
点击”用户“重新回到用户界面,找到我们刚刚创建的用户,选择添加权限
在搜索栏搜索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/你的用户名/ 下这个路径
群晖 控制面板-任务计划-新增-计划的任务-用户定义的脚本-修改任务名称
计划页签如下配置:
任务设置页签如下设置:
确定保存即可完成任务计划配置
6.调试
在任务计划页面,选中创建的任务,点击运行,执行计划。
登录阿里云,控制台-域名-找到申请的域名-解析 查看对应的解析是否已经存在
原文链接:https://www.bilibili.com/read/cv7252328/