Solaris DHCP の管理

第 2 章 DHCP サービスの使用計画

DHCP サービスは、既存のネットワークで使用することも、これから構築するネットワークで使用することもできます。ネットワークをこれから設定する場合には、DHCP サービスの設定を行う前に、『Solaris のシステム管理 (第 3 巻)』の「IP アドレス管理トピック」を参照してください。既存のネットワークを使用する場合は、そのままこの章をお読みください。

この章では、ネットワークに DHCP サービスを設定する前に行うべき作業について説明します。この章の説明は DHCP マネージャを使用することを前提にしていますが、DHCP サービスの設定は、コマンド行ユーティリティ dhcpconfig を使って行うこともできます。

この章では、以下の内容について説明します。

DHCP を使用するためのネットワークの準備

DHCP の使用に先立ってネットワークを設定する際には、まず情報を収集し、サーバーをどのように構成するかを決める必要があります。それには、次のことを行う必要があります。

ネットワークトポロジのマッピング

ネットワークの物理的な構造またはレイアウトを示すマップをまだ作成していない場合は、それを作成します。このマップには、ルーターやクライアントの場所と、ネットワークサービスを提供するサーバーの場所を明示してください。ネットワークトポロジを示すこのマップは、どのサーバーから DHCP サービスを提供し、どのような構成情報をクライアントに提供するかを決める上で必要です。

ネットワークの計画についての詳細は、 『Solaris システム管理 (第 3 巻)』 の「TCP/IP ネットワークの計画」を参照してください。

DHCP 構成プロセスは、サーバーのシステムファイルとネットワークファイルから、いくつかのネットワーク情報を検索することができます。システムファイルとネットマスクテーブルの更新では、これらのファイルについて説明しています。クライアントに他のサービス情報を提供したい場合もあり、その場合にはサーバーのデータベースを検索する必要があります。ネットワークトポロジを点検する際には、クライアントが認識する必要があるサーバーの IP アドレスを控えておいてください。次に、ネットワーク上にあるにもかかわらず、DHCP 構成プロセスが検出できないネットワークサービスの例を示します。

避けるべきネットワークトポロジ

DHCP は、複数の IP ネットワークが、複数のネットワークハードウェアインタフェースや複数の論理インタフェースを介して同じネットワークハードウェア媒体を共有するネットワーク環境では正しく動作しません。同じ物理 LAN で複数の IP ネットワークが動作していると、DHCP クライアントの要求はすべてのネットワークハードウェアインタフェースに送信されます。そのため、クライアントは、すべての IP ネットワークに同時に接続されているものとみなされます。

DHCP は、適切な IP アドレスをクライアントに割り当てられるように、クライアントのネットワークアドレスを特定できる必要があります。同じハードウェア媒体に複数のネットワークが存在していると、サーバーはクライアントのネットワークを特定できないため、IP アドレスを割り当てることができません。

DHCP はどのネットワーク上でも使用することができますが、複数のネットワーク上では使用できません。この条件がユーザーのニーズと合わない場合は、ネットワークを再構成する必要があります。再構成の方法としては、次のものが考えられます。

DHCP サーバーの数を決める

DHCP クライアントをサポートするために必要なサーバーの数は、データストアに何を使用するかによって異なります。次の表は、1 つの DHCP サーバーで DHCP/BOOTP クライアントをいくつまでサポートできるかをデータストア別に示したものです。

表 2–1 予想される最大クライアント数

データストア 

最大クライアント数 

テキストファイル 

10,000 

NIS+ 

40,000 

バイナリファイル 

100,000 

この最大数は一般的な指針であり、絶対的な数ではありません。DHCP サーバーのクライアントの能力は、クライアントが 1 秒間にいくつのトランザクションを処理する必要があるかに大きく依存します。一方、サーバーがサポートできるクライアントの数は、クライアントのリース期間と使用パターンで大きく変わります。たとえば、リースが 12 時間に設定され、ほとんどのユーザーが夜にシステムを停止し、朝の同じ時間にシステムを開始するとします。この場合、多数のクライアントが同時にリースを要求するので、サーバーは、毎朝ピークトランザクションを処理できなければなりません。したがってこのような環境では、DHCP サーバーは、リース期間がこれより長い環境や、ケーブルモデムのように常時接続されているデバイスで構成される環境に比べて、少ないクライアントしかサポートできません。

