DDNS:适用于阿里云、腾讯云、华为云等国内大厂的动态域名解析方法
DDNS:适用于阿里云、腾讯云、华为云等国内大厂的动态域名解析方法
home again此脚本目前在GitHub上获得了1.4k星星,是一个很棒的开源项目,不过上手有一定的要求,Issues上也有很多提问,希望我这篇文章至少能让你会简单使用。
这里以Linux系统、阿里云为例,其他类同。
一、安装
作者提供了4种安装方式:二进制、pip、源码和docker。这里我选择的是源码直接安装。源码的好处就是更方便diy,我一般都比较喜欢源码。
下载源码
Ubuntu/Debian
cd /root |
CentOS
cd /root |
解压
unzip master.zip |
二、配置文件
默认没有配置文件,我们先运行脚本,脚本会自动帮我们创建配置文件的模板。
./run.py |
现在我们可以配置文件了,参照下面的配置修改,或者直接复制此配置并替换原来的config.json。
其中id为你的阿里云AccessKey ID,token为你的阿里云AccessKey Secret,ipv4为你要设置ddns的域名,此域名需要是已经存在于你的阿里云解析中。ttl就是ttl,阿里云免费版ttl最少是10分钟600秒,如果你付费版你可以将ttl设置为60甚至是1。
{ |
最后需要解决的是你的阿里云id和token。
1、登录RAM控制台
2、依次点击 “人员管理” -> “用户” -> “创建用户”
3、输入登录名称和显示名称,随意写只要自己都认得出来。访问方式为编程访问。
4、现在你能看到AccessKey ID和AccessKey Secret,这两个分别对应的是配置文件里的id和token,请填入其中。
5、现在直接运行脚本还不行,因为上面新创建的用户没有权限,我们还需要给它一个管理云解析的权限。
选中此用户并点击下方的“添加权限”,搜索“AliyunDNSFullAccess”,点击结果添加,然后“确定”。
三、运行脚本
直接运行脚本就可以了,等脚本结束,刷新阿里云的域名解析页面就能看到。例如我的vps的公网ip为168.152.1.1,运行脚本后域名ddns.meb.me已经解析到了168.152.1.1。
./run.sh |
四、添加定时任务
为了让它能在vps的ip改变时及时更新域名解析,达到真正的ddns,我们需要添加定时任务。作者提供的命令为:
sudo ./task.sh |
或者我们使用如下命令
crontab -e |
写入以下定时命令:
*/1 * * * * root "/root/DDNS-master/run.py" -c "/root/DDNS-master/config.json" > /dev/null 2>&1 & |
此命令为每分钟自动执行一次,因为我们设置了缓存,所以不用担心会频繁修改阿里云域名解析。