Jack
Jack
发布于 2022-10-19 / 60 阅读 / 0 评论 / 0 点赞

openwrt配置ddns

使用cloudflare api可以很方便的修改域名ip。

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

首先openwrt上需要安装ddns-scripts

网上教程一大把,这里默认已经安装成功并安上luci

首先我们需要得到以下信息:

我们的cloudflare账号的注册邮箱,

我们的cloudflare api 令牌,

我们要做ddns的根域名的zone id,

我们要做ddns的域名的id。

其中,zone id就在域名后台首页上就有。api令牌在zone id 下边 get your api key 里看。

域名id需要用api看

使用以下命令:

curl --insecure -X GET "https://api.cloudflare.com/client/v4/zones/你的zone id/dns_records?type=A&name=你要做DDNS的域名&page=1&per_page=20&order=type&direction=desc&match=all" \
-H "X-Auth-Email: 你cloudflare登陆email" \
-H "X-Auth-Key: 你的API Key" \
-H "Content-Type: application/json" \

执行后显示

{"result":[{"id":"你的要做ddns的域名id 请复制下来","type":"A","name":"example.com","content":后略

更新dns记录用下面的命令:

curl  -X PUT "https://api.cloudflare.com/client/v4/zones/你的zone id/dns_records/你的域名id" \
     -H "X-Auth-Email: 你的登录邮箱" \
     -H "X-Auth-Key: 你的api key" \
     -H "Content-Type: application/json" \
        --data '{"type":"A","name":"你要做ddns的域名","content":"'你的公网ip'","proxied":false}'

执行后有时会报错,多试几次就会成功
然后设置ddns,服务提供商选cloudflare.com-v4,用户名填邮箱,密码填api key,IP地址用URL,其他看着填
成功

感谢anshi的文章


评论