写在前面的话
受够了群晖的quickconnet的小水管了,急需一个新的解决方法,这是后发现移动没有公网IP,只有ipv6(公网的),时候有小伙伴要问,要是没有ipv6就没办法访问群晖了吗?
不,当然不是,这时候就轮到ddnsto出马了,这就是解决没有公网ipv4的解决方法,顺便说一下,因为我需要更改群晖的默认端口,所以就算是群晖洗白了,quickconnet也是无法使用的,所以这个方法也是省了洗白的这一步。但是不洗白有没有影响这个就不知道了。
还有使用这个方法的是需要花钱的,想着白嫖的看到这句话的时候就可以略过了!!!!
一、软硬件清单
- 首先需要一台已经安装好系统的黑群晖或者白群晖
- 需要在阿里云注册的一个域名
- 需要阿里云的RAM账号
- 群晖系统为7.1.1
- Python3、python3-pip
二、实现阿里云ddns
1.购买域名,如果这步不会的话,麻烦去问度娘
2.获取accessKeyId和accessSecret
可以在阿里云控制台个人中心直接获取,但是一般建议使用RAM角色来进行权限控制,这样这个accessKey和accessSecret就只能操作域名,不能操作其他的资源,相对会比较安全。关于RAM用户
3.环境安装,阿里云ddns需要用到python环境,所以需要安装Python环境,由于群晖7.1.1自带Python,所以Python不需要安装,只需要安装Python-pip,群晖需要开启ssh,打开家目录
4.开启ssh
5.打开家目录
6. 使用ssh软件连接群晖,我这里使用的是putty,使用其他的也可以。
7. 输入账户名和密码,密码不显示
8. pip3 安装、配置。群晖默认不支持 apt-get 之类的命令,使用 wget 下载 get-pip.py 安装 pip。
wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py'
python3 /tmp/get-pip.py
# 权限不够的话,加上 --user
# python3 /tmp/get-pip.py --user
rm /tmp/get-pip.py
安装之后提示 pip3 的安装目录(一般是 /homes/USERNAME/.local/bin)不在系统的环境变量里。
要先跳到安装目录里,我这里的是这个
cd .local/bin
./pip3 -V
./pip3 list
配置环境变量
所以我手动把 pip3 目录/var/services/homes/admin/.local/bin加入环境变量。
nano ~/.bash_profile
# 写入以下内容
export PATH=$PATH:/var/services/homes/admin/.local/bin
# 保存、退出
# 运行以下命令使生效
source ~/.bash_profile
# 最后可以检查一下
echo $PATH
更改源
pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip3 config list
pip3 卸载
python3 -m pip uninstall pip
安装阿里云SDK和其他第三方库
pip3 install --index-url https://mirrors.aliyun.com/pypi/simple aliyun-python-sdk-core-v3
pip3 install --index-url https://mirrors.aliyun.com/pypi/simple aliyun-python-sdk-domain
pip3 install --index-url https://mirrors.aliyun.com/pypi/simple aliyun-python-sdk-alidns
pip3 install --index-url https://mirrors.aliyun.com/pypi/simple requests
下载程序主体
Gitee下载
GitHub下载
为作者求Star
将 aliddns.py文件下载下来。
然后将其放在用户文件夹内,具体怎么放请自行百度
在用户文件夹内创建一个名为alidns的文件夹,将下载好的aliddns.py放在里面。
修改配置文件
进入aliddns文件夹,使用Vi进行编辑aliddns.py,或者是nano,这个需要手动安装。
Vi编辑保存是esc-:wq
nano是Ctrl+x+y保存文件,然后修改aliddns.py的权限
cd进去alidns文件夹内,输入:
sudo chmod -R 775 alidns.py
输入下面代码进行验证
python3 aliddns.py
运行成功的图
三、设置定时任务
切换root用户,输入sudo -i
切换到root用户之后,我们就可以使用文本编辑工具(vim或者nano)来编辑crontab的计划任务了。
vim /etc/crontab
MAILTO=""PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
#minute hour mday month wday who command0 0 * * * echo "hello synology"
#例如:每隔一分钟往tmp目录写入一个以时间戳命名的文件
*/1 * * * * root touch /tmp/$(date +\%Y\%m\%d\%H\%M\%S)
最后 restart 一下 crontab 服务就可以了,以下是 DSM 6+ 重启 crontab 的方式:
synoservice --restart crond
如果是 DSM 7+ 系统则运行 synosystemctl restart crond
命令来重启 crontab
四、ddnsto的安装
1.从ddnsto官网下载合适自己的ddnsto的安装包,我的是
然后我就偷个懒不写了,ddnsto官网有教程