ダイナミック DNS サービスサイト DynDNS.org で IP アドレスを更新する Linux 用クライアント ddclient をインストールする。DynDNS の Services→DynamicDNS→DynDNS -- Support - Linux / Unix Clients
Clients からダウンロードできる。
必要なファイルをコピーする。
スタートアップファイルについては後ほど。
使用している ADSL モデム・ルータは NEC ATUR32J である。ddclient ではサポートされていないので、カスタマイズする。DynDNS.org のサーバを利用する方法もあるが、内部でできることは内部でやっておきたい。ATUR32J には Web のインターフェイスがあり、グローバル IP アドレスが表示されるページが存在する。
/etc/ddclient.conf を編集する。モデムルータ関連の設定は以下の2行である。モデムルータの IP アドレスは 192.168.0.1、HTTP でアクセスする場合のログイン名は「config」、パスワードは「なし」となっている。
その他,ログイン名,パスワードなどを設定する.
同じ IP アドレスに複数のホスト名をつけて運用している場合は,カンマで区切って指定すればよい.
グローバル IP アドレスは http://192.168.0.1/sh_if というページ内に「0.0.0.0 NEGO」という文字列に続いて表示されているということを指定している。 この設定で正しくグローバル IP アドレスが取得できているかどうかは、次のコマンドで確認することができる。このオプションをつけた場合、実際の更新は行われない。テストするのに適している。
その他、ユーザ名、パスワード、ホスト名等を設定する。
最後にスタートアップファイルをコピーして、サーバ起動時に自動的にプログラムが起動するように設定する。 VineLinux は Redhat 系の OS なので、スタートアップファイルは sample-etc_rc.d_init.d_ddclient.redhat になる。
各ランレベルに対応するシンボリックリンクは、chkconfig で自動的に作成することができる。
chkconfig は /etc/init.d/ddclient の中の chkconfig: 欄を参照して、対応するシンボリックリンクを張る。デフォルトのランレベルは 2, 3, 4, 5 になっている。以下はスタートアップファイルの先頭部分。
DynDNSの使い方によると、「同じIPアドレスで何度も更新を行うと、ホスト名がロックされ更新が出来なくなるので注意」だそうで心配したが、どうやら現在の登録 IP アドレスを /etc/ddclient.cache に保存しており、これとルータのグローバル IP アドレスと比較する仕組みになっているらしい。したがって、デーモンモードで動作させて、チェック間隔を 300秒にしておくことで問題はない。
インストールディレクトリを変更して、プログラムは /usr/local/bin へ、コンフィグレーションファイルは /usr/local/etc へ置きたいところだが、変更が結構手間なので断念した。やろうと思えばできそう。その際のオプションは
で調べることができる。
2005年12月4日追記:
ddclient のリンク先が変更されていたので修正しました。現在の最新版は 3.6.6 になっています。
2006年11月22日追記:
上記は,ルータタイプの ADSL モデムにアクセスしてグローバル IP アドレスを取得する方法です。下の設定は,DynDNS の Web サーバを使って,ブロードバンドルータのグローバル IP アドレスを取得するという汎用の方法になります。上述の本文の中で設定している「fw-login」,「fw-password」の行と,「use」の行をコメントアウトし,次の行のコメントを外します。
2012年5月29日追記:
新しいバージョンの ddclient では設定ファイルの書式が変更になっています (nlog(n): ddclient 3.8.1 の設定)。
2013年5月29日追記:
Dyn.com のサービスをフリーのまま受け続けるには一定期間ごとに Web サーバへのログインが必要になりました (nlog(n): Dyn.com への自動ログインを Zabbix で)。
Master Archive Index
Total Entry Count: 1957