このセクションではLinuxサーバーを利用してパソコンIPアドレス割り当てるDHCPサーバーの設定方法について初心者/ビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
NTP SSH DHCPサーバーの構築

NTPサーバーについて

ntpdの設定(WBEL3,CentOS3)

ntpdの設定(WBEL4,CentOS4)

ntpdの設定(CentOS5)

ntpdのコントロール

ntpdの動作チェック


SSHサーバーについて

sshdの設定(WBEL3,CentOS3)

sshdの設定(WBEL4,CentOS4)

sshdの設定(CentOS5)

sshdのコントロール

sshdの動作チェック

ポートフォワーディングの設定


DHCPサーバーについて

DHCPのインストールと設定

DHCPのコントロール

DHCPの動作チェック

Ubuntu 10.04 LTS デスクトップ版のススメへようこそ

ルーターのDHCPサーバー機能の限界とは

最近では中学校でもパソコン教育が一般的になってきて LAN の中で多くの クライアント を扱うケースが増えてきています。

また一方では、ノートパソコンの飛躍的な普及も手伝って、自宅と学校、仕事場などでノートパソコンを持ち運んで使うようなシーンも、ビジネスマンだけのものではなくなってきました。

こうなってくると、LANに接続したときに自動的にクライアントに適切な ノード 情報を割り当てる仕組みがあるととても便利です。

この仕組みはこれまで幾度かの変遷がありましたが、現在 TCP/IP のネットワークでは普通は DHCP が用いられるようになっています。

一般にDHCPサーバーは、ノード情報の自動割り当てを要求するように設定されているクライアントに対して、そのクライアントが使用する IPアドレス サブネットマスク ゲートウェイアドレス 、そしてそのクライアントが参照する DNSサーバー の情報を割り当てます。

実はこのDHCPサーバーの仕組みは、世の中の大部分のサブネットで普遍的に採用されていますし、市販の ルーター はほぼ例外なくDHCPサーバーが初期設定で有効になっています。

その一方で大部分のクライアント OS では デフォルト 「IPアドレスを自動的に取得する」 という設定、換言すれば 「DHCPサーバーを参照して自機のネットワーク情報を設定」 という状態になっています。

つまりDHCPサーバーを利用して自動的にクライアントをネットワークに参加させる仕組みはごくごく一般的な習慣として世の中に定着していて、もうその仕組みの存在や意味を知らなくても誰もが普通に利用しているわけです。

DHCPサーバーからノード情報を受けるクライアントの設定(WindowsXP)
DHCPサーバーからノード情報を受けるクライアントの設定(WindowsXP)

DHCPサーバーが管理しなければならない ホスト の数は ネットワーククラス によって決まりますが、一般的なオフィスや学校、家庭などで利用される クラスC の場合で、管理すべき の台数はたったの 254台 に過ぎません。

ということはDHCPサーバーは、不特定多数のホストからの接続と切断要求に答える Webサーバー メールサーバー に比べれば遥かに動作負荷の小さいサーバーといえます。

そういった事情からDHCPサーバーは正式な サーバー機 上で稼動させるケースは稀で、ルーターが「付加機能」的に持っているDHCPサーバーを利用するのが普通です。

ところが場合によってはこの部分の仕事はルーターにではなく、 構築中のLinuxサーバー に担わせたほうが良いことがあります。

その一つ目のケースは、使用しているルーターが家庭用の安価なもので 絶対的な処理能力が不足していると思われる場合 です。

ルーターはそもそも通信機能に特化したコンピュータ ルーター選びのポイントについて ですが、家庭用のルーターにはコストダウンと消費電力の削減のために必要なギリギリの能力しか持たせていないケースが多くあります。

ノード割り当てることができなかったり、同じIPアドレスを違うホストに割り当てたり、ひどいのになると「もうダメ...」とばかりに本体ごと 固まって しまう「根性なし」のルーターも珍しくありません。

そのため、 カタログ上では クラスC全域のノードに対してDHCPサーバーとしての設定が可能でありながら、実際にそういう設定をしてしまうと処理能力が追いつかずに正常に働いてくれないルーターも数多くあります。

実際のところ、家庭用のルーターのDHCPサーバー機能で賄えるのは、せいぜい10台以下と考えたほうが良いかもしれません。

あくまでルーターの絶対的な処理能力に対しての負荷の割合で考えてください。
高性能な業務用ルーターにとってはDHCPサーバーの仕事など物の数ではありません。
それほどに家庭用のルーターは性能が低く抑えられている、ということですね。

