Is that really all there is to it because that'd be fleggarbastinb.
 ダイナミックDNSを構築してみる。

#contents

*インストール [#j3e7666a]
 特別なパッケージは必要ない。bind9が使える状態になっていればよい。
 # apt-get install bind9 bind9-host dnsutils

*設定 [#p10f503e]
 鍵を作成する。カレントディレクトリに、Kddns.+157+xxx.keyとKddns.+157+xxx.privateが作成される。rootが読む権限があれば十分。
 dnssec-keygen -a HMAC-MD5 -b 512 -n USER DDNS

 ~
 bindが使うキーファイルを作成。XXXの部分には、Kddns.+157+xxx.privateの Key: 以降を設定。作成したファイルのパーミッションは、640にしておく。
-/etc/bind/ddns.key (新規作成)
 key DDNS {
     algorithm "HMAC-MD5";
     secret "XXX";
 };

 ~
 キーを読むように指定する。
-/etc/bind/named.conf.options (追加部分)
 include "/etc/bind/ddns.key";

 ~
 ゾーンの設定に allow-update を追加し、外部からの変更を受け付ける。
-/etc/bind/named.conf.local (対象部分)
    zone "ddns.example.jp" IN {
        type master;
        file "ddns.zone";
        allow-update { key DDNS; };
    };

 ~
 基本のゾーンファイルを作成する。
-/var/cache/bind/ddns.zone
 $ORIGIN .
 $TTL 3600       ; 1 hour
 ddns.example.jp       IN SOA  ns.ddns.example.jp. webmaster.example.jp. (
                               1          ; serial
                               60         ; refresh (1 minute)
                               20         ; retry (20 seconds)
                               3600       ; expire (1 hour)
                               600        ; minimum (10 minutes)
                               )
                       NS      ns.ddns.example.jp.
 $ORIGIN ddns.example.jp.

*更新手順 [#qb11a32a]
 nsupdateコマンドを使用する。ここでは対話型での設定方法を説明するが、追加の引数にコマンドを書いたファイルを指定すればバッチでの処理も可能となる。
 # nsupdate -k Kddns.+157+xxx.private
 > server 127.0.0.1
 > update delete test01.ddns.example.jp
 > update add test02.ddns.example.jp 60 A 192.168.2.30
 > send
 > ^D   (Ctrl + D で抜ける)

*参考 [#pd8771fd]
-http://www.atmarkit.co.jp/flinux/rensai/bind04/bind04.html
-http://www.atmarkit.co.jp/flinux/rensai/bind905/bind905c.html

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS