rddns は tindydns と連携して 似非 Dynamic DNS を実現するための ruby script です。(RFC2136 とはなんの関係もありません。)細かい説 明がまだ書けていませんがとりあえず。
tinydns は Makefile を利用すれば色々なことが出来ます。そのサンプル の1つとして作られました。是非 tinydns を使ってみてください。
APOP クライアントをそのまま使えるのでプラットフォームに依 存しません。 (専用プロトコルも一応あるのですが、まだ全く機能が無いです。) fetchmail でも、getmail でも、cron でぐるぐる回しておけばその クライアントの IP を追いかけてくれます。
daemontools, ucspi-tcp それに ruby 1.6 と cdb moduleが必要です。まずこれをインストールしてください。
ddns という名前のシステムユーザを使います。作ってください。
その後、アーカイブを持ってきて ./configure; make; make
install; です。
特有の configure オプションは以下の通りです。
インストールが終わったら、/etc/rddns (変更した場合は適宜読み替えてく ださい)に移動し、pass ファイルを書いてください。書式は、
ホスト名:パスワード:TTL
です。最後の TTL は省略できます。ホスト名は FQDN でも良いで すが、後で共通のサフィックスをつけることも出来ます。書き終わったら make します。
/service の中に /etc/rddns へのシンボリックリンクを張り、 サービスを開始します。ps などで見たあと、15556 ポートに繋いでみてください。
+OK ruby ddns accepter ver.0.02 <13954641750622001340@desire.nemui.org>
の様なバナーが帰ってくれば動いています。確認したら quit で抜けてくださ い。
次に何か APOP クライアント(無論手動でも良いですが)を用意し、正常に 認証が通るか確認します。うまくいったのなら、/etc/rddns で make update します。これで /etc/tinydns/root にデータが書かれているはずです。
そして、 tinydns の Makefile を修正し、data.ddns と固定データをくっつけ てdataファイルを生成するようにします。
all: data.cdb data.ddns: ddnsupdate ddnsupdate: cd /etc/rddns && $(MAKE) update data: data.static data.ddns chmod +w $@ echo "### Do NOT edit this file! You shuold edit 'data.static'." > $@ cat data.static data.ddns >> $@ chmod -w $@ data.cdb: data /usr/bin/tinydns-data
最後に cd /etc/tinydns/root && make -s を cron に登録して おしまいです。間隔は expire 期限(ディフォルトは15分)よりも短くして おきます。
まだ余り出来ません……