それに加えてサブネット内の 公開サーバー に対する ポートフォワーディング という重い処理を任せているとなればルーターの全体的な負荷は想像以上に大きくなります。

従って動作にゆとりのある サーバー機 が常時稼動しているのであれば、DHCPサーバーの仕事をルーターの代わりに担ってやることでルーターの負荷を減らし、ネットワーク全体を安定化することができるようになるでしょう。

DHCPサーバー機能だけではなく、「なんとなくネットワークの調子が悪い。」あるいは「ときどきルーターのリセットが必要になる。」ような場合にも、ルーターのDHCPサーバーの機能をストップするだけでルーターの動作がぐっと安定することがありますからこれを試してみる価値はあります。

サーバー機 にDHCPサーバー機能を任せたほうが良いもう一つのケースは、ルーターのDHCPサーバー機能に 設定の自由度の不足が見られる場合 です。

家庭用の安価なルーターのウリは、 「パソコンをルーターに繋ぐだけで何台もインターネットを利用できる」 ということです。性能よりも安価で扱いやすいもののほうが商品価値が高いので、自然とそういう流れになっているわけです。

ですから、こういうルーターはせいぜい数台のパソコンに標準的なDHCPサービスを提供すればよく、ホームユーザーを悩ませるような細かい設定はできないようになっているのが普通です。

こういう部分をユーザーが変更できないようになっていることが、家庭用ルーターの家庭用たる所以(ゆえん)ですね。
パソコンをインターネットに繋ぐだけが目的なら、設定項目は少ないに越したことはありませんから。

例えばノード情報のリース時間が固定されていたり、自分自身(ルーター)以外をゲートウェイアドレスに指定できなかったり、という具合です。

また最近のルーターの多くは、 「DNSリカーシブ機能」 あるいは 「DNSフォワード機能」 と呼ばれる機能を実装しています。

これは、ルーター配下のクライアントからの 名前解決 要求をルーターが代行し、ルーターが DNSキャッシュ を持つことで通信のレスポンスの向上を狙うもので、一般的なインターネット利用環境ではベターな仕組みといえます。

しかし自宅の サブネット 内に 公開サーバー がある場合は外部のDNSサーバーを参照するのではなく、その公開サーバー自身のDNSサーバーを利用させたほうが便利なケースがあります 同じサブネット内に公開サーバーを設置するときの問題について

ところがルーターのDHCPサーバー機能が、 「DNSリカーシブ機能」 あるいは 「DNSフォワード機能」 を実装していて、なおかつその機能をキャンセルできない場合には、サブネット内のクライアントは否応なく ルーターを代替DNSサーバーとして参照しなければならなくなります から、

「サブネット内のクライアントからは 構築中のLinuxサーバー FQDN での接続ができない。」

という不便を抱えることになります。

もちろん、それなりに性能の良いルーターを調達できる場合には、そのルーターの柔軟なDHCPの設定機能を利用したほうが面倒はありません。

しかし、ここに挙げたようないくつかの問題を抱えていて、経済的その他の理由で性能または機能の低いルータを使わなければならない場合はサーバー機にDHCPサーバー機能を実装させてみるもの悪い選択ではないと思います。

このページの先頭へ↑

DHCPサーバーを扱うときの注意点について

一般的にいうと、 サーバー アプリケーション クライアント アプリケーションの関係は、

「クライアント側からサーバーの ノード を特定してアクセスし、サーバーから返される情報をクライアントが受け取る。」

となります。

ところが DHCP の場合は根本的に段取りが異なり、 DHCPサーバー からノード情報をもらおうとするクライアントは、まず、

「クライアントが サブネット 内の有効なDHCPサーバーを探す。」

という手順からスタートします。つまりクライアントは最初からサーバーのノードを特定してアクセスするわけではないということになります。

そしてクライアントはDHCPサーバーの存在を確認するとサーバーに対してノード割り当ての要求を行い、要求に応じてサーバーがクライアントにノードを割り当てる、という手続きを踏むことになります。

従ってDHCPサーバーを設定するときは、

「一つのサブネットに複数のDHCPサーバーを稼動させてはならない。」

という鉄則があることをまず覚えておく必要があります。

一つのサブネット内の IPアドレス は必ず ユニーク でなければなりません IPアドレスの一意性について 。これが TCP/IP の原則です。

一方DHCPサーバーの最も重要な仕事はこのルールがきちんと守られるように、サブネット内のクライアントにユニークなIPアドレスを割り当てることにあります。

