FreeBSD

ISC DHCP & DDNS


ISC DHCP を使って、LAN内への DHCP サービスの提供と BIND9 と連動してホスト名を自動で更新するようにします。
まず、ports/net/isc-dhcp3-server/ で make install します。その後、BIND9 と連動するための ddns.key を作成します。

# cd /etc/namedb/
# dnssec-keygen -a HMAC-MD5 -b 512 -n USER DDNS # 制御用秘密キーの作成
# touch ddnsc.key; chown bind:bind ddns.key; chmod 600 # ddns.key を作成
# sed -n 's/Key: \(.*\)/secret "\1";/p' key/Kddns.*.private >

vi ddns.key で 斜字部分を追加
key DDNS {
	algorithm HMAC-MD5;
	secret "c5aE0eAkXBjXbybyG6nb2bhy+PPp6Ckz7XolD1y73NhreyPcPWleDqm/m4L7KnEG4NdplrnzmLmnyr/mRFwETw==";
	};
isc-dhcp にはさまざまな機能があるようですが、/usr/local/etc/dhcpd.conf を以下の内容で作成しました。
uthoritative;
option	domain-name "kncn.net";
option	domain-name-servers sun.kncn.net;

ddns-update-style	interim;
ignore			client-updates;

include	"/etc/namedb/ddns.key";

default-lease-time	1200;
max-lease-time		10800;

zone kncn.net. {
	primary 127.0.0.1;
	key DDNS;
}

zone 0.168.192.in-addr.arpa. {
	primary 127.0.0.1;
	key DDNS;
}

subnet 192.168.0.0 netmask 255.255.255.0 {
	option routers 192.168.0.253;
	option broadcast-address 192.168.0.255;
	pool {
		range 192.168.0.16 192.168.0.31;
	}
}
後は、/etc/rc.conf
dhcpd_enable="YES"
を追加して再起動。
/etc/namedb/s/ に kncn.db.jnlkncn.rev.jnl が作成されて自動で BIND9 と連動して DHCPクライアントのホスト名が更新されると思います。
残念ながら、FreeBSD クライアントは無理? Mac OSX & Windows XP では OK