各データストアについては、データストアの選択 を参照してください。

システムファイルとネットマスクテーブルの更新

構成処理の間、DHCP マネージャまたは dhcpconfig ユーティリティは、サーバー上のさまざまなシステムファイルを走査し、サーバーの構成に使用できる情報を収集します。

DHCP マネージャや dhcpconfig を使ってサーバーの構成を行う前に、システムファイルの内容が最新の状態になっていることを確認してください。サーバーの構成を行なった後にエラーに気が付いた場合は、DHCP マネージャまたは dhtadm を使って、サーバー上のマクロを修正する必要があります。

表 2–2 は、DCHP サーバーの構成中に収集されるいくつかの情報と、情報の提供元を示します。サーバーで DHCP を構成する前に、これらの情報が適切に設定されていることを確認してください。サーバーの構成後にシステムファイルを変更する場合は、この変更を反映するためにサービスを再構成する必要があります。

表 2–2 DHCP の構成で使用される情報

情報 

提供元 

説明

時間帯 

システムの日時、時間帯の設定値 

日時と時間帯は Solaris のインストール時に初期設定される。日時を変更するには date コマンドを使用し、時間帯を変更するには、 /etc/TIMEZONE ファイルの TZ 変数を編集する。

DNS パラメータ 

/etc/resolv.conf

DHCP サーバーは、/etc/resolv.conf ファイルから DNSドメイン名や DNS サーバーアドレスなどの DNS パラメータを検索する。resolv.conf については、『Solaris ネーミングの設定と構成』の「DNS クライアントの設定」を参照。

NIS または NIS+ パラメータ 

システムのドメイン名、nsswitch.conf、NIS、 NIS+

DHCP サーバーは、domainname コマンドを使ってサーバーのドメイン名を取得し、nsswitch.conf ファイルを使ってドメインベースの情報をどこから検索するかを決める。サーバーが NIS または NIS+ クライアントの場合、DHCP サーバーは NIS または NIS+ サービスを参照し、NIS/NIS+ サーバーの IP アドレスを取得する

デフォルトルーター 

システムのルーティングテーブル、管理者による入力 

DHCP サーバーはネットワークルーティングテーブルを検索し、ローカルネットワークに接続されているクライアントのデフォルトルーターを見つける。同じネットワーク上にないクライアントについては、管理者にこの情報を入力するように要求する。 

サブネットマスク 

ネットワークインタフェース、netmasks テーブル

DHCP サーバーは、自身のネットワークインタフェースを参照して、ローカルクライアント用のネットマスクとブロードキャストアドレスを特定する。この要求がリレーエージェントからすでに転送されてきている場合には、リレーエージェントのネットワークにある netmasks テーブル内のサブネットマスクを参照する

ブロードキャストアドレス 

ネットワークインタフェース、netmasks テーブル

ローカルネットワークの場合には、DHCP サーバーは、ネットワークインタフェースからブロードキャストアドレスを取得する。リモートネットワークでは、サーバーは BOOTP リレーエージェントの IP アドレスとリモートネットワークのネットマスクを使用して、そのネットワーク用のブロードキャストアドレスを計算する 

サーバーの構成前に必要な選択

この節では、ネットワークに最初の DCHP サーバーを構成する前に決定する必要がある事柄について説明します。次の各項は DHCP マネージャの構成ウィザードのダイアログに対応するものですが、この節の情報は dhcpconfig ユーティリティを使ってサーバーを構成する場合にも使用できます。

DHCP 用サーバーの選択

ネットワークトポロジを念頭に置き、次のガイドラインに従って、DHCP サーバーを設定するホストを選択します。

サーバーとしての要件は次のとおりです。

データストアの選択

DHCP データは、テキストファイル、バイナリファイル、または NIS+ ディレクトリサービスに保存できます。次の表は、各データストアの特徴とそれが最も適している環境を示したものです。

表 2–3 データストアの比較

データストア 

性能 

保守 

共有 

推奨環境 

バイナリファイル 

高性能、大容量.  

