DHCPサーバ

DHCPはDynamic Host Configuration Protocolの略で簡単にいうと、 動的にホストの設定をするものである。 クライアントはネットワークにブロードキャストアドレスで自分が どのネットワークに属しどのようなIPを付けるべきかを尋ねる。 それに答えるのがDHCPサーバである。教えてあげる内容は、 割り付けるIPアドレス・DNSサーバ・GATEWAYの設定・NETMASK等である。 ソフトウェアは ISC(Internet Software Consortium) と言うところから出ている。

もどる

ダウンロードとインストール

2001.08.12現在の最新バージョンは、3.0rc10(2.0pl5)である。 ここ のあたりからソースをダウンロードすることができる。 Vine Linux2.1、RedHat Linux7.1両方とも2.0pl5が インストールされているのでそのまま使えばよい。 plはpatch levelの略で rcはRelease Candidateの略である

ソースをダウンロードした場合は、

$ cd /usr/local/src
$ gtar xvfz /usr/local/src/dhcp-2.0pl5.tar.gz
$ cd dhcp-2.0pl5
$ ./configure
$ make
$ su
Passward: XXXXXX
# make install
	
これで出来上がりです。 ただし、ソースからコンパイルした場合は、 packageの管理とかが面倒くさいので RPMをどこからか拾ってくるのがよいでしょう。 rpmの探し方を見てみましょう。

関連ファイル
/etc/dhcpd.conf設定用ファイル
/var/lib/dhcp/dhcpd.leasesleaseファイル

DHCPの設定

DHCPの設定は/etc/dhcpd.confで設定する。いかに僕の設定例を示す。


# dhcpd.conf
server-identifier dhcp.bigforest.hn.org;DHCPサーバの名前
option domain-name "bigforest.hn.org";ドメイン名
option domain-name-servers dns.bigforest.hn.org;ネームサーバ名

shared-network DHCP {
  option subnet-mask 255.255.255.0;サブネットマスク
  default-lease-time 6000;
  max-lease-time 72000;

  subnet 192.168.1.0 netmask 255.255.255.0 {
	option routers 192.168.1.1;GATEWAYの設定
	range 192.168.1.64 192.168.1.126;割り当てる領域64-126まで
	option broadcast-address 192.168.1.255;ブロードキャストアドレス
  }
}
	
これで設定終了です。 それから、/var/lib/dhcp/dhcpd.leasesがない場合は、
$ su
passward: XXXXXXXXX
# touch /var/lib/dhcp/dhcpd.leases
	
として作っておきましょう。ここは、サーバが現在のIPのlease状況を示します。 あとは、
$ su
passward: XXXXXXXXX
# /etc/rc.d/init.d/dhcpd start
	
です。linuxconfで自動立ち上げにしておけば自動で立ち上がります。

クライアントの確認

ネットワークでつながったクライアントの設定です。ここでは windows98の設定を示します。

  1. ネットワーク->プロパティ
  2. TCP/IP->プロパティ
  3. IPアドレスを自動的に取得を選択。その他は設定しなくても大丈夫です。
  4. 再起動
  5. スタートメニュー->ファイル名を指定して実行->"winipcfg"を実行
  6. Etherのアダプタを選択してわりあてられてりるかを確認する。
  7. サーバ側の/var/lib/dhcp/dhcpd.leasesの中身で割り当てられている か確認する。

logの出力場所

logは、/var/log/messages(ディストリビューションによって違うかも)に 出力されている。 その中のdhcpd:と書いてある行がそうである。

もどる


Kenji Ohmori
Last modified: Tue May 31 01:57:38 JST 2005