DDNSの設定


おやじは、2005/02/12より自宅でDDNSを動かすようにしましたので、以下はそれ以前に使用していたZi.ve.orgでの設定例です。

Linuxでも、Windowsでお世話になった DiCE を使用させてもらいました。Linux版には、CUI版(Command User Interface)とGUI(Graphical User Interface)用の差分が用意されていますが、一回設定して動作確認してしまえば、まず設定を変更することはないため、おやじはCUI版を使用しました。

■IPアドレスの自動登録

DiCEの設定は、基本的にWindows版と何も変わりませんので、Windows版の使用経験があればいたって簡単です。ただ、GUIベースのHELPがない(コマンドライン上で簡単なHELPがあります)ので、初めて使用する場合は戸惑うかもしれません。
  1. DiCEのホームページからDiCE for Linuxをダウンロード。(おやじがダウンロードしたのは、DiCEd Version0.19 Bata)

  2. ダウンロードしたファイル(diced019.tar.gz)を適当なディレクトリ(/usr/local/bin/など)に展開する。

     # cd /usr/local/bin
     # tar xzvf diced0192.tar.gz

  3. DiCEを起動して、会話形式で登録していく。まずは、IPアドレスの更新について登録する。ZIVEのサービスでメールサービスを使用する場合、IPアドレスの更新した時は、必ずMXレコード設定が必要。(逆になるとMXレコードが設定されないので注意が必要) DiCEは、登録した実行時間が同一なら登録した順に実行されるので、IPアドレスの更新から登録しよう。

    最近のDiCEは、定時更新にしておくとIPアドレス変化時に登録できないことがあるようで、設定を「IPアドレス変化時」に変更し、未変化時は登録が消されないように7日毎に更新するようにした。おやじも2回ほど経験済み。

     # /usr/local/bin/DiCE/diced
     =-=-=- DiCE DynamicDNS Client -=-=-=
     Version 0.19 for Japanese
     Copyright(c) 2001 sarad

     :
    ?       <−−−−−−−−HELP
     *** 起動オプション ***

     diced [-s|-d|-h|-e] [-b] [-l]

     -s 起動と同時に開始します
     -d 起動と同時にバックグラウンドで開始します
     -h コマンドオプションを表示します
     -b イベント実行時にビープ音を鳴らします
     -l ログを作成します
     -e<EventNo> 指定のイベントを実行して終了します


     *** コマンド一覧 ***

     exit DiCEを終了します
     start DiCEを開始します
     startd DiCEをバックグラウンドで開始します
     setup DiCEの環境設定を行います
     list 登録済のイベント一覧を表示します
     add イベントを追加します
     ed[it] <番号> イベントを編集します
     del <番号> イベントを削除します
     en[able] <番号> イベントを有効にします
     dis[able] <番号> イベントを無効にします
     ev[ent] <番号> イベントの情報を表示します
     ex[ec] <番号> イベントを今すぐ実行します
     logcr ログをクリアします
     :
    add     <−−−−−−−−イベントの追加
     新しくイベントを追加します

     DynamicDNSサービス名を入力してください
     "?"で対応しているサービスを一覧表示します
     (P)戻る
     >
    ZiVE
     -------------------------------------------------
     << ZiVE DNS Service >>
     URL: http://www.zive.org/
     *** 情報 ***
     ZiVEのオプションについて
     【ホストタイプについて】
      〔ダイヤルアップ〕
       「有効期間」「オフライン」「オフラインメッセージ」の設定が有効です。
       その他のオプションは無効です。
       ※ DiCEでは入力文字数に制限がありますのでご了承ください。
      〔常時接続〕
       「更新モード」「MXホスト名」の設定が有効です。
       その他のオプションは無効です。
       ※ MXレコードを定義する場合の注意
         IPアドレス更新後は、MXレコードを再登録する必要があります。
     =================================================
     ドメイン名を入力してください
     "?"でドメイン一覧を表示します
     (P)戻る
     >
    zive.net
     =================================================
     ホスト名を入力してください
     (P)戻る
     >
    example
     =================================================
     ログインユーザ名を入力してください
     (P)戻る
     >
    example
     =================================================
     ログインパスワードを入力してください
     (P)戻る
     >
    ************
     =================================================
     登録するIPアドレスを入力してください
     空白にすると現在のIPアドレスを自動検出します
     (P)戻る
     >
     =================================================
     このイベントに題名を付けてください
     (P)戻る
     >
    exampleの更新
     =================================================
     このイベントを実行するスケジュールを設定します
     -------------------------------------------------
     実行する頻度を指定してください (番号入力)
     (0)1回のみ (1)1日1回 (2)1週間に1回 (3)1ヵ月に1回
     (4)その他の周期 (5)IPアドレス変化時 (6)起動時
     (P)戻る
     >
    5
     -------------------------------------------------
     IPアドレスがあまり変化しない環境の場合、更新せずに一定期間を過ぎると
     アカウントを削除されてしまうことがあります
     IPアドレスの変化が無い時に実行する間隔を指定してください
     (0)7日毎 (1)14日毎 (2)21日毎 (3)28日毎
     (4)35日毎 (5)56日毎 (6)84日毎
     (P)戻る
     >
    0
     =================================================
     詳細オプションを設定します
     -------------------------------------------------
     [ ホストタイプ ]
     (0)ダイヤルアップ (1)常時接続
     番号>
    1
     -------------------------------------------------
     [ オフライン ]
     (0)No (1)Yes
     番号>
    0
     -------------------------------------------------
     [ 有効期間(日) ]
     (0)1 (1)0 (2)2 (3)3 (4)4 (5)5 (6)6 (7)7 (8)8 (9)9 (10)10 (11)11 (12)12 (13)13
     番号>
    1
     -------------------------------------------------
     [ 有効期間(時間) ]
     (0)0 (1)1 (2)2 (3)3 (4)4 (5)5 (6)6 (7)7 (8)8 (9)9 (10)10 (11)11 (12)12 (13)13
     (14)14 (15)15 (16)16 (17)17 (18)18 (19)19 (20)20 (21)21 (22)22 (23)23
     番号>
    0
     -------------------------------------------------
     [ 有効期間(分) ]
     (0)0 (1)10 (2)20 (3)30 (4)40 (5)50
     番号>
    0
     -------------------------------------------------
     [ オフラインメッセージ ]
     入力>
     -------------------------------------------------
     [ 更新モード ]
     (0)IPアドレス更新 (1)MXレコード設定
     番号>
    0
     -------------------------------------------------
     [ MXホスト名 ]
     入力>
     =================================================
     このイベントを有効にしますか? (Y/N)
     (イベントの有効/無効は"EN/DIS"コマンドで切替えられます)
     >
    y
     =================================================
     イベントを保存しますか? (Y/N)
     >
    y
     イベント"exampleの更新"を保存しました
     =================================================
     :
    list
     (No.) (イベント名) (スケジュール) (次回予定)
     0 * exampleの更新 IPアドレス変化時 (7日毎) 12/18 10:48
     :
    exit
     #