少ない保守、データベースサーバーが不要。内容はDHCP マネージャ、dhtadmpntadm で表示する必要がある。 ファイルの定期的なバックアップが必要。

コンテナを DHCP サーバーの間で共有することはできない 

多数のネットワークからなり、ネットワークごとに数千のクライアントがいる中規模から大規模の環境。小規模から中規模の ISP に適している  

NIS+  

中程度の性能と容量。NIS+ サービスの性能と容量に依存する 

DHCP サーバーシステムが NIS+ クライアントとして構成されていなければならない。 NIS+ サービスの保守が必要。内容は、DHCP マネージャ、dhtadmpntadm で表示する必要がある。nisbackup による定期的なバックアップが必要。

DHCP データは NIS+ に分散される。複数のサーバーから同じコンテナにアクセスできる 

ネットワーク当たり 5000 クライアントまでの小規模から中規模の環境 

テキストファイル 

中程度の性能、少ない容量 

少ない保守、データベースサーバーが不要。ASCII ファイルであるため、DHCP 、dhtadm または pntadm を使用しなくても見ることができる。ファイルの定期的なバックアップが必要。

コンテナを DHCP サーバーの間で共有できる。ただし、DHCP データが、NFS マウントポイントを通してエクスポートされる 1 つのファイルシステムに格納されていなければならない 

ネットワーク当たり数百から 1000 クライアントで、合計が 10,000 クライアント未満の小規模な環境 

NIS+ とは異なり、NIS はデータストアオプションとしては推奨されません。これは、高速な増分更新がサポートされていないためです。ネットワークで NIS が使用されている場合は、データストアとしてテキストファイルまたはバイナリファイルを使用することをお勧めします。

リースポリシーの設定

リースとは、DHCP サーバーが特定の IP アドレスの使用を DHCP クライアントに許可する期間のことです。管理者は、サーバーの初期構成時に、サイト全体に適用するリースポリシーを指定する必要があります。このポリシーには、リース期間やクライアントがこのリースを更新できるかどうかを指定します。 サーバーは提供された情報を使用して、構成時に作成するデフォルトマクロ内のオプションの値を設定します。管理者は、作成する構成マクロでオプションを使用することによって、特定のクライアントや特定のクライアントタイプごとに、異なるリースポリシーを設定することもできます。

リース期間は、リースが有効な時間数、日数、または週数として指定されます。クライアントに IP アドレスが割り当てられると (あるいは、クライアントが、すでに割り当てられている IP アドレスのリースを再折衝すると)、クライアントの DHCP 肯定応答のタイムスタンプにリース期間の時間数が加算され、リース満了日時が計算されます。たとえば、DHCP 肯定応答のタイムスタンプが 2001 年 9 月 16 日 9:15 AM で、リース期間が 24 時間、リース満了時間は 2001 年 9 月 17 日 9:15 AM になります。リース満了日時はクライアントの DHCP ネットワークレコード中に保存され、DHCP マネージャまたは pntadm を使って表示されます。

リース期間には、期限切れの IP アドレスを速やかに再利用できるように比較的小さな値を設定。ただし、リース期間は、DHCP サービスが使用できなくなっても、その DHCP サービスが動作するシステムの修理が終わるまでクライアントが動作を継続できるような長さでなければなりません。一般には、サーバーの予想停止時間の 2 倍を指定します。たとえば、故障部品を検出、交換し、サーバーをリブートするのに 4 時間かかるとすれば、8 時間をリース期間に指定します。

リースネゴシエーションオプションは、リースが満了する前に、クライアントが提供されたリースについてサーバーとネゴシエーションできるかどうかを決めるものです。リースのネゴシエーシヨンが可能な場合には、クライアントがリースの残時間を常に監視し、リース期間の半分が経過すると、リース期間を元の値に復元する要求を DHCP サーバーに送ります。IP アドレスの数より多くのシステムが存在するために IP アドレスの使用時間を制限したい場合には、リースのネゴシエーションを無効にすることができます。しかし、IP アドレスの数が十分にある場合は、リースネゴシエーションを有効にすべきです。これによって、NFS や telnet セッションなどの TCP 接続を中断するおそれがあるネットワークインタフェースの停止や新しいリースの取得を、クライアントに強制する必要がなくなります。管理者は、サーバー構成時に、リースネゴシエーションをサイト全体に対して有効にすることができます。あるいは、構成マクロの LeaseNeg オプションを使用すれば、特定のクライアントやクライアントタイプに対してのみ有効にすることができます。


