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の再起動時更新される。