setup ddns on subdomain
DDNSをsubdomainを新設して運用してみた。
いろいろ浦島。
1. subdomainの設定
/etc/named.confに新しいsubdomainのzoneを記述する。 ここでは、「newdomain」とする。zone "newdomain.xxxx.jp" { type master; file "dhcp.zone"; };
次に、/var/named/dhcp.zone を新規に作成する。
ここでは、DHCP対応ということで、MXなどは親ドメインと同じにしておく。
また、とりあえず、「www」というホストを登録しておく。
$ORIGIN . $TTL 38400 ; 10 hours 40 minutes newdoamin.xxxx.jp IN SOA 親domianのDNS server. root.xxxx.jp. ( 2008030202 ; serial 10800 ; refresh (3 hours) 3600 ; retry (1 hour) 604800 ; expire (1 week) 38400 ; minimum (10 hours 40 minutes) ) NS 親domianのDNS server . A 親domianのIP MX 10 親domianのMAIL server . $ORIGIN newdomain.xxxx.jp. $TTL 38400 ; 10 hours 40 minutes www A 親domianのIP
設定したら、なにか間違ってないか、ちゃんと確認する。
# /etc/rc.d/init.d/named restart # tail /var/log/message # dig www.newdomain.xxxx.jp
※親ドメインのSERIALを変えないとサブドメインは認識されないっぽい。
2.DDNSの設定
DDNSの認証ポリシーをTSIG(Transaction Signature)とした場合。 要するに、長いパスフレーズだと思えばよい。まずは、TSIGのkeyを作成する。
# /usr/sbin/dnssec-keygen -a HMAC-MD5 -b 512 -n HOST newdomain.xxxx.jp Knewdomain.xxxx.jp.+157+65381 # more Knewdomain.xxx.jp.+157+65381.key newdomain.xxxx.jp. IN KEY 512 3 157 W91nmVTY6FXXXXXXXXXXXXXXXtoO4tudT2x Y2Np5xaeXXpwcw==
「W91nm...」というところが認証キーとなる。
ファイルをそのまま使うのもいいが面倒なので、named.confに埋め込む。
key "newdomain.xxxx.jp" { algorithm hmac-md5; secret "W91nmVTY6FXXXXXXXXXXXXXXXtoO4tudT2xY2Np5xaeXXpwcw=="; };zone "newdomain.xxxx.jp" {
type master;
file "dhcp.zone";
allow-update {
key newdomain.xxxx.jp;
};
};
namedの再起動を忘れずに。
3.DDNSのホストを登録
nsupdateコマンドを利用して、DHCPアドレスをもったサーバをDNSに登録する。直接入力してもいいけど、面倒なのでファイルに以下のようにサンプル記述する。
# /sbin/ifconfig | grep inet # cat > sample update add newhost.newdomain.xxxx.jp 38400 IN A DHCPで取得したIP 必ず空行が必要
ファイル名「sample」を最後の引数にしてnsupdateを起動。
「Knewdomain.xxxx.jp.+157+65381.private」も同じディレクトリに用意しておくこと。
# nsupdate -k Knewdomain.xxxx.jp.+157+65381.key sample # dig newhost.newdomain.xxxx.jp
ここで、DNSホストの/var/log/messageを見てみる。
Mar 2 17:35:41 xxxx named[25528]: client xxx.xxx.xxx.xxx#1293: updating zone ''newdomain.xxxx.jp/IN'': adding an RR
/var/named/dhcp.zone は、namedの再起動時更新される。