2019年10月09日

OpenWrtでwww.dynu.comのddnsを使う

無料で使えるDDNSサービスは海外にもいくつかあるかと思いますが、dynu.comというのを選んでみました。
(ieserver.netはサーバーダウンでよくないっぽいので)
4つまでもらえてxxxxxx.dynu.com以外にも複数から選択できます。
これについてopenwrt で https://www.dynu.com のddnsを使う場合の設定例です

事前準備:
アカウントの登録をしておく。初期設定では自分のIPがDDNSに自動で割り当てられますがwebの設定画面で違うものにしておくと動作確認時に更新される様子が分かってよいかと思います

sslでDDNSへ接続する場合は下記をOpenWrtにインストール
opkg install ca-certificates
opkg install luci-app-ddns
opkg install wget     //ssl対応版が必要
ddns-scriptsもいるのかもしれないのでこれもインストールしてあります

○まず
DDNS Service provider [IPv4]:dynu.com
を選択してchange providerを押します(似た名前が多いので間違わないように)。ページが更新されます

○その1
Enabledにチェック
Lookup Hostname: tourokusitamono.sentakusitamono.com
IP address version: IPv4
Domain: tourokusitamono.sentakusitamono.com
Username: tourokusitananika
(メールアドレスではなくIDのほうを入力しました)
Password:tourokusitamono
// MD5/SHA256 of passwordでもいいらしい

Use HTTP Secureにチェックを入れてSSLという暗号化通信を有効化します
Path to CA-Certificate:未記入でも良いようです、デフォルトのパスが使われるので

○その2:プロバイダからルータをもらっていてOpenWrtにグローバルIPが割り当てられていない場合は
下記を設定
Advanced Settingsに移動して
IP address source [IPv4]:URL
URL to detect [IPv4]:http://checkip.dynu.com
Event Network [IPv4]:LAN

○その3
Timer Settingsのタブで時間を設定します
個人利用であれば頻度にアクセスするような設定にはしないでください。
サーバーに負担が掛かりますので
当方は
Check Interval:30min
Force Interval:120hours
Error Retry Counter:0
Error Retry Interval:30min
としました
・DDNSで更新をしても、nslookup情報はすぐに反映されません、刻みが細かすぎるとエラーがたくさん出ることもあります。
・Force Intervalはたまにログインしないとアカウントを消されてしまうサービス会社対策です。一応たまに強制更新するとよいかと。

○設定が完了し保存反映したら
最初の画面のスタートボタンを押して始めます。
Next Updateの時間が表示されているようなら正常に動作しているかと思います
(すぐに時間が表示されないので失敗か?と思うかもしれませんが30秒くらい待ってください)
エディット画面からログを確認してエラーが出てなければ再停止せずに動作し続けるはずです
(ログは250行分しか保存しないです、1日分くらいで消えます。増やしたい場合はtelnetで
(vi /etc/config/ddns を打ったたあとに設定項目として
ddns_loglinesを250から増やすと増えます。Error Retry時間を考慮して決めると良いです、設定反映はプロセス再起動後なのを忘れない)
(get Error、nslookup error等が出た場合はsyslogのほうにも記載がされますのでそちらで見ても概要は分かりますが、エラーの行以外の詳細はここのログを見たほうが分かりやすいです)
正常動作時の画面
dynu.com01.jpg
・初めての更新では
222712 WARN : Updating IP at DDNS provider failed - starting retry
が出ることがあります。nslookup情報はすぐに反映されませんので前回の更新が失敗扱いになりますが正常な挙動です。
・ 214833 ERROR : Busybox Wget Error: '1'
  214833 : wget: can't execute 'openssl': No such file or directory
がでているのであればssl非対応のwgetでsslアクセスをしようとしてるのでssl対応品を事前準備でいれてください

・ルーター電源投入時、reboot時にddnsが自動的にスタートしない場合は、telnetでアクセスし下記編集
/etc/init.d/ddns
vi でddnsを編集、このなかで
#boot() {
# return 0
#}
のようにbootのところ3行をコメントアウト
(各自1回は試しておくこと!)
・ただし、reboot後ネットワークが確立する前にアクセスしようとしてしまった場合は
222454 WARN : Get local IP via 'web' failed、が出ることがあります、この状態なら自動的にスタートしています。
Error Retry Interval後には通常の正常動作になっているかと思います。

Open-WRT以外のツールで更新する場合は下記公式サイトを参照です
https://www.dynu.com/DynamicDNS/IPUpdateClient/Custom
補足として、www.dynu.comの無料DDNSサービスは明示的に、アカウント削除をするまで登録は消されないとの記述がありましたので、今のところは安心して利用できるようです。

DDNSサービスで無料で使えるっぽいところ:
(よしあしは未チェックなのでコメント募集)
http://changeip.com/dns.php
http://freedns.afraid.org/
http://dyndnss.net/eng/
https://www.duiadns.net/personal-account
https://desec.io/#!/en/
https://now-dns.com/
https://www.nsupdate.info/
https://sitelutions.com/

当サイトの参考
openwrtでwww.ieserver.netのddnsを使う
https://okoya.seesaa.net/article/452439610.html
DD-WRTをOpenVPNのサーバーにして外部からアクセスするときの設定
https://okoya.seesaa.net/article/440982961.html
OPEN-WRTをOpenVPNのサーバーにして外部からアクセスするときの設定
https://okoya.seesaa.net/article/452648019.html


posted by okoya at 19:21| Comment(0) | 商品レビュー | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
感想、コメントを残そう
コメント記入ページへ