
| 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 |
| 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アドレスを割り当てることになるのです。
最終更新 : 05/23/2005