我试图用dd (v24-sp2)固件在路由器上配置动态DNS客户端,这样它就可以动态地更改DNS记录中的IP地址。不幸的是,我遇到了一个问题,…下面是来自他们的配置客户端的一个示例请求:
https://www.cloudflare.com/api.html?a=DIUP&u=<my_login>&tkn=<my_token>&ip=<my_ip>&hosts=<my_record>
如果我在浏览器中使用它,它就能工作,但是在dd中,我得到了以下输出:
Tue Jan 24 00:36:47 2012: INADYN: Started 'INADYN Advanced version 1.96-ADV' - dynamic DNS updater.
Tue Jan 24 00:36:47 2012: I:INADYN: IP address for alias '<my_record>' needs update to '<my_ip>'
Tue Jan 24 00:36:48 2012: W:INADYN: Error validating DYNDNS svr answer. Check usr,pass,hostname! (HTTP/1.1 303 See Other
Server: cloudflare-nginx
Date: Mon, 23 Jan 2012 14:36:48 GMT
Content-Type: text/plain
Connection: close
Expires: Sun, 25 Jan 1981 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: https://www.cloudflare.com/api.html?a=DIUP&u=<my_login>&tkn=<my_token>&ip=<my_ip>&hosts=<my_record>
Vary: Accept-Encoding
Set-Cookie: __cfduid=<id>; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.cloudflare.com
Set-Cookie: __cfduid=<id>; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.www.cloudflare.com
You must include an `a' paramiter, with a value of DIUP|wl|chl|nul|ban|comm_news|devmode|sec_lvl|ipv46|ob|cache_lvl|fpurge_ts|async|pre_purge|minify|stats|direct|zone_check|zone_ips|zone_errors|zone_agg|zone_search|zone_time|zone_grab|app|rec_se
URL从“位置”完美地工作,参数"a“包括在内。有什么问题吗?
发布于 2013-06-08 02:59:27
如果您想从您的路由器执行更新,那么您需要在中间添加一些额外的“东西”才能将您的呼叫转换为CloudFlare格式(如果只有DNS-O-马季奇会将它们添加到他们支持的服务中.)。与其自己托管一个中间脚本,不如使用Google AppEngine (这是免费的)为您重新发布。我用这个:
https://cloudflare-updater.appspot.com/
好的,您仍然需要调用CloudFlare以外的其他东西来发布更新,但是至少您不需要自己运行额外的主机或VPS等等。这是完全透明的问题,唯一的问题是,您没有得到一个错误返回,所以您需要检查它是自己工作。一旦它开始工作,它就应该运行和运行。
发布于 2018-06-28 16:55:21
注意到这一切都过时了,现在需要v4 api代码才能工作。
测试以上的一个它失败-坏用户,通过,xxxx信息。
发布于 2020-01-23 10:16:55
使用以下方法成功地实现了这个工作:https://github.com/dcerisano/Cloudflare-dynamic-dns
一旦您设置了Cloudflare帐户,所需的信息就很容易找到:
您需要:区域ID
授权密钥(又称全局api密钥)
您的域的记录ID (这是通过运行cloudflare-dns-id.sh脚本获得的),我不得不稍微修剪一下脚本才能工作。
curl -X获取"https://api.cloudflare.com/client/v4/zones/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/dns_records?type=A&name=dynamic“\ -H”X-Auth“-电子邮件: you@youremail.com”\ -H“X键:
我将这两个脚本存储在/jffs中,使它们成为可执行的。
在Cloudflare方面,我按照本指南设置了Cloudflare域记录:
在Cloudflare,您必须设置以下记录:
我设置了一个cron作业,每5分钟运行一次cloudflare-ddns.sh来检查IP更改。
我的DD-WRT路由器现在自动更新Cloudflare每当广域网IP被改变.
以上设置大约需要10分钟。
https://serverfault.com/questions/352734
复制相似问题