■メールサービスの設定

引き続き、メールサービスの設定(MXレコードの設定)を行います。IPアドレスの更新と異なるのは、更新モードをMXレコード設定にし、MXホスト名を登録することだけです。

 # /usr/local/bin/DiCE/diced
 =-=-=- DiCE DynamicDNS Client -=-=-=
 Version 0.19 for Japanese
 Copyright(c) 2001 sarad

 :
add
 新しくイベントを追加します

 DynamicDNSサービス名を入力してください
 "?"で対応しているサービスを一覧表示します
 (P)戻る
 >
ZiVE
 -------------------------------------------------
 << ZiVE DNS Service >>
 URL: http://www.zive.org/
 *** 情報 ***
 ZiVEのオプションについて
 【ホストタイプについて】
  〔ダイヤルアップ〕
   「有効期間」「オフライン」「オフラインメッセージ」の設定が有効です。
   その他のオプションは無効です。
   ※ DiCEでは入力文字数に制限がありますのでご了承ください。
  〔常時接続〕
   「更新モード」「MXホスト名」の設定が有効です。
   その他のオプションは無効です。
   ※ MXレコードを定義する場合の注意
     IPアドレス更新後は、MXレコードを再登録する必要があります。
 =================================================
 ドメイン名を入力してください
 "?"でドメイン一覧を表示します
 (P)戻る
 >
