印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
Linux ddclient 3.6.3 の設定

ダイナミック DNS サービスサイト DynDNS.org で IP アドレスを更新する Linux 用クライアント ddclient をインストールする。DynDNS の Services→DynamicDNS→DynDNS -- Support - Linux / Unix Clients Clients からダウンロードできる。

■ ■ ■

必要なファイルをコピーする。

# cp ddclient /usr/sbin
# cp sample-etc_ddclient.conf /etc/ddclient.conf

スタートアップファイルについては後ほど。

使用している ADSL モデム・ルータは NEC ATUR32J である。ddclient ではサポートされていないので、カスタマイズする。DynDNS.org のサーバを利用する方法もあるが、内部でできることは内部でやっておきたい。ATUR32J には Web のインターフェイスがあり、グローバル IP アドレスが表示されるページが存在する。

/etc/ddclient.conf を編集する。モデムルータ関連の設定は以下の2行である。モデムルータの IP アドレスは 192.168.0.1、HTTP でアクセスする場合のログイン名は「config」、パスワードは「なし」となっている。

fw-login=config,             fw-password=               # FW login and password
use=fw, fw=192.168.0.1/sh_if, fw-skip='0.0.0.0 NEGO' # found after IP Address

その他,ログイン名,パスワードなどを設定する.

login=ログイン名                                     # default login
password=パスワード                                 # default password
##
## dyndns.org dynamic addresses
##
server=members.dyndns.org,              \
protocol=dyndns2                        \
nlogn.ath.cx,ホスト名,ホスト名

同じ IP アドレスに複数のホスト名をつけて運用している場合は,カンマで区切って指定すればよい.

グローバル IP アドレスは http://192.168.0.1/sh_if というページ内に「0.0.0.0 NEGO」という文字列に続いて表示されているということを指定している。 この設定で正しくグローバル IP アドレスが取得できているかどうかは、次のコマンドで確認することができる。このオプションをつけた場合、実際の更新は行われない。テストするのに適している。

$ ddclient -daemon=0 -query

その他、ユーザ名、パスワード、ホスト名等を設定する。

最後にスタートアップファイルをコピーして、サーバ起動時に自動的にプログラムが起動するように設定する。 VineLinux は Redhat 系の OS なので、スタートアップファイルは sample-etc_rc.d_init.d_ddclient.redhat になる。

# cp sample-etc_rc.d_init.d_ddclient.redhat /etc/init.d/ddclient

各ランレベルに対応するシンボリックリンクは、chkconfig で自動的に作成することができる。

# chkconfig ddclient reset

chkconfig は /etc/init.d/ddclient の中の chkconfig: 欄を参照して、対応するシンボリックリンクを張る。デフォルトのランレベルは 2, 3, 4, 5 になっている。以下はスタートアップファイルの先頭部分。

#!/bin/sh
#
# ddclient      This shell script takes care of starting and stopping
#               ddclient.
#
# chkconfig: 2345 65 35
# description: ddclient provides support for updating dynamic DNS services.
...

DynDNSの使い方によると、「同じIPアドレスで何度も更新を行うと、ホスト名がロックされ更新が出来なくなるので注意」だそうで心配したが、どうやら現在の登録 IP アドレスを /etc/ddclient.cache に保存しており、これとルータのグローバル IP アドレスと比較する仕組みになっているらしい。したがって、デーモンモードで動作させて、チェック間隔を 300秒にしておくことで問題はない。

インストールディレクトリを変更して、プログラムは /usr/local/bin へ、コンフィグレーションファイルは /usr/local/etc へ置きたいところだが、変更が結構手間なので断念した。やろうと思えばできそう。その際のオプションは

$ ddclient -help

で調べることができる。

2005年12月4日追記:
ddclient のリンク先が変更されていたので修正しました。現在の最新版は 3.6.6 になっています。

2006年11月22日追記:
上記は,ルータタイプの ADSL モデムにアクセスしてグローバル IP アドレスを取得する方法です。下の設定は,DynDNS の Web サーバを使って,ブロードバンドルータのグローバル IP アドレスを取得するという汎用の方法になります。上述の本文の中で設定している「fw-login」,「fw-password」の行と,「use」の行をコメントアウトし,次の行のコメントを外します。

## To obtain an IP address from Web status page (using the proxy if defined)
use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address

2012年5月29日追記:
新しいバージョンの ddclient では設定ファイルの書式が変更になっています (nlog(n): ddclient 3.8.1 の設定)。

2013年5月29日追記:
Dyn.com のサービスをフリーのまま受け続けるには一定期間ごとに Web サーバへのログインが必要になりました (nlog(n): Dyn.com への自動ログインを Zabbix で)。

Posted by n at 2004-01-29 20:11 | Edit | Comments (0) | Trackback(1)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
FedoraCore1のインストール記録(DDClientを動作させる)
DynDNSを利用しているので、DDCLIENTを動作させるようにする。  これまでのサーバーでも動作させていたので、そのconfファイルを持って来れば良いと思うのだが、ポイントだけ後日のため整理しておく。 Trackbacked from: 健ちゃんのスローなBLOG at May 04, 2004 07:03
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?