DDNSでサーバー公開

投稿者: | 2012/04/01

Mac OS X を使って DDNSサービスを使う場合のメモです。

Webサーバーの公開はプロバイダの固定IPサービス、ホスティングサービス、またはブログサービスなどを利用するのが一般的ですが、ダイナミックDNS(DDNS)という技術を利用すれば接続毎にIPアドレスが変わる契約でも自宅のPCをWebサーバ等として公開することが可能です。

ありがたいことに、無料で提供していただいているDDNSのサービスもあります。このサーバーは、 家サーバー・プロジェクト(ieServer.Net) さんの DDNSサービスを使って公開しています。(ありがとうございます。)

DDNSでは、割り当ててもらったサブドメイン(このサーバーの場合は www.e-momonga.com)のIPアドレス(つまり自分のIPアドレス)が何かをDNSに登録してもらう必要があります。
固定IPでなければ、自分のIPアドレスはルーターの再起動(場合によっては設定変更)によって変わることがありますので、定期的に自分のIPアドレスを確認して変更があればDDNSサーバーの登録を更新しなければなりません。
家サーバー・プロジェクト(ieServer.Net) さんでは、汎用ダイナミックDNS設定クライアントソフト が公開されていますので、簡単にIPアドレスの更新を行うことができます。

Mac OS Xはunixでperlもデフォルトでインストールされていますので、IPアドレス更新サンプルスクリプト(ieServer.Net 専用) を使って自動的にIPアドレスの更新確認と設定でができます。
ただし、Mac OS Xは標準では wget がインストールされていませんので、スクリプトを一部修正する必要があります。とはいっても簡単で、 wget -q -O と書かれているところを curl に置き換えるだけで使えます。

具体的には、

$NEW_IP = <code>wget -q -O - $REMOTE_ADDR_CHK</code>;

$NEW_IP = <code>/usr/bin/curl $REMOTE_ADDR_CHK</code>;

に、そして、

 $STATUS = <code>wget -q -O - '$DDNS_UPDATE?username=$ACCOUNT&domain=$DOMAIN&password=$PASSWORD&updatehost=1'</code>;

 $STATUS = <code>/usr/bin/curl '$DDNS_UPDATE?username=$ACCOUNT&domain=$DOMAIN&password=$PASSWORD&updatehost=1'</code>;

に変更してください。(curlのパスが違う場合は修正してくださいね)

後は、cronで自動的にこのスクリプトが実行されるようにしましょう。
ターミナルから crontab -e と入力して以下の通り設定します。

(*+3)/10 * * * * /usr/local/bin/ddns-update.pl

この設定例では、毎時7,17,27,37,47,57分にサーバーにアクセスし自分のIPアドレスを確認するようにしています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください