[Network] | ||||||||||||
DHCPサーバを冗長構成で運用する方法
|
||||||||||||
|
解説 |
【2011/09/02】Windows Server 2008 R2で導入された、DHCPのスコープを分割して冗長構成にする方法についてはTIPS「DHCPのスコープを分割して冗長構成にする(Windows Server 2008 R2編)」を参照してください。 |
DHCPを使ったIPアドレスの管理は、いまや非常に一般的な方法となっている。クライアントPCの設定を個別に行うことなく、IPアドレスの設定や重複の回避、ネットマスクやゲートウェイ、ドメイン情報などを集中的に管理することができるからだ。
一般的には、「1つのネットワークには、DHCPサーバは1台しか設置できない」とされている。2台以上のDHCPサーバが存在すると、IPアドレスが重複して割り当てられたり、(管理者が認めた以外の)不正なIPアドレスやネットワーク情報などが渡され、さまざまなトラブルが発生したりするためだ。そのためDHCPサーバは、適切に管理されたものを1台だけ用意するというのが基本である。DHCPでは、クライアントが最初にブロードキャストを行い、それに対してDHCPサーバが応答することでアドレスの割り当てを受けている。そのため、本来設置されたものではないイレギュラーなDHCPサーバが先にブロードキャストに応答してしまうと、こうしたトラブルが発生することになる。
しかし、たいていのネットワーク・サービスが冗長化できる一方で、DHCPサーバのみが1台しか存在できず、冗長化できないというのは、トラブル発生時の対処を考えると不安が残る。何らかの障害でDHCPサーバが利用できなくなると、ネットワーク上のDHCPクライアントがすべて利用できなくなってしまう可能性があるからだ。
DHCPサーバの冗長化
こうした問題を解決するための方法として、それぞれ異なる範囲のアドレス・プールを持ったDHCPサーバを2台(以上)用意し、それらを同じネットワーク上に設置するという方法がある。DHCPのプロトコルそのものは、1つのネットワークに複数のDHCPサーバが存在することによって、動作不可能になることはない。クライアントから見ると2台のDHCPサーバが存在していても、通常はどちらか先にDHCPの応答を返した方の情報を利用するので、いずれの情報にも矛盾がなければ(つまり正規のIPアドレスなどが得られる限りは)問題とはならない。
例えば、IPアドレスとして「192.168.0.0/24(192.168.0.0〜192.168.0.255)」を使っているネットワークを考えてみる。この場合、ホスト・アドレスとしては、192.168.0.1〜192.168.0.254の合計254個のIPアドレスが使用できる。この中から、ほかのネットワークと接続するために使用されるルータや、各種のサーバに固定IPアドレスで割り当てられる分も差し引いた残りがクライアント用のアドレス範囲ということになる。一例として、以下のように割り当てを行うケースが考えられる。
- ルータのIPアドレス:192.168.0.1(デフォルト・ゲートウェイとして指定する)
- サーバ用の固定IPアドレス:192.168.0.2〜192.168.0.20(19台分)
この場合、192.168.0.21〜192.168.0.254の範囲(234個)のIPアドレスが空いており、これらをDHCPでクライアントに割り当てることができる。
そこで、この範囲を2分割して、それぞれ別のDHCPサーバに対してアドレス・プールとして割り当てる。例えば、1台目のDHCPサーバではアドレス・プールの範囲を「192.168.0.21〜192.168.0.130(110台分)」、2台目のDHCPサーバではアドレス・プールの範囲を「192.168.0.131〜192.168.0.254(124台分)」とするわけだ。実際に設定するアドレス・プール範囲は、必要なルータやサーバの台数によって変動するため、実情に合わせて適宜、数値を読み替えていただきたい。ただしサブネット・マスクやデフォルト・ゲートウェイ、DNSサーバ・アドレス、ドメイン名、WINSサーバ名、NetBIOSノード・タイプの情報など、IPアドレス以外のパラメータは、双方のDHCPサーバで同じ値を設定しておく。
こうすると、DHCPクライアントがアドレス割り当てを受けるためにブロードキャストした際に、1台目のDHCPサーバが先に応答すれば192.168.0.21〜192.168.0.130の範囲から、2台目のDHCPサーバが先に応答すれば192.168.0.131〜192.168.0.254の範囲から、それぞれIPアドレスが割り当てられる。どちらのDHCPサーバから割り当てを受けても、IPアドレスが異なるだけで、それ以外の情報は同じであり、問題なく動作する。
DHCPサーバの冗長化 |
DHCPサーバ・システムの冗長化のため、それぞれ異なる範囲のIPアドレスをアドレス・プールに指定したDHCPサーバを2台用意する。クライアントPCがDHCPブロードキャストを行うと、どちらか、先に応答した方のDHCPサーバからIPアドレスの割り当てが行われる。 |
以下に、2台のDHCPサーバのアドレス・プールの状態を示しておく。
この方法の難点としては、クライアントが利用可能なIPアドレスの数が、実質的に半減してしまう点が挙げられる。DHCPサーバの台数をさらに増やせば、冗長度は高まるが、その分だけ利用可能なアドレスの数が減少するので、現実的には2台で十分であろう。さらに信頼性が必要なら、DHCPサーバそのものをより信頼性の高いハードウェア・システムなどに変更するか(DHCPサーバを動作させているシステムでは、ほかのサービスはなるべく動かさないようにするとか、専用のルータなどでDHCPサーバを運用するという方法もある)、IPアドレスのリース期間をいくらか長くして、障害からの復旧の間にリース時間が切れてしまわないようにするなどの運用が望ましいだろう。
この記事と関連性の高い別の記事
- 不正なDHCPサーバを見付ける(TIPS)
- DHCPによる未許可クライアントへのIP割り当てを禁止する(TIPS)
- DHCPのスコープを分割して冗長構成にする(Windows Server 2008 R2編)(TIPS)
- DHCPリレー・エージェントを使う(TIPS)
- Windowsでは、DHCPによるIPアドレスの切り替え時に、いったん解放してから再割り当てする(TIPS)
- DHCPサーバのスコープ・オプションを追加定義する(TIPS)
- WindowsのDHCPサーバーで固定IPアドレスを設定する(TIPS)
- 破損したDHCPデータベースを復元する(Windows Server 2003編)(TIPS)
- Hyper-Vの内部ネットワークでDHCPを利用する(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|