zive.net
 =================================================
 ホスト名を入力してください
 (P)戻る
 >
example
 =================================================
 ログインユーザ名を入力してください
 (P)戻る
 >
examole
 =================================================
 ログインパスワードを入力してください
 (P)戻る
 >
************
 =================================================
 登録するIPアドレスを入力してください
 空白にすると現在のIPアドレスを自動検出します
 (P)戻る
 >
 =================================================
 このイベントに題名を付けてください
 (P)戻る
 >
example(MX)の更新
 =================================================
 このイベントを実行するスケジュールを設定します
 -------------------------------------------------
 実行する頻度を指定してください (番号入力)
 (0)1回のみ (1)1日1回 (2)1週間に1回 (3)1ヵ月に1回
 (4)その他の周期 (5)IPアドレス変化時 (6)起動時
 (P)戻る
 >
5
 -------------------------------------------------
 IPアドレスがあまり変化しない環境の場合、更新せずに一定期間を過ぎると
 アカウントを削除されてしまうことがあります
 IPアドレスの変化が無い時に実行する間隔を指定してください
 (0)7日毎 (1)14日毎 (2)21日毎 (3)28日毎
 (4)35日毎 (5)56日毎 (6)84日毎
 (P)戻る
 >
0
 =================================================
 詳細オプションを設定します
 -------------------------------------------------
 [ ホストタイプ ]
 (0)ダイヤルアップ (1)常時接続
 番号>
1
 -------------------------------------------------
 [ オフライン ]
 (0)No (1)Yes
 番号>
0
 -------------------------------------------------
 [ 有効期間(日) ]
 (0)1 (1)0 (2)2 (3)3 (4)4 (5)5 (6)6 (7)7 (8)8 (9)9 (10)10 (11)11 (12)12 (13)13
 番号>
1
 -------------------------------------------------
 [ 有効期間(時間) ]
 (0)0 (1)1 (2)2 (3)3 (4)4 (5)5 (6)6 (7)7 (8)8 (9)9 (10)10 (11)11 (12)12 (13)13
 (14)14 (15)15 (16)16 (17)17 (18)18 (19)19 (20)20 (21)21 (22)22 (23)23
 番号>
0
 -------------------------------------------------
 [ 有効期間(分) ]
 (0)0 (1)10 (2)20 (3)30 (4)40 (5)50
 番号>
0
 -------------------------------------------------
 [ オフラインメッセージ ]
 入力>
 -------------------------------------------------
 [ 更新モード ]
 (0)IPアドレス更新 (1)MXレコード設定
 番号>
1
 -------------------------------------------------
 [ MXホスト名 ]
 入力>
example.zive.net
 =================================================
 このイベントを有効にしますか? (Y/N)
 (イベントの有効/無効は"EN/DIS"コマンドで切替えられます)
 >
y
 =================================================
 イベントを保存しますか? (Y/N)
 >
y
 イベント"eample(MX)の更新"を保存しました
 =================================================
 :
list
 (No.) (イベント名) (スケジュール) (次回予定)
 0 * exampleの更新 IPアドレス変化時 (7日毎) 12/18 10:48
 1 * example(MX)の更新 IPアドレス変化時 (7日毎) 12/18 10:50
 :exit
 
#


■DiCEの環境設定

環境設定では、IPアドレスの検出方法について設定します。おやじは、過去の経験からスクリプトURLでの検出にしました。スクリプトURLの書き方は、ルータによって違いますが、以下の方法で調査、設定できます。この方法は、OAKさんからの情報に一部おやじが調査したものを加えたものです。(2002.10.15)

  1. ルータにログインし、WAN側に割り当てられたグローバルIPアドレスが表示される画面を出す。

  2. その画面上で右クリックし、ブラウザがIntenet Explorerの場合は「プロパティ」で表示される中のアドレス(URL)、Netscape Navigatorの場合は「このフレーム」→「フレーム情報を表示」で表示される一般タブの中のURLに表示されるものが、その画面にアクセスするURL.である。

      TE4121Cの例: http://192.168.1.1/cgi-bin/main.cgi?cc_webname=STATUS

  3. 新しくブラウザを起動し、上記で得られたURLのhttp://とアドレスの間に、「ログインユーザ名:パスワード@」を加えたURLをアドレス欄に入力し、ルータにアクセスしてみる。この操作で、パスワード入力を求められることなくグローバルアドレスが表示される画面がでれば、これをスクリプトとして登録すればよい。

      TE4121Cの例: http://oyaji:hogehoge@192.168.1.1/cgi-bin/main.cgi?cc_webname=STATUS

