Posted at

EdgeRouter XでCloudflareのDDNSを使う

自宅のエッジルータをEdgeRouterX

入れ替えた時にDDNS設定に苦戦したので残しておきます。



  • interface pppoe0 でインターネットに接続

  • ドメインのAレコードはCloudflareで設定済み

  • EdgeRouter X v1.10.9 を使用


更新失敗した設定

EdgeRouter X – 5. ダイナミック DNS の設定 ( DDNS )を参考に設定したがうまく行かず。

[edit service dns dynamic interface pppoe0]

ERX@EdgeRouter# show
service custom-MyServer {
host-name www.yourdomain.com
login login.mail@example.com
options zone=yourdomain.com
password <CloudflareのGlobal API Key>
protocol cloudflare
server www.cloudflare
}

設定してcommit/saveは問題なし。

update dns dynamic interface pppoe0 or GUIのForce Updateで更新すると

特にエラーも無く成功したと言われる。

が、cloudflareでAレコードを確認しても更新されていない。

ログを確認すると以下の通り。

ddclient[13826]: WARNING:  file /var/cache/ddclient/ddclient_pppoe0.cache, line 3: Invalid Value for keyword 'ip' = ''

ddclient[13826]: WARNING: skipping update of www.yourdomain.coom from <nothing> to xxx.xxx.xxx.xxx.
ddclient[13826]: WARNING: last updated <never> but last attempt on Sun Jun 2 xx:xx:xx 2019 failed.
ddclient[13826]: WARNING: Wait at least 5 minutes between update attempts.

ログから察するにIPアドレス取得がうまく行かずにNGになっている?


成功した設定

色々調べて発見したページ。

Cloudflare DDNS V1 end of life - Ubiquiti Networks Community

こちらのページでは更新を行っているが、入っているものを確認したところ

updateファイルを同じ内容だったのでスキップ。

新しいver.に合わせて以下のように設定を変更。

[edit service dns dynamic interface pppoe0]

ERX@EdgeRouter# show
service custom-MyServer {
host-name www.yourdomain.com
login login.mail@example.com
options zone=yourdomain.com
password <CloudflareのGlobal API Key>
protocol cloudflare
}

末尾のserver www.cloudflareを消去。

これで実施したら成功。

ddclient[16396]: SUCCESS:  www.yourdomain.com -- Updated Successfully to xxx.xxx.xxx.xxx

APIが更新されて設定パラメータが変わったのが原因でした。