DHCPは『Dynamic Host Configuration Protocol』の略で、クライアントにIPアドレスなどを自動的に割り振ってくれるものです。
クライアント側のネットワーク設定が簡単になるため、複数のネットワークに接続するクライアントマシンなどでは、DHCPサーバがあると非常に便利です。ローカルネットワークにノートマシンを持ち込む場合などに重宝するでしょう。
また、DHCPを利用している場合、サーバ側で設定を変更するだけでクライアント側のネットワーク設定も変更できるというメリットもあります。
DHCPサーバには、ISC版のdhcpdを使います。
以下のソフトをダウンロードし、/usr/local/pubに格納します。
ftp://ftp.isc.org/isc/dhcp/ dhcp-2.0pl5.tar.gz 2000/09/06 300KB |
以下の手順で、DHCPサーバをインストールします。
unix# cd /usr/local/src/ unix# gzip -cd ../pub/dhcp-2.0pl5.tar.gz | tar -xvf - unix# cd dhcp-2.0pl5 unix# ./configure unix# make unix# make install |
dhcpd.confを書き換えたり、routeを設定したりします。
dhcpd.confをetcにコピーして書きかえます。
unix# cp server/dhcpd.conf /etc/.
unix# vi /etc/dhcpd.conf
(cp /conf/dhcpd/dhcpd.conf /etc/.)
|
| dhcpd.confの内容 |
|---|
# dhcpd.conf
#
# Configuration file for ISC dhcpd
#
option domain-name "ash.jp";
default-lease-time 600;
max-lease-time 7200;
subnet 10.0.1.1 netmask 255.255.255.0 {
range 10.0.1.101 10.0.1.120;
option domain-name-servers 10.0.1.1;
option broadcast-address 10.0.1.255;
option routers 10.0.1.254;
}
|
FreeBSDでは、起動時に/usr/local/etc/rc.d配下のシェルを動作させるので、dhcpd.shを作成します。 ネットワークが複数ある場合、使用するインターフェイスを設定します。 dhcpd.leasesがない場合は、自動的に作成するようにしておきます。
unix# vi /usr/local/etc/rc.d/dhcpd.sh
(cp /conf/dhcpd/dhcpd.sh /usr/local/etc/rc.d/.)
unix# chmod +x /usr/local/etc/rc.d/dhcpd.sh
|
| dhcpd.shの内容 |
|---|
#!/bin/sh
case "$1" in
start)
touch /var/db/dhcpd.leases
/usr/sbin/dhcpd fxp0
/sbin/route add -host 255.255.255.255 -iface fxp0
;;
stop)
/sbin/route delete -host 255.255.255.255 -iface fxp0
pid=`ps -acx | grep " dhcpd" | awk '{print $1}'`
kill ${pid}
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
;;
esac
exit 0
|
DHCPサーバを起動して動作を確認します。
dhcpdを起動します。 dhcpd.shを起動するときは、フルパスで指定する必要があります。
unix# /usr/local/etc/rc.d/dhcpd.sh start |
Windowsで、「コントロールパネル」>「ネットワーク」を開き、「TCP/IP」の「プロパティ」を開きます。
そこで、IPを自動取得にチェックします。また、デフォルトゲートウェイや、DNSの設定は空白にします。
再起動して、「スタートメニュー」の「ファイル名を指定して実行」で「winipcfg」と入力して、状態を確認します。
参考までに、DHCPサーバとクライアント間で、ネットワークアドレスを割り当てるときの、DHCPプロトコルのデータの流れは、以下のようになります。
詳しくは、RFC-2131で定義されています。
Client Server
------------------------ -------------------------
DHCPサーバーの問合せ
DHCPDISCOVER --->
応答
<--- DHCPOFFER
アドレスの割当て要求
DHCPREQUEST --->
割り当て結果
<--- DHCPACK /DHCPNAK
アドレスの開放
DHCPRELEASE --->
|