なお、ルータの機種によって上記方法ではアドレス表示画面にアクセスできない場合や誤検出したりする場合は、ルータの機種に依存しないスクリプトURLとして、下記も使用可能です。これは、下記サイトにアクセスしてきた要求元のアドレスを返送するCGI等が置かれており、DiCEでそこをアクセスすることにより、WAN側のグローバルIPアドレスをGETする方法ですので、ルータのアクセス方法がわからない方や、DiCEと相性の悪いルータの場合、非常に有効な方法です。自分の契約プロバイダに下記のような簡単なスクリプトを置いて、アクセスする方法も良いでしょう。プロバイダにアクセスできない状況ならサーバも見えないでしょうから、おやじはこの方法を使用しています。


 # /usr/local/bin/DiCE/diced
 =-=-=- DiCE DynamicDNS Client -=-=-=
 Version 0.19 for Japanese
 Copyright(c) 2001 sarad

 :
setup
 IPアドレスの検出方法を指定してください
 (0) 自動検出
 (1) ローカルのネットワークアダプタから検出
 (2) 外部のスクリプトから検出
 <現在:0>
 (N)変更しない (P)戻る
 >
2
 -------------------------------------------------
 スクリプトのURLを入力してください
 <現在:>
 (N)変更しない (P)戻る
 >
http://www.dyndns.org/cgi-bin/check_ip.cgi
 -------------------------------------------------
 プライベートIPアドレスも検出対象ですか? (Y/N)
 <現在:いいえ>
 (P)戻る
 >
n
 -------------------------------------------------
 IPアドレスを検出をテストしますか? (Y/N)
 (P)戻る
 >
y
 検出IPアドレス>61.210.220.37
 -------------------------------------------------
 IPアドレスを検出をテストしますか? (Y/N)
 (P)戻る
 >
n
 -------------------------------------------------
 IPアドレスをチェックする間隔を指定してください(分)
 設定可能範囲は5分以上です
 <現在:10>
 (N)変更しない (P)戻る
 >
5
 =================================================
 DNSサーバーの負荷を軽減するために頻繁なDNS更新を防ぐ必要があります
 前回の更新から一定時間DNS更新処理を行わないように保護時間を設定して
 ください(分) 設定可能範囲は10分から1440分です
 <現在:60>
 (N)変更しない (P)戻る
 >
10
 =================================================
 設定を保存しますか? (Y/N)
 (P)戻る
 >
y
 設定を保存しました
 =================================================
 :
list
 (No.) (イベント名) (スケジュール) (次回予定)
 0 * exampleの更新 IPアドレス変化時 (7日毎) 12/18 10:48
 1 * example(MX)の更新 IPアドレス変化時 (7日毎) 12/18 10:50
 2 * exampleftpの更新 IPアドレス変化時 (7日毎) 12/18 10:54
 :
exit

 

■DiCEの起動

設定が終わったら、

      # /usr/local/bin/DiCE/diced -d -l

と入力して、DiCEを起動し、グローバルIPアドレスが変わるような状況を作り(おやじは、ADSLなのでモジュラーを抜いて試験)、5分以内に自動的にアドレスの変化を検出して新しいアドレスやMXレコードの登録動作をするか確認する。確認は、DDNSサービス側で変更登録がされているか? evコマンドで記録が残っているか?でできるでしょう。
動作に問題がなければ、このままでは、再起動するたびに設定が必要なので、再起動時に上記コマンドを自動実行するよう登録する。登録は、/etc/rc.d/rc.local に上記コマンド( /usr/local/bin/DiCE/diced -d -l)を追記しておけば、再起動時に実行されます。念のため、再起動後に、ps auxで起動されているか確認しておきましょう。


Top Pageへ