DynamicDNS自動更新
2001. 9.24

目的

今度はDynamicDNSの自動更新にチャレンジです。

DynamicDNSは、ISPから割り振られるランダムなIPアドレスを都度DNSに更新することによって、あたかも固定IPを割り振られている可能に利用できる優れものだけど、ISPから割り振られるIPアドレスが変更になると、DNSへ登録しなおさないといけない。それを自動的に行うのが、DynamicDNS Clientなのだ!

で、Windowsならば簡単なClientがゴロゴロしているのだが、Linux用となると、めっきり減ってしまうのである。そんな中でも、ddclientと言うclientはDynDNSに対応している上に、Custom設定まで更新できる優れもの! ただ、唯一の欠点は、CUIってこと。Windowsに慣れてしまったこの体にはちょっと酷です。

インストール

とは言え、ちゃんと設定できればなんてことないです。

まずは、http://burry.ca:4141/ddclientでclientをゲットしましょう。RPMパッケージがあるので、それがお手軽でしょう。

ちなみに、このインストール作業はrootで行いましょう。

ファイルマネージャでダウンロードしたRPMパッケージを右クリックして、install...すればOK。

あっけないです。

自動起動

さあ、これからです。インストールは前座ですね。ちょっとしたウォーミングアップです。大変なのはその後の設定です。

まずはclientの自動起動です。サーバを立ち上げる度にddclientを手動で立ち上げるのは面倒ですからね。Windowsで言う、「スタートアップに登録する」と似たようなものです。

コンソールにて、

/sbin/chkconfig --add ddclient

だけです。これは簡単。

設定ファイル

さて、ここが鬼門です。ddclientの設定ファイルは /etc/ddclient.conf です。

修正点だけですが、まず、line15
コメントアウトを取り除く

daemon=300 → "#"を削除する
デーモンとして起動することと、300秒毎にIPアドレスの変更をチェックする。

line23
コメントアウトを取り除く
use=netgear-rt3xx, fw=192.168.0.1:80 → "#"を削除する
使っているルータを指定する(我が家はNetgearのRT-314)。当然ながら、fwにはルータに割り当てられているIPアドレスを指定する。
この設定で、問題なくDynDNSの更新は出来るのですが、ルータのWeb設定ページが呼び出せなくなる不具合が出たので、現在はこの設定を行っていません。恐らくルータのバグだと思われます。

line29
ルータのログイン名、パスワードを指定する
fw-login=ログイン名, fw-password=パスワード → "#"を削除し、fw-loginにログイン名、fw-passwordにパスワードを指定
この設定も上記不具合によって、現在は行っていません。

line41
コメントアウトを取り除く
protocol=dyndns2 → "#"を削除する
line43
コメントアウトを取り除く
server=members.dyndns.org → "#"を削除する
line46
ログインIDを指定する
login=ログイン名 → "#"を削除して、DynDNSのログイン名を指定する
line47
パスワードを指定する
password=パスワード → "#"を削除して、DynDNSのパスワードを指定する
line43
コメントアウトを取り除く
server=members.dyndns.org → "#"を削除する
line57
コメントアウトを取り除く
server=members.dyndns.org → "#"を削除する
line58
コメントアウトを取り除く
protocol=dyndns2 → "#"を削除する
line59
Hostnameを指定する
your-dynamic-host.dyndns.org → ホスト名.dyndns.org → "#"を削除して、"your-dynamic-host"の代わりにDynDNSに登録した、自分のホスト名を指定する
line77
コメントアウトを取り除く
custom=yes → "#"を削除する
line78
コメントアウトを取り除く
server=members.dyndns.org → "#"を削除する
line79
コメントアウトを取り除く
protocol=dyndns2 → "#"を削除する
line80
Hostname、domainを指定する
watanet.com → "# your-domain.top-level,your-other-domain.top-level"において、"your-domain.top-level"の代わりに自分の所有するドメイン名(ここでは watanet.com)を指定する。複数ある場合はカンマで区切る(らしい)。

テスト

ISPから割り振られているIPアドレスが正しく認識できているかどうかテストしてみる。コンソールにて、以下のコマンドを打ってみる。

# ddclient -daemono=0 -query
ここでの"#"はプロンプト。
表示される内容に自分のIPアドレスが出ていたらOK。

起動してみよう

自動起動の設定はできているから、初回だけ手動で立ち上げる。

# /etc/rc.d/init.d/ddclient start
Starting ddclient: [ OK ]
と言うそっけない返事(笑) CUIですもんね。Redhatではそれでも”OK”が出るぶん親切かもしれない。
5分くらい待ったら更新されたかチェックしてみましょう。ちゃんとできてるかな?


Top