Macで自宅サーバの第一歩として、DDNSへの登録があります。

DDNSはDynamic DNSの略で、通常のDNSサーバと違いIP更新の頻度が早く、固定IPを利用出来ないような一般家庭でも簡単に自宅サーバーのドメインを利用出来るというものです。

DDNSサーバへのIP更新は基本的にはHome Pageから出来るものが多いです。しかし、自動で更新出来た方が突然のIP変更などでも安心なので、そういう仕組みを用意したいところです。

Windowsであれば、Diceなどのフリーウェアを使えばいいのですが、Macにはありません(少なくとも自分は知りません)。

そこで、Applescriptとcronを利用したIPの自動更新方法を紹介します。

前提とするもの

  • 無料・ダイナミックDNS(DDNS)サービス ieServer.Netを利用する。
  • 上記 ieServer.Netの登録済みであり、自身のドメインのIDおよびパスワードを入手済みである。(まだのひとはこちらから登録してください。)
  • Mac OS X (Leopard, Snow Leopard推奨)の常時稼働環境

手順

まず、以下のURLからieServer用のApplescriptをダウンロードします。

ファイルを解凍したら、ieServerScript0.2をAppleScriptエディタで開きます。変更するのは最初の3行

set UserName to "username"
set UserPassword to "password"
set Domain to "dip.jp" ---"myhome.cx" "or.cf" "jpn.ph" "fam.cx" "dip.jp" の5種類から選択

上の赤字の部分です。変更/保存したら、実行をしてみましょう。

〜〜〜〜を保存しました。

と表示されればOKです。

スクリーンショット(2009-10-07 0.55.25)

次に、cronによる自動実行の準備をします。まず、今編集したスクリプトファイルをテキスト形式で保存しなおします。

“ファイル”→”別名で保存”を選び、ファイルフォーマットをテキストにして保存します

スクリーンショット(2009-10-07 1.29.58)

次に、cronへスケジュールします。ターミナルからcrontabを起動

> crontab -e

viが起動するので、以下のような感じに登録します。

0 9-17/2 * * 1-5 /usr/bin/osascript /Users/punsuka/ddns_punsuka.applescript
0 17-22/3 * * 6 /usr/bin/osascript /Users/punsuka/ddns_punsuka.applescript

上記の設定の場合、平日9, 11, 13, 15, 17時、土曜日の17, 20時にIPの更新をします。

cronについては以下のURLを参考にしてください。

以上なんですが一つだけ注意点。
ieServer.Netは無料で利用できる便利なサービスです。IP更新を頻繁にやると、その分サーバに負荷がかかってしまいますので、あまり頻繁な更新は控えるようにしましょう。
※本当はIPがかわった時のみ更新するようにした方がいいんだけれど・・・やり方がわかりません。もし何か情報あればコメントください。
FC2ブックマークへ追加 Bookmark this on Delicious このエントリーを含むはてなブックマークはてなブックマーク - DDNS登録とcron+Applescriptを利用したMacでのIP自動更新方法