Cloudflare 动态域名解析设置全过程,及二级域名ID的获取

Cloudflare 动态域名解析设置全过程,及二级域名ID的获取。首先,Dnspod的动态域名设置很简单,反过来说,也是因为功能有限,所以才简单。

#获取domain_id
curl -X POST https://dnsapi.cn/Domain.Info  -d 'login_token=13834,fe01aa05aded8ada9c3e984fb6144cd7&format=json&domain=uselys.cn'

#获取record_id
curl -X POST https://dnsapi.cn/Record.List -d 'login_token=13834,fe01aa05aded8ada9c3e984fb6144cd7&format=json&domain=uselys.cn'

#提交域名更新。每小时限5次。
curl -s -X POST https://dnsapi.cn/Record.Ddns -d 'login_token=13834,fe01aa05aded8ada9c3e984fb6144cd7&format=json&domain=uselys.cn&record_id=184261226&record_line=默认&sub_domain=home'

就这么三步,燃鹅国产dns的问题,大家也都心知肚明。还有那些花生壳之类的,真要用在生产环境下要多纠结有多纠结,跑起来晃悠悠的,死起来直挺挺的。

所以Cloudflare动态域名解析才是我们真正需要的。用的人不多的主要原因,可能是在获取二级域名的id的麻烦上,确实很难受。

 https://api.cloudflare.com/

Cloudflare API手册,是必备工具,里面详细写明了几乎所有功能的用法。不过要理解的话,必须照着手册去试错。

设置教程

1. 主机里必须安装 curl, 这是跟API通讯的基本工具。

2. 获取域名的Zone ID、账号Email、API Keys(我直接使用Global API Key)。

3. 获取二级域名的ID号,这是最眼花缭乱的一步,很多朋友大概就止步于此。 首先要先设置一个二级域名,比如home.uselys.cn ,IP地址随便填,记住这个 home。

 

然后获取home的ID号:

https://api.cloudflare.com/#dns-records-for-a-zone-list-dns-records

上面是说明书的具体章节。然后是命令样本:

curl -X GET "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records?type=A&name=example.com&content=127.0.0.1&page=1&per_page=20&order=type&direction=desc&match=all"

 

    1.      -H “X-Auth-Email: user@example.com”

 

 

    1.      -H “X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41″

 

    1.      -H “Content-Type: application/json”

 

 

我一开始总是把 Zone Details 和 List DNS Records 搞错,实际上是 List DNS Records。

/zones/023e105f4ecef8ad9ca31a8372d0c353

这一段 /zones/ 后面的字符串改成 域名的ID号

/dns_records?type=A&name=example.com&content=127.0.0.1&page=1&per_page=20&order=type&direction=desc&match=all"

这一段只需要保留问号前面的内容,问号后面都是参数,实际上我们用不着。

结果就是这样:

curl -X GET
    1. “https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records”

 

 

X-Auth-Email 和 X-Auth-Key 改成自己的实际参数就好了。 最终,命令是这样的:

curl -X GET "https://api.cloudflare.com/client/v4/zones/cc837e5e8b25acc36fab40fdf98dcaf9/dns_records"     -H "X-Auth-Email: service@uselys.cn"  -H "X-Auth-Key: a79efe70d7bcdc3rd4763676f3437e412f002" -H "Content-Type: application/json"

记得把发斜杠去掉,做成一个一行命令,然后在命令行执行,结果如下:

{"result":[{"id":"a3365e7fa46ec326cf8ca153e6d7fe5c","type":"A","name":"home.uselys.cn","content":"111.111.111.111","proxiable":true,"proxied":false,"ttl":1,"locked":false
    1. ……

 

 

home.uselys.cn 前面的id值 a3365e7fa46ec326cf8ca153e6d7fe5c 就是二级域名 home 的id。 到此,参数配齐了!

4. 获取本机IP

curl -s http://whatismyip.akamai.com

获取本机IP的方式有很多种,这种比较直观把。

5. 更新 home 的IP,说明书具体章节:

https://api.cloudflare.com/#dns-records-for-a-zone-update-dns-record

章节名称是:Update DNS Record

命令样本:

curl -X PUT "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records/372e67954025e0ba6aaa6d586b9e0b59" 
     -H "X-Auth-Email: user@example.com" 

     -H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" 

     -H "Content-Type: application/json" 
     --data '{"type":"A","name":"example.com","content":"127.0.0.1","ttl":120,"proxied":false}'

这时候,所有的参数我们都已经知道,把对应的参数都修改成自己的实际参数即可。然后把 content 的值换成 222.222.222.222 试试看。如果成功了,这一步就算完成了。

6. 把获取IP、更改IP连个步骤组合成一个sh脚本

API_URL=$(/usr/local/bin/curl -s http://whatismyip.akamai.com)
/usr/local/bin/curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/cc837e5e8b25acc36fab40fdf98dcaf9/dns_records/a3365e7fa46ec326cf8ca153e6d7fe5c" 
     -H "X-Auth-Email: service@uselys.cn" 
     -H "X-Auth-Key: a79efe70d7bcdc3rd4763676f3437e412f002" 
     -H "Content-Type: application/json" 
     --data "{"type":"A","name":"source","content":"$API_URL","ttl":300,"proxied":false}" 
     > /dev/null

注意,content 的参数换成了 变量 $API_URL。 保存为 cf.sh,并给它赋予执行权限。 如此一来,每执行一次,home.uselys.cn 的IP就更新一次。

7. 最后一步,把 cf.sh 放到 crontab 里面,按照你设想的时间频率运行即可。

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
其他分享实用教程

WordPress主题模板开发修改指南适合小白入门级

2020-4-22 21:01:57

其他分享

VPS服务器常用性能一键测试脚本

2020-5-20 19:44:02

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索