同一セグメントに複数のDHCPサーバがある場合の問題

 IPアドレスを自動で取得するようにネットワークを構築している場合、DHCPサーバが1台だけだとDHCPサーバがシングルポイントフェイルとなり、DHCPサーバがダウンするとIPアドレスを自動取得するように設定された全てのクライアントがネットワークに接続できなくなってしまいます。

 DHCPサーバを冗長化することで、シングルポイントフェイルを解消できるわけですが、問題点がないわけでもありません。ここでは、その問題点について説明して行きます。

 同一セグメントに複数のDHCPサーバがある場合、クライアントは複数のDHCP Offerを受け取ることになります。クライアントは、その中からどれか1つを選んでDHCP Requestを送ります。

 どれか1つを選ぶのだから、問題ないと思うかもしれませんが、DHCPサーバを複数設置する場合には、DHCPサーバのIPアドレスの払い出しに注意する必要があるのです。

 もしも、各DHCPサーバでIPアドレスをリースする範囲が重なっていた場合、リースのされ方によって、1つのネットワーク上に重複するIPアドレスを持ったクライアントが存在してしまうことになります。

 その結果、ネットワークに混乱が生じ、うまく通信が行えなくなります。こうした問題を解決するために、それぞれDHCPサーバでリースの範囲が重ならないように設定する必要があります。

 しかし、問題点もあります。それは、リースの範囲を重ならないようにIPアドレスプールを設定することで、利用できるIPアドレスが減ってしまうということです。

 DHCPサーバが2台あれば、IPアドレスプールを半分にしておかないとリースの範囲が重なってしまいますから、使用できるIPアドレスが半分になってしまいます。

 複数のDHCPサーバを設置する場合には、その辺りを考慮して、IPアドレッシング計画を行う必要があります。

DHCPサーバの配置について

ここでは、DHCPサーバの配置について説明して行きます。

 DHCPクライアントは、IPアドレスなどの情報を払い出してもらうためにDHCP Discoverを送信します。このDHCP Discoverは、ブロードキャストです。

下の図を見て下さい。DHCPサーバがルータを越えた先に設置されている場合はどうなるのでしょうか?

 ルータは、ブロードキャストは転送しないでブロックするため、ルータを越えた先にあるDHCPサーバには、DHCP Discoverが届かないことになります。

 結局、DHCPクライアントは、DHCPサーバにDHCP Discoverを届けることができないので、タイムアウトになりIPアドレスを取得することができないので、ネットワークに接続できなくなってしまいます。

ルータによってブロードキャストがブロックされるということは、ネットワークごとにDHCPサーバが必要だということになります。

 DHCPを用いることで、せっかく、IP関連のパラメータの設定を自動化できても、これでは、DHCPサーバの台数が多くなってしまいます。サーバの運用管理が大変でメリットが半減してしまいます。

 DHCPサーバを立てたらほったらかしというわけには、ゆきません。OSのアップデートも必要ですし、台数が増える分、動作不良や故障の発生回数も増え、メンテナンスも必要です。

 1台のDHCPサーバでネットワークごとに自動配布し集中管理できると、管理的にもコスト的にもメリットが大きいですよね!

 そこで、「DHCPリレーエージェント」という機能が用意されています。この機能を用いることで、DHCPのブロードキャストの要求を中継できるようになります。