rddns - Ruby Dynamic DNS with tinydns -

概要

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分)よりも短くして おきます。

カスタマイズ

まだ余り出来ません……

直した方が良い仕様 / バグ


Last-Modified: Thu Jan 30 19:30:02 2003
© Tatsuki Sugiura <sugi@nemui.org>