DHCP サーバを立ち上げる


DHCP の概要

自動割り当て
要求のあった DHCP クライアントに対し、有効期間が無期限である IP アドレスを割り当てます。デスクトップのような滅多に移動しな いシステムに対してアドレスを割り当てるような場合に、この割り当 て方を使うと良いでしょう。
動的割り当て
基本的には「自動割り当て」と同じですが、割り当てられる IP アド レスは有効期限が設定されます。よって、ノートパソコンのような移 動ホストに対してアドレスを割り当てるような場合に、この割り当て 方を使うと良いでしょう。
手動割り当て
事前に管理者が割り当てておいた IP アドレスを、要求を出したホス トに対して通知する方式。主な用途はディスクレスワークステーショ ンのブート時に IP アドレスを割り当てるような時に用います。\

DHCP のインストール

ここでは、FreeBSD2.2.8-RELEASE が動いているマシン(pfuna03)に、 Wide プロジェクトで作られている Wide-DHCP をインストールする手順を 説明します。

インストールの前に

インストール

環境設定

既存設定ファイルの変更

設定ファイルの記述

wide-dhcp では、/etc/dhcpdb.pool と /etc/dhcpdb.relay の 2 つの設 定ファイルが必要になります。これらのファイルのサンプルは、 /usr/local/share/examples/dhcp/ 以下に入っています。また、 /usr/local/share/doc/dhcp/intro.dhcp.jis にイントロダクションが入っているので、参考にすると良いでしょう。

プログラムが起動するための設定

以下のような DHCP サーバの起動スクリプトを /etc/rc.local に記述し ます。ここで、ed1 は 2 枚目のネットワークインターフェース名です。
    
#
# Starting DHCP Server
#
if [ -f /usr/local/sbin/dhcps -a -f /etc/dhcpdb.pool -a -f /etc/dhcpdb.relay ]; then
     echo -n 'Starting DHCP Server:'
     /usr/local/sbin/dhcps ed1
     echo '.'
fi
または、/usr/local/etc/rc.d/dhcp.sh に以下のような 内容を記述して、実行権限を与えておきます。
#!/bin/sh
if [ -f /usr/local/sbin/dhcps -a -f /etc/dhcpdb.pool -a -f /etc/dhcpdb.relay ]; then
     echo -n 'Starting DHCP Server:'
     /usr/local/sbin/dhcps ed1
     echo '.'
fi

DHCP クライアントの設定

Windows の場合

Windows ではマシン間を IP 接続するのに、直接 IP を入力する方法と、 DHCP を用いて IP を決定する方法の 2 種類の方法があります。Windows で DHCP を使うには、コントロールパネル→ネットワーク→TCP/IP→プロ パティの"IPアドレスを自動的に取得"を選択し、DNS は使用しない、ゲー トウェイは何もなし、に設定してください。ネームサーバや、ネットマス ク、デフォルトルート(ゲートウェイ)は DHCP サーバから取得できます。
なお、現在の自分の IP アドレスを知るには、"c:/windows/winipcfg.exe" を実行してください。

FreeBSD の場合

一般に DHCP クライアントを起動するには、/etc/rc.local、 /etc/netstart などの設定ファイル中にある ifconfig を使ったネットワー クインターフェースの初期化や、routed、gated などの経路制御用デーモ ンの起動、route コマンドによる経路情報の追加などに関する記述を全て コメントアウトし、以下のようなスクリプトを /etc/rc.local や /etc/netstart などに記述します。

if [ -f /usr/local/sbin/dhcpc ]; then
     echo 'Starting DHCP client.'
     /usr/local/sbin/dhcpc ed0
fi
ed0 は使用するネットワークインターフェースの指定です。

FreeBSD で PAO を用いてDHCP のクライアントとして利用する場合には、 /etc/rc.conf 内で
pccard_ether="ed0 ep0 fe0 sn0"
ifconfig_common="DHCP"
ifconfig_ep0=$ifconfig_common
ifconfig_fe0=$ifconfig_common
ifconfig_sn0=$ifconfig_common
と記述し、router などの設定を全て Disable にします。

戻る

sakai@oak.eg.t.kanazawa-u.ac.jp
Last modified: Mon Jun 28 02:48:33 JST 1999