NAT 的小鸡好处坏处各有一半,其中有一个大坏处就是服务商使用的是 IP 访问,这样一旦服务商更换了 IP 那就真的好麻烦,前几天在 TG 中发现了主机百科的这篇文章,于是就直接搬过来了~
一、方法 1 TG 群友提供的,最为方便,建议使用这个。
1、进入获取 CFAPI,查看邮箱,获得 API
这个是邮箱
拉到最底部,获取 API
2、配置文件,并运行
wget --no-check-certificate https://zhujiwiki.com/usr/uploads/2018/07/CloudFlareDDNS/cloudflare-update-record.sh > /root/ddns.sh && chmod +x /root/ddns.sh
编辑 ddns.sh,主要修改 auth_email 为你的 CF 邮箱、auth_key 为 API KEY、zone_name 为你的主域名,record_name 为你要作为 DDNS 的二级域名(之前做好解析,解析记录填 127.0.0.1 就可以)
运行文件,到 CF 解析处看是否 IP 已经变化
bash ddns.sh
3、配置 Crontab 任务
crontab -e
添加如下代码
*/5 * * * * bash /root/ddns.sh
5 分钟检测一次,IP 是否改变。
yum -y install vixie-cron #报错就报错,没关系的,下一步 yum -y install crontabs
等添加了任务之后,再手动运行 crontab
service crond start #运行 crontab service crond status #查看 crontab 状态 chkconfig crond on #Centos6 允许 crontab 自启动 systemctl enable crond.service #Centos7 允许 crontab 自启动
5、检测 IP 地址
whatismyip.akamai.com
,不错
二、方法 2
1、登陆 CloudFlare,获得 API 信息
a、获取 API KAY
b、获取 zone_id
c、设置要使用 DDNS 的域名解析
2、配置 DDNS 相关
a、下载文件到要部署 DDNS 的服务器
wget --no-check-certificate https://zhujiwiki.com/usr/uploads/2018/07/CloudFlareDDNS/CloudFlare_DDNS_Setter.sh wget --no-check-certificate https://zhujiwiki.com/usr/uploads/2018/07/CloudFlareDDNS/config.conf
b、编辑 config.conf
vi config.conf
填写 CloudFlare 账号的 email、API KAY、zone_id
c、获取 record_id
bash CloudFlare_DDNS_Setter.sh
输入 1
你会得到一段代码,里面包含的 id 即我们需要的 record_id
d、继续编辑 config.conf
vi config.conf
填写后面的三项,record_id 就是刚获取的,域名填写你刚才解析的域名,ttl 填写 120 即可
e、解析动态 VPS IP
bash CloudFlare_DDNS_Setter.sh --ddns
登陆 CloudFlare 查看 IP 是否自动修改为服务器的 IP
如果同步失败请检查 API_KEY 等信息是否正确。
f、配置 Crontab 任务
crontab -e
添加如下代码
*/5 * * * * bash CloudFlare_DDNS_Setter.sh --ddns
相关链接
南琴浪博客
Github-CloudFlare_DDNS_Setter
Neworld