注 –

ネットワークでサービスを提供するシステムはそれ自身の IP アドレスを保持すべきであり、短期的なリースに依存すべきではありません。このようなシステムで DHCP を使用する場合は、常時リースにより IP アドレスを割り当てるのではなく、予約済みの IP アドレスを手動で割り当てるべきです。これによって、このシステムの IP アドレスが使用されなくなったときには、それを検出することができます。


DHCP クライアント用ルーターの特定

クライアントが自身のローカルネットワークの外側にあるネットワークと通信する場合には、ルーターが必要です。クライアントは、このルーターの IP アドレスを知っている必要があります。

管理者は、DHCP サーバーの構成時に、クライアントが使用するルーターの IP アドレスを指定する必要があります。あるいは、DHCP マネージャを使用する場合には、クライアント自身がルーター検索プロトコルを使ってルーターを検出するように指定することもできます。

そのネットワークのクライアントがルーター検索機能をサポートする場合には、ルーターが 1 つしかなくてもルーター検索プロトコルを使用すべきです。ルーター検索プロトコルを使用すると、クライアントはネットワーク内でのルーター変更に容易に対応できます。たとえば、ルーターに故障が発生したため、新しいアドレスを持つルーターに置き換えられた場合でも、クライアントは新しいアドレスを自動的に検出できます。つまり、新しいルーターアドレスを知るために新しいネットワーク構成を取得する必要はありません。

IP アドレスの管理に必要な選択

この節では、DHCP を使って管理する IP アドレスの構成に先立って準備すべきことを説明します。この節の説明は DHCP マネージャのアドレスウィザードのダイアログに対応していますが、dhcpconfig ユーティリティを使用する場合にも適用されます。

DHCP サービスの設定の一環として、サーバーにおける IP アドレスの扱い方を決定します。ネットワークに複数の DHCP サーバーが必要な場合、アドレス管理の分担方法を決定し、各サーバーにそれぞれの役割を割り当てるようにします。サーバーの構成を開始する前に、次の事柄について決定しておく必要があります。

IP アドレスの数と範囲

DHCP マネージャを使用すると、サーバーの初期構成時に、総アドレス数とブロックの開始アドレスを指定することにより、そのブロック分の IP アドレス、またはその範囲内の IP アドレスを DHCP の管理下に追加することができます。DHCP マネージャは、この情報から連続するアドレスのリストを作成し、追加します。アドレスが連続していない複数のブロックがある場合は、初期構成の後に DHCP マネージャのアドレスウィザードを再起動して他のアドレスを追加することができます。

IP アドレスの構成を行う前に、アドレスを追加する最初のブロックにアドレスがいくつあり、その範囲内の開始のアドレスの IP アドレスを控えておいてください。

クライアントホスト名の生成

DHCP 本来の動的な特性により、IP アドレスはそれを使用するシステムのホスト名に恒久的に関連付けられるわけではありません。DHCP 管理ツールでは、各 IP アドレスに対応するクライアント名を生成できます。クライアント名には、 (ルート名) とダッシュ、それにサーバーから割り当てられる数字が使用されます。たとえば、ルート名が charlie なら、クライアント名は charlie-1charlie-2charlie-3 のようになります。

デフォルトでは、生成されたクライアント名は、それを管理する DHCP サーバーの名前で始まります。これは、複数の DHCP サーバーが存在する環境で便利です。特定の DHCP サーバーがどのクライアントを管理しているのかを DHCP ネットワークテーブルから簡単に知ることができるからです。ただしルート名は、任意の名前に変更できます。

IP アドレスを構成する前に、管理ツールを使ってクライアント名を生成するかどうかと、生成する場合は、そのクライアント名に使用するルート名を決めてください。

生成されるクライアント名は、構成時にオプションを選択すれば、/etc/inet/hosts、DNS、または NIS+ 内の IP アドレスに対応付けることができます。詳細は、クライアントホスト名の登録を参照してください。

