github上下载的 aliyun_ddns (https://github.com/limoxi/aliyun_ddns) 里面有几个bug, 1. 获取本地IP的是走的百度,解析异常; 2. 读取上次IP异常,文件打开方式错了; 3. 无法新增A记录; 自己修改了下,懒得去提交和fork了, 5.2环境下测试OK,脚本见附件。 详细步骤如下: 阿里云,申请个域名,做好实名认证,3年也没个多少;并记录下自己的 access_key,secret_key 信息(登录后,鼠标移动到页面右上角头像那,弹出菜单中有 accesskey 字样,点进去即可),建议启用 RAM 控制,给个子账户以 DNS 访问权限即可。 内网计算机,以 root 用户 ssh 登录到 nas;sftp/wscp上传附件,解压缩,修改 settings.json中的3个配置项; 修改 /etc/crontab , 添加一条任务:(5分钟检查一次,通常免费DNS解析是10分钟粒度,保证赶上这个粒度即可) 代码: */5 * * * * /usr/bin/python /root/aliyun_ddns/aliyun_ddns.py >> /root/aliyun_ddns/log.txt 2>&1 任务中的路径自行调整下; 重启nas python脚本基本逻辑如下: 获取本网的真实 IP,如果是100号开头的,请打电话给运营商要外网IP; 检查是否和上次IP一致,若不一致则继续; 从阿里云获取所有A记录; 3.1 若有A记录,且ip不一致,则替换所有A记录的value为本网的外网IP地址; 3.2 若无A记录,则添加一个A记录 通过这个方法,花生壳之类的可以不用了,干干净净的解析。直接一级域名访问你自己的nas,不要太爽。 ps. 其他要做的事情: 路由器做好端口映射,通常 5000=>NAS内网IP:5000,8080 => NAS内网IP:80 就够了;其他端口自行百度 nas上没有pip的话,wget 一个pip即可: wget https://bootstrap.pypa.io/get-pip.py , python运行它后,即可通过 pip 安装 python 库。在 aliyun_ddns.py 中需要用到几个库: 代码: pip install requests pip install bs4 ssh 需要在控制面板开通; 原则上,这个和群晖关系不大,linux , windows 都可以这样来处理域名解析。 settings.json 注意保密。这是你阿里云的远程访问凭据!