Linux Lovers
    Fedora Coreで始めるサーバ構築

Home > 運用管理 > DHCPサーバ

DHCPサーバ

DHCPは、ネットワークに接続するのに必要な情報を、各マシンに自動で割り当てるサービスです。
IPアドレスやサブネットマスク以外にも、DNSサーバやデフォルトゲートウェイといった情報も
割り当てることが可能です。

ここでは、DHCPの設定から起動、またDHCPの簡単な仕組みや、複数台DHCPサーバが
ある場合のトラブルなどを紹介したいと思います。



DHCPサーバの設定

dhcpがインストールされているか確認し、無い場合はインストールします。

# rpm -q dhcp   ←確認
# yum -y install dhcp   ←無い場合は、インストール


続いて、/etc/dhcpd.confというファイルを新規で作成し、
以下の内容を記述してください。ここでは、この設定をしているDHCPサーバのIPアドレスは
192.168.1.11とします。

# vi /etc/dhcpd.conf   ←新規で作成

// 以下の記述をする
ddns-update-style interim;
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.199;   ←DHCPで割り当てる範囲
    option domain-name-servers 192.168.1.11;   ←DNSサーバの指定
    option domain-name "chibi.name";   ←ドメイン名
    option subnet-mask 255.255.255.0;   ←サブネットマスク
    option routers 192.168.1.1;   ←ルータの指定
    option broadcast-address 192.168.1.255;   ←ブロードキャストアドレス
    
    host client {    ←固定でIPアドレスを割り当てるマシン
hardware ethernet AA:BB:11:55:FF:22;   ←MACアドレス
fixed-address 192.168.1.30;   ←割り当てるIPアドレスを指定
    }
}

(subnet等の環境は自分の環境に置き換えてください)

rangeでは、DHCPで割り当てるIPアドレスの範囲の指定をしています。この範囲のIPアドレスが
DHCPで割り当てられることになります。

また、host {}の範囲では、固定でIPアドレスを割り当てるマシンの情報を記述します。
ここでは、例としてclientというホスト名のWindows XPだとします。clientの部分はそのマシンの
ホスト名を指定しますが、分からない場合などは、別に何でもいいです。分かりやすい名前を
ここでは記述しておいてください。

hardware ethernetでは、このマシンのMACアドレスを指定します。Windows XPの場合の
MACアドレスの確認の方法は以下のように行います。
ファイル名を指定して実行cmdと入力してEnterコマンドプロンプトが開くので
ipconfig /all と入力します。
Ethernet adapter ローカル エリア接続という項目のPhysical Addressの部分がMACアドレス
なります。

fixed-addressでは、このマシンに固定で割り当てるIPアドレスを記述します。
これで、このマシンには、ここで指定したIPアドレスを割り当てることが可能です。

以上で、設定終了ですので、DHCPのサービスを稼動させ、また自動起動の設定をします。

# service dhcpd start
# chkconfig --level 345 dhcpd on


>>このページのTOPへ

DHCPの仕組み + トラブル

今の環境をまとめてみると、ルータの配下にサーバとクライアント機があります。
そして、このサーバでDHCPのサービスを稼動させました。今までは、ルータのDHCPの機能を
使い、クライアント機にIPアドレスを割り当てていました。ルータからIPアドレスをもらっていた
ということになります。

折角、サーバでDHCPのサービスを稼動させたので、クライアント機はこのサーバからIPアドレスを
もらいたいとします。現在のIPアドレスを先ずは返却し、再度DHCPでIPアドレスを取得してみます。

C:\>ipconfig /release   ←IPアドレスの開放
C:\>ipconfig /renew    ←再取得

(Windowsクライアントでの操作)


これで、サーバのDHCPからIPアドレスを貰える・・・と思ったら、またルータから貰っています。
ルータ(192.168.1.1)から貰ってるかどうかの確認は、以下のようにします。

C:\>ipconfig /all
DHCP Server・・・ : 192.168.1.1   ←DHCP Serverの部分を見る


どのようにしたら、サーバのDHCPからIPアドレスを貰うことができるのでしょうか?
現在の状況は、DHCPサーバが2台ある状態です(ルータとサーバ)。
DHCPでIPアドレスを割り当てて貰うときの動作は以下のようになります(一部省略)。

1.先ず、IPアドレスが欲しいクライアントがブロードキャスト宛にDHCPDISCOVERというパケットを
放ちます。これは、DHCPサーバを探すパケットになります。

2.DHCPDISCOVERを受け取ったDHCPサーバは、このクライアントにDHCPOFFERというパケットを
返します。そして、このDHCPOFFERが届いたDHCPサーバからIPアドレスを割り当ててもらうことになります。

最後の部分がポイントです。DHCPOFFERが届いたDHCPサーバからIPアドレスを取得するのです。
早く届いたほうのDHCPを利用するということになります。

上の例では、ルータからのほうが早くDHCPOFFERが届いていたので、ルータのDHCPからIPアドレスを
貰うようになっていたのです。ここでサーバからのDHCPOFFERのほうが早く届けば、サーバから
IPアドレスを貰うことになるのです。

このようなルータからのほうが早く届いてしまう場合で、サーバのDHCPを使う場合は、
ルータのDHCP機能を切ります(LAN内に複数台のDHCPサーバがあるのは、トラブルの元になるので、
どちらかを停止させる)。
それで、以下のコマンドで再取得すれば、サーバからの割り当てになります。

C:\>ipconfig /release
C:\>ipconfig /renew


最後に、DHCPサーバに関して、次のようなトラブルが考えられます。
大規模なネットワークで、本来はDHCPサーバは1台だけ用意していて、各マシンはこのDHCPサーバ
からIPアドレスを貰っていたします。そこで、あるマシンの使用者が実験ということで、
DHCPサーバの設定をして、稼動させちゃったとします。この状態では、DHCPサーバは2台になります。

もしかしたら、この本来あってはいけないDHCPサーバからIPアドレスを貰うクライアントも
出てくるかもしれません。サブネットなどの設定が違えば、もちろんこのDHCPからIPアドレスを貰った
マシンはインターネットなどに接続できないでしょう。

クライアント側でDHCPサーバの指定というのはできません、複数台DHCPサーバがある場合は、
よ〜い、ドンの競争で勝ったDHCPサーバがIPアドレスを割り当てることになるのです。


>>このページのTOPへ

最終更新 : 05/23/2005


Fedoraの設定    SSH    Web    Mail    FTP    DNS    ファイルサーバ    運用管理    システム管理    ネットワーク    セキュリティ対策
Copyright (C) 2004-2007 chibi ,All Rights Reserved