デフォルトのクライアント構成マクロ

Solaris DHCP で、マクロは複数のネットワーク構成オプションとその設定値の集まりです。DHCP サーバーは、マクロを使って、どのようなネットワーク構成情報を DHCP クライアントに送信するかを決めます。

管理ツールは、DHCP サーバーの構成時に、システムファイルから情報を収集するだけでなく、プロンプトやコマンド行オプションを通して管理者から直接情報を収集します。 この情報から次のマクロを作成します。

ネットワークアドレスマクロは、そのネットワーク上に配置されているすべてのクライアントに対して自動的に処理されます。ロケールマクロはサーバーマクロに含まれるため、サーバーマクロを処理する際に処理されます。

最初のネットワークの IP アドレスを構成する際に、これらのアドレスを使用するすべての DHCP クライアントに対して使用するクライアント構成マクロを選択する必要があります。デフォルトではサーバーマクロが選択されます。このサーバーマクロには、このサーバーを使用するすべてのクライアントに必要な情報が含まれています。クライアントは、サーバーマクロに含まれるオプションより前に、ネットワークアドレスマクロに含まれるオプションを受け取ります。マクロの処理順序については、マクロ処理の順序を参照してください。

動的リースタイプと常時リースタイプ

構成しようとするアドレスにリースポリシーが適用されるかどうかは、リースタイプで決まります。DHCP マネージャでは、最初のサーバーの構成時に、追加するアドレスに動的リースを使用するか、常時リースを使用するかを選択できます。dhcpconfig コマンドによる構成では、動的リースが使用されます。

アドレスが動的リースを持つ場合、DHCP サーバーは、そのアドレスをクライアントに割り当て、リース期間を延長し、さらに、そのアドレスが使用されなくなったときは、検出、回収することにより、そのアドレスを管理することができます。アドレスが常時リースを持つ場合は、DHCP サーバーはそのアドレスを 1 つのクライアントだけに割り当てます。そのクライアントは、明示的にそのアドレスを解放するまでアドレスを保持します。アドレスが解放されると、サーバーはアドレスを他のクライアントに割り当てることができます。そのアドレスは、常時リースに構成されている限り、リースポリシーの対象となることはありません。

IP アドレスの範囲を構成した場合、選択したリースタイプはその範囲内のすべてのアドレスに適用されます。DHCP の利点を最大限に活かすためには、大部分のアドレスに対して動的リースを使用する必要があります。必要な、後で個々のアドレスを常時リースに変更できますが、常時リースの総数は最小限に抑えるようにしてください。

予約済みアドレスとリースタイプ

アドレスは、特定のクライアントに手動で割り当てることにより予約することができます。予約されたアドレスは、関連付けられた常時リースまたは動的リースを持つことができます。予約済みアドレスに常時リースが割り当てられている場合には、以下のようになります。

予約済みアドレスに動的リースが割り当てられている場合には、そのアドレスが結合されているクライアント以外のクライアントにそのアドレスを割り当てることはできません。しかしこの場合でも、クライアントは、アドレスが予約済みでないかのように、リース期間を監視しリースの延長をネゴシエートする必要があります。これにより、管理者は、ネットワークテーブルを参照するだけで、クライアントがそのアドレスを使用しているかどうかを監視できます。

初期構成時には、すべての IP アドレスに対して予約済みアドレスを生成することはできません。これは、予約済みアドレスが特定のアドレスに対してのみ使用するためのものだからです。

複数の DHCP サーバーを使用するための計画

複数の DHCP サーバーを構成して IP アドレスを管理する場合には、次のガイドラインに従ってください。

リモートネットワーク構成の計画

初期構成が完了すると、リモートネットワーク内の IP アドレスを DHCP の管理下に置くことができます。ただし、システムファイルはサーバー内にないため、DHCP マネージャや dhcpconfig はデフォルト値を提供するための情報を検索することができません。したがって、管理者が情報提供する必要があります。リモートネットワークの構成を行う前に、次の情報を用意してください。

DHCP ネットワークを追加する手順については、DHCP ネットワークの追加、変更、削除を参照してください。

DHCP を設定するためのツールの選択

