DHCPd 3.0 PatchLevel1 のインストール
2000-01-27 作成 福島
2002-11-24 更新 福島
2003-07-21 更新 福島

http://www.isc.org/products/DHCP/
$ tar zxf dhcp-3.0pl1.tar.gz
$ cd dhcp-3.0pl1/
dhcp-3.0pl1$ ./configure linux                     ./configure だけにすると man がインストールされない
dhcp-3.0pl1$ make
dhcp-3.0pl1$ su
dhcp-3.0pl1# make install                          本体をインストール (ディレクトリ /var/stat/dhcp/ が自動的に作成される)
dhcp-3.0pl1# touch /var/state/dhcp/dhcpd.leases    リースファイルを空で作成
dhcp-3.0pl1# vi /etc/dhcpd.conf                    定義ファイルを自分のネットワーク環境に合わせる
例1
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
option domain-name "example.com";
option domain-name-servers dns.example.com;

option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;

# ddns-update-style interim;
# ddns-update-style add-hoc;
ddns-update-style none;    # DDNSを使用しない

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.20 192.168.0.128;
  option broadcast-address 192.168.0.255;
  option routers gateway.example.com;
}
dhcp-3.0pl1# chown root:root /etc/dhcpd.conf dhcp-3.0pl1# chmod 644 /etc/dhcpd.conf dhcp-3.0pl1# cat > /etc/rc.d/init.d/dhcpd
#!/bin/sh
# chkconfig: 345 55 45
# description: dhcp 3.0pl1

. /etc/rc.d/init.d/functions

[ -f /usr/sbin/dhcpd ] || exit 0
[ -f /etc/dhcpd.conf ] || exit 0

RETVAL=0

case "$1" in
	start)
		# Start daemons.
		echo -n "Starting dhcpd: "
		daemon /usr/sbin/dhcpd -cf /etc/dhcpd.conf eth1
		# ネットワークカードが 1 枚の時は /usr/sbin/dhcpd だけでも可
		RETVAL=$?
		[ $RETVAL -eq 0 ] && touch /var/lock/subsys/dhcpd
		echo
		;;
	stop)
		# Stop daemons.
		echo -n "Shutting down dhcpd: "
		killproc dhcpd
		RETVAL=$?
		[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dhcpd
		echo
		;;
	restart)
		$0 stop
		$0 start
		;;
	*)
		echo "Usage: dhcpd {start|stop|restart}"
		exit 1
esac

exit $RETVAL
dhcp-3.0pl1# chown root:root /etc/rc.d/init.d/dhcpd dhcp-3.0pl1# chmod 755 /etc/rc.d/init.d/dhcpd dhcp-3.0pl1# /sbin/chkconfig --add dhcpd dhcp-3.0pl1# /etc/rc.d/init.d/dhcpd start dhcp-3.0pl1# /etc/rc.d/init.d/dhcpd stop
・Dynamic DNS の利用 ISC dhcpd 3.0 からは DDNS (DynamicDNS) を利用することが出来ます。 DDNS を利用すると、DHCP でホストを登録するときにホスト名を DNS に登録することが出来ます。 (Windows のホスト名が player、DHCP で管理するサブドメインが lan.example.com の場合、 player.lan.example.com を自動的に登録することが出来る。) 例2
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
option domain-name "example.com";
option domain-name-servers dns.example.com;

option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;

ddns-update-style interim;   # DDNS を利用する
# ddns-update-style add-hoc;
# ddns-update-style none;

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.20 192.168.0.128;
  option broadcast-address 192.168.0.255;
  option routers gateway.example.com;

  ddns-domainname "lan.example.com";                      # DDNS で使用するドメイン名
  ddns-rev-domainname "in-addr.arpa";                     # 逆引きのトップドメイン名 (in-addr.arpa 固定)
  zone lan.example.com. { primary 192.168.0.1; }          # DDNS サーバの IP アドレス (正引き用)
  zone 0.168.192.in-addr.arpa. { primary 192.168.0.2; }   # DDNS サーバの IP アドレス (逆引き用)
}
ここでは、正引きサーバとして 192.168.0.1 を、 逆引きサーバとして 192.168.0.2 を指定しています。 それぞれのサーバで当該サーバ (DHCPD が動作しているサーバ) からの nsupdate を受け付けるようにしてあることが必要です。 (named.conf の allow-update { ... } の項を参照) nsupdate は認証あり/なしのモードで動作します。 認証なしの場合は設定が簡単ですが UDP で動作するため、セキュリティホールとなります。 十分注意して設置しましょう。