ASH | サーバ | セキュリティ | Linux | FreeBSD | DB | Web | CGI | Perl | Java | XML | プログラム | ネットワーク | 標準 | Tips集

DHCPサーバの設定

 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サーバのインストール

 以下の手順で、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

DHCPサーバの設定

 dhcpd.confを書き換えたり、routeを設定したりします。

dhcpd.confを書き換える

 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サーバとクライアント間で、ネットワークアドレスを割り当てるときの、DHCPプロトコルのデータの流れは、以下のようになります。
 詳しくは、RFC-2131で定義されています。

 Client                        Server
------------------------      -------------------------
 DHCPサーバーの問合せ
 DHCPDISCOVER            --->
                               応答
                         <---  DHCPOFFER
 アドレスの割当て要求
 DHCPREQUEST             --->
                               割り当て結果
                         <---  DHCPACK /DHCPNAK

アドレスの開放
 DHCPRELEASE             --->


Copyright (C)1995-2002 ASH multimedia lab.
mail : info@ash.jp