これまでの各節情報の収集や準備が終わったら、DHCP サーバーを構成できます。GUI 対応の DHCP マネージャ、またはコマンド行ユーティリティの dhcpconfig を使用して、サーバーの構成を行うことができます。DHCP マネージャでオプションを選択し、データを入力すると、そのデータから DHCP サーバーが使用する dhcptab テーブルとネットワークテーブルが作成されます。dhcpconfig ユーティリティの対話式モードではプロンプトに従って情報を入力しますが、dhcptab テーブルやネットワークテーブルを作成するために必要なその他の情報は、システムファイルやネットワークファイルから抽出されます。dhcpconfig の非対話式モードでは、コマンド行オプションを使ってデータを入力する必要があります。なお、dhcpconfig の対話式モードは将来の Solaris リリースでは削除される予定です。

DHCP マネージャの機能

DHCP マネージャは Java 対応のグラフィカルツールであり、DHCP 構成ウィザードを提供します。DHCP 構成ウィザードは DHCP サーバーとして構成されていないシステム上で DHCP マネージャを最初に実行したときに自動的に起動されます。DHCP 構成ウィザードの一連のダイアログボックスでは、データストア形式、リースポリシー、DNS/NIS/NIS+ サーバーとドメイン、ルーターのアドレスなど、サーバーの構成に不可欠な情報を入力する必要があります。ただし、この情報のうちの一部はウィザードがシステムファイルから入手します。したがって、管理者は、情報が正しいかどうかを確認したり、正しくない場合は訂正します。

すると、DHCP サーバーデーモンがサーバーシステム上で起動され、ネットワークのための IP アドレスを構成するために、追加アドレスウィザードを起動するよう求められます。最初は、サーバーのネットワークだけが DHCP 用に構成され、その他のサーバーオプションにはデフォルト値が与えられます。初期構成が完了した後で DHCP マネージャ を再度起動すると、ネットワークを追加したり、他のサーバーオプションを変更したりできます。

dhcpconfig 機能

対話式モードの dhcpconfig ユーティリティは、プロンプトを通して情報を受け取ると、dhcptab にマクロを追加し、DHCP ネットワークテーブルを作成します。管理者はこのプロンプトから、dhcptab を読み込む間隔や DHCP サービスのタイムアウト値などのサーバー起動オプションを入力する必要があります。また dhcpconfigは、システムファイルとネットマスクテーブルの更新で説明しているシステムファイルからその他の情報も取得します。dhcponfig がシステムファイルから得る情報を表示することはできませんので、dhcpconfig を対話式モードで実行する場合は、その前にシステムファイルを更新しておく必要があります。


注 –

対話式モードは、将来の Solaris リリースでは削除される予定です。対話式モードで構成を行うには、DHCP マネージャを使用することをお勧めします。


非対話式モードの dhcpconfig コマンドは、DHCP サーバーの構成や構成解除だけでなく、新しいデータストアへの変換や他の DHCP サーバーとのデータのインポート/エクスポートを行うことができます。このコマンドは、スクリプトの中で使用できます。詳細は、dhcpconfig のマニュアルページを参照してください。

DHCP マネージャと dhcpconfig の比較

下の表に、2 つのサーバー構成ツールの相違点を示します。

表 2–4 DHCP マネージャと dhcpconfig コマンドの比較

機能 

DHCP マネージャ 

dhcpconfig (対話式モード)

dhcpconfig (オプションの指定)

システムから収集されたネットワーク情報 

システムファイルから収集された情報を表示し、必要な場合は変更することができる 

dhcpconfig が収集している情報を見ることはできない。生成後に dhcptab とネットワークテーブルを調べる必要がある

コマンド行オプションを使ってネットワーク情報を指定する 

ユーザーの構成 

デフォルト値を使用し、必須ではないサーバーオプションのプロンプトを省略することによって、構成作業を高速化できる。必須ではないオプションは、初期構成後に変更できる 

構成作業中にすべてのサーバーオプションを入力。オプションを後で変更するには、dhtadmpntadm コマンドを使用する。

構成処理は最も速いが、多くのオプションを使って値を指定する必要がある 

次の章では、サーバーの構成方法について DHCP マネージャの場合と dhcpconfig ユーティリティの場合をそれぞれ説明します。