クライアントは先に見つかったDHCPサーバーからIPアドレスを割り当ててもらうため、それぞれのDHCPサーバーが同じIPアドレスの割り当て範囲をもっている場合に IPアドレスの重複 が起こりうるわけです。
そして実際にそれが起こってしまうと、最悪の場合 LAN が機能不全に陥ってしまいます。

しかし複数のDHCPサーバーが一つのサブネットに存在すると、異なるクライアントに同じIPアドレスが割り当てられてしまう可能性が出てきてしまうことは容易に想像できると思います。

というわけですから、 構築中のLinuxサーバー 上でDHCPサーバーを稼動させる場合は必ず、

ルーター のDHCPサーバーを先に停止しておかなければならない」

ことに注意してください。

またDHCPサーバーを停止するときは、予めDHCPサーバーに依存しているクライアントのTCP/IPの各パラメータを手動で設定しておく必要があります。

まず、現在使用している クライアント機 有効なネットワークアダプタ に対するTCP/IP設定を確認してみましょう。もしも、

DHCPサーバーからノード情報を受けるクライアントの設定(WindowsXP)
DHCPサーバーからノード情報を受けるクライアントの設定(WindowsXP)

のように 「IPアドレスを自動的に取得する」 という設定になっているときは、サブネット内から有効なDHCPサーバーがなくなってしまうと程なく通信が途絶えてしまいます。そこで、

手動でTCP/IPを設定する(WindowsXP)
手動でTCP/IPを設定する(WindowsXP)
設定にあたっては、現在のLANの状況を確認する必要があります。
ここでは 自宅内のネットワーク設定例について(WBEL3) 自宅内のネットワーク設定例について(CentOS3) 自宅内のネットワーク設定例について(WBEL4) 自宅内のネットワーク設定例について(CentOS4) 自宅内のネットワーク設定例について(CentOS5) のようにネットワークが構築されているものとして説明します。

のように設定を変更しておきます。

(1) は、そのクライアントに設定するIPアドレスです。これはDHCPサーバーで予約する予定の「自動割り当て範囲」のIPアドレス "192.168.100.101〜192.168.100.116" と、既にルーターや サーバー機 、クライアント機に設定されているIPアドレスを避けて任意に設定します。

(2) サブネットマスク値 です。通常 "192.168.100.0/24" のネットワークを組んでいるはずですので、ここはそれに該当する "255.255.255.0" を設定します。

(3) はルーターのIPアドレスです。DHCPサーバーを使わなくなってもルーターが ゲートウェイアドレス であることには変わりはありません。

実際の運用ではDNSサーバーは二つ以上設定するのが望ましいのですが、ここは仮設定なので一つでもかまいません。

(4) には適当な DNSサーバー のIPアドレスを設定します。通常は自分が契約している ISP から指定されたDNSサーバーを設定すればOKです。

既に 構築中のLinuxサーバー にDNSサーバーを設定している場合 DNSサーバーの構築について は、そのサーバーのIPアドレス "192.168.100.11" を設定します。

設定が完了して、LANとインターネットへの接続が正常にできることが確認できたら、ルーターを操作してDHCPサーバー機能を停止します。

通常は "LANの設定" などの項目の中から設定できるようになっています。

ルーターのDHCPサーバー機能の停止方法はルーターの機種によって異なりますので、お使いのルーターのマニュアル等を参考にしてください。

これで 構築中のLinuxサーバー にDHCPサーバーを設定する準備ができました。

NEC「得選街」
このページの先頭へ↑

OSの種類によるDHCPサーバーの違いについて

LinuxOS での DHCPサーバー には、通常 ISC(Internet System Consortium) がリリースしている DHCP が実装されます。

もちろん WBEL CentOS でも同様にこのアプリケーションが採用されていますが、WBEL3及びCentOS3、WBEL4及びCentOS4、CentOS5では、 デフォルト インストール されるDHCPのバージョンがそれぞれ少しだけ異なります。

ただし、基本的な動作や仕組み、設定や稼動に必要なファイルや操作手順にはほとんど違いはありませんから、ここではCentOS5での設定手順を基本に解説します。

WBEL3、CentOS3、WBEL4、CentOS4をご利用の方は細かい部分については適宜読み直して参考にしてください。

NEC「得選街」
このサイトに対するご意見、ご要望、苦情、泣き言、献上品、資金援助などがございましたら こちら からお寄せください(お返事できなかったらごめんなさい)。もちろん リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。また、本サイトの更新情報をメールで知らせてほしい方は ここ からご登録ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System