VALUE-DOMAIN

 やはり、dip.jp が繋がりにくくなることがあったので、新たに DDNS が使えるドメインサービスを探しました。結局、VALUE-DOMAIN で sirius10.net を取得しました。

 一部で評判が今ひとつでしたが、とりあえず、 1 年間は様子を見たいと思います。問題なければ更新していきます。dip.jp はしばらくの間は残します。

 外部から名前解決させるために、VALUE-DOMAIN のネームサーバを使います。利用手順のドメインのみ利用するに従います。この中の「ダイナミックDNSの設定(ご自宅のパソコンの場合)」に書かれている内容のとおりに設定しました。

ダイナミック DNS で名前解決できるようにする

  • ネームサーバーの変更
    その他のドメインの説明のとおりに設定します。
  • DNSの設定
    IP アドレスを確認し、a レコードを設定します。
  • ダイナミックDNSの設定
    パスワードを設定し、ダイナミックDNS機能を有効にします。

 以上で外部からの名前解決ができるようになったと思います。

IP アドレスの自動更新

 次に、IP アドレスの更新ですが、通常は DiCE を使います。しかし、Raspberry Pi ではパッケージはないし、動かないと言った書き込みも見かけます。仕方がないので、IP アドレスが変わったら更新するようなシェルスクリプトを作成し、cron に登録します。root で登録します。例えば、/root/bin/chkip.sh に保存します。

$ sudo mkdir /root/bin
$ sudo vi /root/bin/chkip.sh

 ファイルの内容は次のようにします。

#!/bin/bash save_ip=/var/www/ip_sirius10.txt result_html=/var/www/result_sirius10.txt chk_ip_url="https://dyn.value-domain.com/cgi-bin/dyn.fcg?d=" update_url="https://dyn.value-domain.com/cgi-bin/dyn.fcg?d=ドメイン&p=パスワード&h=*" change_ip() { ip=$1 wget -q -O "${result_html}" "${update_url}" result=$(head -1 "${result_html}") if [ "${result}" == "status=0" ]; then echo ${ip} > "${save_ip}" echo "VALUE-DOMAIN: update ip address done." else echo "VALUE-DOMAIN: update ip address failed." fi } ip=$(wget -q -O - "${chk_ip_url}") if [ "$1" != "" ]; then change_ip "${ip}" exit fi if [ -f ${save_ip} ]; then old=$(cat "${save_ip}") else old="0.0.0.0" fi if [ "${ip}" != "${old}" ]; then change_ip "${ip}" else echo "VALUE-DOMAIN: ip address has not changed." fi

 実行権を与えます。

$ sudo chmod +x /root/bin/chkip.sh

 引数をなにかつけて実行すれば、強制的に IP アドレスを更新します。例えば、毎週月曜日に実行するようにすればいいでしょう。引数を付けなければ、前回更新したときと IP アドレスが変わっていたら更新します。15分おきにでもチェックするようにします。

 これを cron に登録します。root で実行するようにします。

$ sudo crontab -e

 登録する内容は次の通りです。

0,15,30,45 * * * * /root/bin/chkip.sh
0 0 * * 0 /root/bin/chkip.sh force

サーバ設定

Posted by sirius