简单的说就是把一个IP地址映射到一个域名身上这是DNS的作用,而DDNS的全称是动态域名服务,也就是把动态的IP地址映射到一个域名上面。多的也不做解释,知道的自然知道,不知道的自己去查一下。
开始
为什么选择Vultr
最重要就是免费。
因为我之前就在用Vultr的DNS域名服务,登录之后解析直接可以调,便于管理,其次Vultr的域名TTL时间最低可以设置300秒。
TTL就是域名解析结果缓存的时间,缓存时间越短,就更新最近的解析结果越及时,但是也会增加重新解析请求的发送,可能会影响通信。
使用Vultr的域名解析服务
废话不多说,我这里用的是Vultr 的域名解析服务,所以首先要把域名的NameServers改成Vultr的,分别是ns1.vultr.com ns2.vultr.com。这个在你购买的域名服务商那里改,我的是在namesilo上面买的域名。
Vultr 上面进行配置
然后登陆Vultr官网,如果没有账号可以点此链接进行注册www.vultr.com(会获得100$的30天有效余额,可以用来买些服务器)。
登录Vultr之后,把鼠标移到+号上面,然后点击add Domain来添加域名。
然后上面那个Domain就填你的域名,下面的IP address就随便填个127.0.0.1。点击add就添加完成了。
然后开启Vultr的Api。
如图箭头位置点击,然后开启api就获得如图的样子,然后设置一下Access Control中可以使用api的IP地址,这里设置允许任何的IPV4和IPV6地址使用。然后复制一下key就好了。(此key一定不可泄漏,通过此key可以操作你Vultr里面的所有财产)
脚本使用
前置工作完成了,上脚本。适用于Centos7,由于Vultr Api返回的是json格式数据,所以需要装一个软件来解析这个软件就是jq还要保证有curl和wget程序所以执行以下命令。yum install curl wget jq -y
然后下载脚本并执行:wget evlan.cc/ddns.sh && bash ddns.sh
此脚本默认你当前是root身份用户且仅支持2级及以上的域名解析。
比如我们要给服务器设置ddns的域名为ddns.aaa.com
运行脚本后按照提示第一个输入你的vultr的key回车,第二个是输入域名头“ddns”回车,第三个输入域名主体“aaa.com”回车。
最后他会自动组合成“ddns.aaa.com”,整个脚本基本秒完成。
脚本会在生成一个文件,位置在/usr/local/ddns/你的域名/ddns.sh,并设置cron任务每三分钟执行一次这个ddns.sh脚本。
在/usr/local/ddns/你的域名/ 目录下还有log.txt记录ip更换的时间日志,如图。
卸载
卸载很简单,直接删除/usr/local/ddns/你的域名 这个目录,然后编辑/var/spool/cron/root,删除*/3 * * * * /bin/bash /usr/local/ddns/你的域名/ddns.sh > /dev/null 2>&1
这一行就好了。