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

DHCPサーバの構築

 DHCPは『Dynamic Host Configuration Protocol』の略で、クライアントにIPアドレスなどを自動的に割り振ってくれるものです。
 クライアント側のネットワーク設定が簡単になるため、複数のネットワークに接続するクライアントマシンなどでは、DHCPサーバがあると非常に便利です。ローカルネットワークにノートマシンを持ち込む場合などに重宝するでしょう。 また、DHCPを利用している場合、サーバ側で設定を変更するだけでクライアント側のネットワーク設定も変更できるというメリットもあります。

DHCPのインストール

 DHCPをインストールします。

バージョン

dhcp2.0(2000/02/19)

入手方法

ftp://ftp.isc.org/isc/dhcp/

インストール

 /usr/local/pub/にアーカイブを置いて作業します。

linux# cd /usr/local/src/
linux# zcat ../pub/dhcp-2_0_tar.gz |tar -xvf -
linux# cd dhcp-2.0/
linux# ./configure
linux# make
linux# make install

DHCPサーバの設定

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

dhcp.confを書き換える

 dhcp.confをetcにコピーして書きかえます。

コマンド
linux# cd /usr/local/src/dhcp-2.0/server/
linux# cp dhcpd.conf /etc/.
linux# cd /etc/
linux# vi dhcpd.conf
内容抜粋
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
option domain-name "lo.ash.jp";
option domain-name-servers 10.0.1.254;

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

subnet 10.0.1.0 netmask 255.255.255.0 {
  range 10.0.1.101 10.0.1.150;
  option broadcast-address 10.0.1.255;
  option routers 10.0.1.254;
}

routeを設定

 routeコマンドを使います。ネットワークが複数ある場合、使用するほう(ここではローカル側)を設定します。

コマンド
linux# /sbin/route add -host 255.255.255.255 dev eth1

 netstatコマンドを使用して、routeの設定が正しくされているか確認します。

コマンド
linux# netstat -rn

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
255.255.255.255 0.0.0.0         255.255.255.255 UH     1500 0          0 eth1
10.0.1.0        0.0.0.0         255.255.255.0   U      1500 0          0 eth1
127.0.0.0       0.0.0.0         255.0.0.0       U      3584 0          0 lo

dhcpd.leasesを作成

 DHCPサーバは、dhcpd.leasesというIP割り当てデータベースを使用してIPアドレスを管理しています。
 このデータベースの内容はDHCPサーバが更新していきますが、DHCPサーバはこのファイル自体を作成しないので、あらかじめdhcpd.leasesを用意する必要があります。
 DHCPサーバはデフォルトで/var/state/dhcp/dhcpd.leasesを参照しにいくので、そこに空のファイルを作成します。

コマンド
linux# cd /var/state/dhcpd
linux# touch dhcpd.leases

動作確認

 DHCPサーバを起動して動作を確認します。

デーモン起動

 dhcpdを起動します。

コマンド
linux# /usr/sbin/dhcpd eth1

クライアントで実験

 Windowsで、「コントロールパネル」>「ネットワーク」を開き、「TCP/IP」の「プロパティ」を開きます。 そこで、IPを自動取得にチェックします。また、デフォルトゲートウェイや、DNSの設定は空白にします。
 再起動して、「スタートメニュー」の「ファイル名を指定して実行」で「winipcfg」と入力して、状態を確認します。

自動起動設定

 サーバマシンの起動時に、DHCPサーバが自動的に起動するように設定します。

rc.inet1の記入

 /etc/rc.d/rc.inet1に、DHCP用のrouteを追加します。

コマンド
linux# vi /etc/rc.d/rc.inet1
追加分
# route for dhcp
/sbin/route add -host 255.255.255.255 dev eth1

rc.inet1の記入

 /etc/rc.d/rc.localに、dhcpdの起動命令を追加します。

コマンド
linux# vi /etc/rc.d/rc.local
追加分
# start dhcp server
  /usr/sbin/dhcpd eth1


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