[HOME] [研究室] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

技術系ヨモヤマ話

Table of Contents
BIND 8 での Dynamic DNS (非対称鍵)
BIND (Berkeley Internet Name Domain)
WPAD (Web Proxy Auto Discovery Protocol)
http-analyze
Livingston Portmaster (リビングストン社製ポートマスタ)
命題: ftpd で受けたデータを二重化しつつ格納できるか?
複数のファイルに対して tail -F をする
Magicpoint のインストールと基本的な設定
kermit の例
man in the middle attack by ettercap
openssl の使い方
変形版メールサーバ: 110/tcp を開かずに POP したいな
qmail
apache + mod_ssl を作る (昔話)
apache + mod_ssl をインストールする
CA の例
SSL を使った CGI セッションの例
家庭内ネットワークの構築技術
NEC 110ge TIPS すこし
NEC 110ra-1h TIPS すこし
IDEmirror (RAID1 カード)
VMWare Player

BIND 8 での Dynamic DNS (非対称鍵)

世の中には Free の Dynamic DNS サービスもいろいろあるので、 実際に自分で bind を運用することはあまりないかもしれません。 実際、そういったサービスを利用する方が楽でしょう:) [1]

ここでは、ADSL でつながっている UNIX マシン(クライアント)と、 インターネット上にあるサーバがあるとし、 きちんと非対称鍵を使った Dynamic DNS をやってみることにします。

非対称鍵の作成

まず dnskeygen で非対称鍵を作ります。 /etc/namedb/secret というディレクトリを作り、 ここで作業することにしましょう。

[最近 BIND-9.4.x]
% dnssec-keygen -k -a HMAC-MD5 -b 128 -n USER ddns.nuinui.net.

[昔]
% /usr/libexec/dnskeygen -z -H 128 -n ddns.nuinui.net.

Generating 128 bit HMAC-MD5 Key for ddns.nuinui.net.

Generated 128 bit Key for ddns.nuinui.net. id=0 alg=157 flags=257
ここでは HMAC で 128 bit と指定しています。 そしてキーの名前は ddns.nuinui.net です。

作られた2つのファイルは、 サフィックスが .key のものが公開鍵、.private の方が秘密鍵です。 ちなみに中身はこんな感じです。 Kddns.nuinui.net.+157+00000.key は

ddns.nuinui.net. IN KEY 257 3 157 /4lUIxhZIhEmNRQzta0Tow==
Kddns.nuinui.net.+157+00000.private は
Private-key-format: v1.2
Algorithm: 157 (HMAC)
Key: /4lUIxhZIhEmNRQzta0Tow==
のようになっています。

サーバ側で秘密鍵を持ち、 クライアントは公開鍵を使います。

サーバ側: /etc/named.conf

まずはサーバ側の設定です。 home.nuinui.net ゾーンを dynamic dns 対応にしてみます。 home.nuinui.net ゾーンの allow-update と key 命令がポイントです。

zone "home.nuinui.net" {
	type master;
	file "home.nuinui.net";
	allow-update {
		key ddns.nuinui.net;
	};
};

key ddns.nuinui.net {
	algorithm hmac-md5;
	secret /4lUIxhZIhEmNRQzta0Tow==;
};

なお、named.conf のパーミッションが root 以外でも見られるようになって いることがあります。 そういった場合は

zone "home.nuinui.net" {
	type master;
	file "home.nuinui.net";
	allow-update {
		key ddns.nuinui.net;
	};
};

include "/etc/namedb/secret/key.ddns.nuinui.net";
などとし、 /etc/namedb/secret/key.ddns.nuinui.net に
key ddns.nuinui.net {
	algorithm hmac-md5;
	secret /4lUIxhZIhEmNRQzta0Tow==;
};
と書き、 /etc/namedb/secret/key.ddns.nuinui.net のオーナは root で パーミッションを 0400 にしておくのが良いのでしょう。

クライアント側: nsupdate で DNS を更新する

サーバの情報更新には nsupdate コマンドを使います。

% nsupdate -d -k /etc/namedb/secret:ddns.nuinui.net.
> update delete rudo.home.nuinui.net A
> update add    rudo.home.nuinui.net 60 A 10.0.0.1
> (空行)
最後の空行がないと実行されないことに注意してください。 実際には 10.0.0.1 の部分は ADSL のグローバルなアドレスなどになります。

nsupdate について詳しくはマニュアルを参照して下さい。

Notes

[1]

そういったサービスは WWW でサーチすればいろいろ出てくるので、省略します:)

[HOME] [研究室] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2019 Ken'ichi Fukamachi mail:< fukachan at fml.org >