CloudFlareでdd-wrtダイナミックDNSクライアントを使用する



Using Dd Wrt Dynamic Dns Client With Cloudflare



解決:

解決策1:解決策1:

DD-WRTがCloudFlareを直接呼び出す場所に設定できるとは思いません。私が設定した方法は、DD-WRTがリモートWebサーバー上のPHPスクリプトを呼び出すようにすることです。これにより、クライアントIPが検出され、APIを介してCloudFlareに更新要求が送信されます。

DD-WRTDDNS設定

DDNSサービス:カスタムDYNDNSサーバー:ユーザー名:パスワード:ホスト名:URL:/cloudflare_update.php?key =&hostname =

cloudflare_update.php

if(empty($ _ GET ['key'])||($ _GET ['key']!= ''))死ぬ; $ hostname = $ _GET ['hostname']; $ ip = $ _SERVER ['REMOTE_ADDR']; $ username = '< [email protected] >'; $ api = ''; $ curl = 'https://www.cloudflare.com/api_json.html?a = DIUP&hosts = $ hostname&u = $ username&tkn = $ api&ip = $ ip'; $ ch = curl_init($ curl); curl_exec($ ch); curl_close($ ch);

HTTP基本認証を使用する代わりに、ランダムキーを使用します。



CloudFlareで更新するドメイン名のDNSエントリを必ず作成してください。 DIUPアクションパラメータは、すでに存在するエントリのIPのみを更新します。

解決策2:解決策2:

ルーターから更新を実行したい場合は、呼び出しをCloudFlare形式に変換するために途中で少し余分な「何か」が必要であるという事実を回避することはできません(DNS-O-Maticのみがそれらを追加する場合)サポートされているサービス...)。自分で中間スクリプトをホストする必要はなく、Google AppEngine(無料)を使用してこの再投稿を行うことができます。私はこれを使用します:



https://cloudflare-updater.appspot.com/

さて、アップデートを発行するためにCloudFlare以外のものを呼び出す必要がありますが、少なくとも自分でそれを行うために追加のホストやVPSなどを実行する必要はありません。完全に透過的です。唯一の問題は、エラーが返されないことです。そのため、自分で機能していることを確認する必要があります。動作したら、実行して実行する必要があります。