利用CloudFlare设置DDNS

By 2018年10月7日 教程, 资料备份

使用DDNS可以快速获取VPS的动态IP。

Step 1 解析到CloudFlare

如果域名没有使用 CloudFlare 的 DNS 解析服务,首先要在 CloudFlare 按提示添加域名 imyrs.cn,把域名的 DNS 服务器改为 CloudFlare,增加对应域名的 A 记录 ddns.imyrs.cn。TTL 设为自动。注意,DDNS 使用的域名不要开启 CloudFlare 的 CDN,只用 CF 的 DNS 解析功能,也就是 status 一列对应域名的图标要是灰色的。

Step 2 获取CloudFlare API Key

添加好域名解析后,前往https://www.cloudflare.com/a/profile获取 Global API,把 API 一长串字符复制保存下来。注意,这串 API 不要泄露给其他人。

Step 3 安装Python脚本

1.获取脚本

1
2
3
4
5
wget https://resource.imyrs.cn/bash/cf-ddns.py && wget https://resource.imyrs.cn/bash/cf-ddns.conf
sudo cp cf-ddns.py /usr/local/bin/cf-ddns.py
sudo cp cf-ddns.conf /usr/local/bin/cf-ddns.conf
chmod +x /usr/local/bin/cf-ddns.py
chmod +x /usr/local/bin/cf-ddns.conf

2.配置脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#打开配置文件
vi /usr/local/bin/cf-ddns.conf

#打开 vi 编辑器后键入 a 进入编辑模式。退出编辑模式按Esc。
#然后输入英文字符的 :wq 回车即可保存并退出。输入 :q 是退出但不保存。
#按照以下提示修改内容
{
 "domains": [
  {
   "hosts": [
    {
     "id": "",
     "ipv4": "",
     "ipv6": "",
     "name": "ddns",   #以 ddns.imyrs.cn 为例,此处填入 ddns
     "types": ["A"]
    }
   ],
   "id": "",
   "name": "imyrs.cn"  #以 ddns.imyrs.cn 为例,此处填入 imyrs.cn
  }
 ],
 "user": {
  "api_key": "CLOUDFLARE_API_KEY_HERE",  #填入 你的API KEY
  "email": "CLOUDFLARE_EMAIL_HERE"  #填入你的 CloudFlare 邮箱
 }
}

3.开启crontab定时运行

输入

1
crontab -e

会打开 vi 编辑界面,在里面添加一行定时执行脚本的命令:

1
2
3
4
5
6
7
8
9
10
#下面有几种不同执行频率的命令,选一种适合你的添加就可以了。也可以照着我给的例子自己修改。

#每10分钟执行一次
*/10 * * * *  /usr/local/bin/cf-ddns.py >/dev/null 2>&1
#每30分钟执行一次
*/30 * * * *  /usr/local/bin/cf-ddns.py >/dev/null 2>&1
#每1小时执行一次
* */1 * * *  /usr/local/bin/cf-ddns.py >/dev/null 2>&1
#每天3点到6点每10分钟执行一次(适合每天凌晨换IP的VPS)
*/10 3-6 * * *  /usr/local/bin/cf-ddns.py >/dev/null 2>&1

保存并退出。

4.测试脚本

执行以下命令

1
2
3
python /usr/local/bin/cf-ddns.py

#如果结果中出现类似“update successful”的内容即为成功。
转载请表明出处:ImYrS - I'm Your's
原链接:https://imyrs.cn/241.html