Solaris DHCP サーバーは、ホストシステム上の Solaris オペレーティング環境ではデーモンとして動作します。Solaris DHCP サーバーは、2 つの基本機能を備えています。
IP アドレスの管理 - Solaris DHCP サーバーは、IP アドレスの範囲を制御し、クライアントに IP アドレスを永続的に、あるいは定義した期間割り当てます。DHCP サーバーはリースメカニズムを使用し、クライアントが一時的なアドレスを使用できる期間を決定します。アドレスは、不要になるとプールに戻され、再割り当てされます。DHCP サーバーは、DHCP ネットワークテーブル内にクライアントへの IP アドレス結合情報を保持し、複数のクライアントが同じアドレスを使用しないようにします。
クライアントへのネットワーク構成情報の提供 - Solaris DHCP サーバーは、クライアントに IP アドレスを割り当てて、ネットワーク構成情報、たとえば、ホスト名、ブロードキャストアドレス、ネットワークサブネットマスク、デフォルトゲートウェイ、ネームサービス、さらに、その他のさまざまな情報をクライアントに提供します。ネットワーク構成情報は、サーバーの dhcptab データベースから取得されます。
また、Solaris DHCP サーバーは以下の追加機能を実行するように設定することも可能です。
BOOTP クライアント要求への応答 - Solaris DHCP サーバーは、BOOTP サーバーを探索する BOOTP クライアントからのブロードキャストを待機し、BOOTP クライアントに IP アドレスとブートパラメータを提供します。管理者は、これらの情報をあらかじめ静的に構成しておく必要があります。DHCP サーバーは、BOOTP サーバーとしても DHCP サーバーとしても機能することができます。
要求のリレー - Solaris DHCP サーバーは、他のサブネット上の適切なサーバーに BOOTP 要求と DHCP 要求をリレーします。DHCP サーバーは BOOTP リレーエージェントとして設定された場合、DHCP サービスや BOOTP サービスを提供できなくなります。
DHCP クライアントに対するネットワークブート機能のサポート - Solaris DHCP サーバーは、DHCP クライアントがネットワーク経由でブートするのに必要な情報、つまり、IP アドレス、ブートパラメータ、ネットワーク構成情報を DHCP クライアントに提供できます。
スーパーユーザーは、DHCP Manager を使用して、あるいはコマンド行ユーティリティを使用して、DHCP サーバーの起動、終了、および設定を行うことができます。通常 DHCP サーバーは、システムの起動時に自動的に立ち上がり、システムのシャットダウン時に終了するように設定されています。したがって、サーバーの起動と終了を手動で行うことは、ほとんどありません。
DHCP サーバーで使用されるすべてのデータは、2 つのデータリポジトリに格納されます。これら 2 つのデータリポジトリは、DHCP Manager またはコマンド行ユーティリティのいずれかを使用して表示および管理できます。2 つのデータリポジトリは、次のとおりです。
dhcptab - クライアントに渡すことが可能な設定情報を含んでいるファイル
DHCP ネットワークテーブル - テーブル名に指定されたネットワーク上に存在している DHCP および BOOTP クライアントに関する情報を含んでいるテーブル。たとえば、ネットワーク 134.20.0.0 には、134_20_0_0 という名前のテーブルがある
ローカルディレクトリ上のファイル、または NIS+ データベースに、DHCP データを保存できます。データの保存方法の選択については、「データ保存方法の選択」を参照してください。
dhcptab ファイルには、クライアントが DHCP サーバーから入手できるすべての情報が入っています。DHCP サーバーは起動するたびにこのファイルを走査します。
DHCP プロトコルは、クライアントに渡すことができる情報の標準的な項目を多数定義しています。これらの項目は、パラメータ、シンボル、またはオプションと呼ばれます。DHCP プロトコルでは、オプションは数値コードとテキストラベルで定義されており、値は与えられていません。例として、一般的に使用されている標準オプションの一部を表 8-1 に示します。
表 8-1 DHCP 標準オプションの例
コード |
ラベル |
説明 |
---|---|---|
1 |
Subnet |
サブネットマスク IP アドレス |
3 |
Router |
ルーターの IP アドレス |
6 |
DNSserv |
DNS サーバーの IP アドレス |
12 |
Hostname |
クライアントホスト名 |
15 |
DNSdmain |
DNS ドメイン名 |
オプションの中には、管理者がサーバーの構成中に情報を提供すると、自動的に値が割り当てられるものがあります。また、管理者は後で、他のオプションに値を明示的に割り当てることもできます。オプションとその値はクライアントに渡され、設定情報を形成します。たとえば、オプションと値のペアである DNSdmain=Georgia.Peach.COM は、クライアントの DNS ドメイン名を Georgia.Peach.COM に設定します。
オプションは、マクロとして知られているコンテナ内で他のオプションと共にグループ化することができ、これによりクライアントへ容易に情報を渡すことができます。マクロの中には、サーバー構成時に自動的に作成され、構成時に値が割り当てられるオプションを含むものがあります。また、マクロには他のマクロを含めることもできます。
dhcptab ファイルのフォーマットは dhcptab(4) のマニュアルページに記載されています。DHCP Manager では、オプションとマクロタブに示されているすべての情報は dhcptab ファイルから得られます。オプションについては 「オプションについて」、マクロについては 「マクロについて」を参照してください。
dhcptab ファイルはテキストファイルですが、手作業では編集できないことに注意してください。オプションやマクロを作成、削除、変更するためには、dhtadm または DHCP Manager のいずれかを使用する必要があります。
DHCP ネットワークテーブルは、クライアントの識別子を IP アドレスと、各アドレスに関連した設定パラメータに対応付けます。ネットワークテーブルのフォーマットは、dhcp_network(4) に記載されています。DHCP Manager では、Addresses タブに示されるすべての情報はネットワークテーブルから得られます。
DHCP Manager は、DHCP サービスに関連するすべての管理業務を行うためのグラフィカルツールです。このツールを使用すると、サーバーだけでなく、サーバーが使用するデータも管理することができます。サーバー上では DHCP Manager を下記の場合に使用することができます。
DHCP サーバーを設定および設定解除する場合
DHCP サーバーを起動、停止、および再起動する場合
DHCP サービスを有効または無効にする場合
サーバーの設定をカスタマイズする場合
また、DHCP Manager を使用すると、IP アドレス、ネットワーク構成マクロ、およびネットワーク構成オプションを下記のように管理することもできます。
IP アドレスの表示、追加、削除、および解放
ネットワーク構成マクロの表示、追加、変更、および削除
標準以外のネットワーク構成オプションの表示、追加、変更、および削除
DHCP Manager では、このツールを使用して実行できる手順についての詳細なオンラインヘルプも利用できます。
すべての DHCP 管理機能は、コマンド行ユーティリティを使用しても実行することができます。表 8-2 に、各ユーティリティとその使用目的を示します。表内のコマンド名をクリックすると、各ユーティリティの使用方法を詳しく説明したマニュアルページが表示されます。
表 8-2 DHCP コマンド行ユーティリティ
DHCP コマンドのマニュアルページ |
説明と使用目的 |
---|---|
in.dhcpd(1M) | |
dhcpconfig(1M) |
テキスト形式のメニューシステムを提供するシェルスクリプトで、DHCP サーバーの構成に役立つ。dhcpconfig は、サーバーマシンのネットワークトポロジファイルから情報を収集し、初期構成に役立つ情報を作成する。dhcpconfig は、バックグラウンドで dhtadm と pntadm ユーティリティを使用して初期 dhcptab テーブルとネットワークテーブルを作成する |
dhtadm(1M) |
DHCP クライアント用の設定オプションとマクロの追加、削除、および変更に使用する。このユーティリティを使用するときは dhcptab ファイルを間接的に編集するため、dhcptab ファイルのフォーマットが正しいことが保証される。dhcptab ファイルは直接編集しないようにする |
pntadm(1M) |
DHCP ネットワークテーブルの管理に使用する。このユーティリティを使用すると、IP アドレスとネットワークを DHCP の管理下に (から) 追加 (削除) したり、指定した IP アドレスのネットワーク構成を変更したり、また DHCP の管理下にある IP アドレスとネットワークについての情報を表示したりできる |
DHCP サーバーを動作させたいシステム上で DHCP Manager を初めて実行するときは、DHCP サーバーを設定します。DHCP Manager のサーバー構成ダイアログに、1 つのネットワーク上で DHCP サーバーを使用可能にして実行するために必要な基本情報を入力するよう促すメッセージが表示されます。既存のシステムファイルからいくつかのデフォルト値を取得することができます。そのネットワークに対してシステムを構成していない場合には、デフォルト値はありません。DHCP Manager は下記の情報を入力するように促します。
そのサーバーの役割 : DHCP サーバーまたは BOOTP リレーエージェントのいずれか
データの保存方法 : ローカルファイルまたは NIS+ のいずれか
リース期間と、クライアントがリース期間を更新できるようにするかどうか
DNS サーバーの DNS ドメイン名および IP アドレス
DHCP サービス用に構成する最初のネットワークのネットワークアドレスとサブネットマスク
ネットワークのタイプ : LAN または PPP (ポイントツーポイント)
ルーターの探索、または特定のルーターの IP アドレス
NIS サーバーの NIS ドメイン名および IP アドレス
NIS+ サーバーの NIS+ ドメイン名および IP アドレス
DHCP サーバーは dhcpconfig コマンドを使用しても設定することができます。このユーティリティは既存のシステムファイルから自動的に情報を収集し、有用な初期設定を提供します。そのため、dhcpconfig コマンドを実行する前に既存のシステムファイルが正しいことを確認しておく必要があります。dhcpconfig コマンドが情報を入手するために使用するファイルについては、dhcpconfig(1M) を参照してください。初期設定後に設定を変更するときは、システムファイルに変更を加え、dhcpconfig コマンドを再度実行して、変更がコマンドに反映される様にする必要があります。
Solaris DHCP サーバーは、下記のタイプの IP アドレス割り当て機能をサポートしています。
手動割り当て - DHCP サーバーは、特定の DHCP クライアントに対して管理者が選択した、専用の IP アドレスを割り当てます。このアドレスは変更したり他のクライアントに割り当てたりすることはできません。
自動または永続的な割り当て - DHCP サーバーは有効期限のない IP アドレスを割り当て、管理者がその割り当てを変更するか、あるいは、クライアントがそのアドレスを解放するまで、そのアドレスを永続的にそのクライアントに使用します。
動的割り当て - DHCP サーバーは IP アドレスを要求しているクライアントに、一定期間このアドレスをリースします (貸し出します)。この期間が過ぎると、サーバーはこのアドレスを回収し、他のクライアントに割り当てることができます。このアドレスの使用期間はサーバーに設定されているリース期間によって決まります。
管理者は DHCP クライアントにどのような情報を提供するかを決定します。DHCP サーバーを設定するときは、そのネットワークについての基本的な情報を提供しますが、後からクライアントに提供したい情報を追加することもできます。
DHCP サーバーは、オプションと値の対、およびマクロの形で、dhcptab データベースにネットワーク構成情報を保存します。オプションはクライアントに供給するネットワークデータのキーワードです。値はオプションに割り当てられ、DHCP メッセージでクライアントに渡されます。たとえば NIS サーバーアドレスは、DHCP サーバーにより割り当てられた値 (IP アドレスのリスト) を持つ、NISservrs と呼ばれるオプションを使用して渡されます。マクロは、クライアントに供給したい任意の個数のオプションをグループ化するための便利な方法です。DHCP Manager を使用すると、これらのオプションに値を割り当て、これらのオプションをグループ化するためのマクロを作成することができます。グラフィカルツール以外のツールを使用したい場合は、DHCP 構成テーブル管理用ユーティリティの dhtadm を使用してオプションおよびマクロを処理することができます。
Solaris DHCP では、オプションはクライアントに渡されるネットワーク情報です。また、DHCP の説明では、オプションはシンボルまたタグと呼ばれる場合もあります。オプションは数値コードおよびテキストラベルで定義され、値が割り当てられます。
DHCP プロトコルは、一般的に指定されているネットワークデータに対して多数の標準オプションを定義しています。それらオプションにはたとえば、Subnet、Router、Broadcast、NIS+dom、Hostname、および LeaseTim があります。標準オプションの一覧表を DHCP Manager のヘルプで見ることができます。標準オプションのキーワードを変更することはできませんが、使用しているネットワークに関連したオプションに値を割り当て、オプションと値のペアをマクロに含めることはできます。
標準オプションで指定できないデータに対しては、新しいオプションを作ることができます。作成するオプションは下記の 3 つのカテゴリのいずれかに分類されるものでなければなりません。
拡張 - 使用している DHCP サーバーの実装にはまだ含まれていない、最新の標準 DHCP オプションのために予約されています。使用したい標準オプションがわかっているが、DHCP サーバーをグレードアップしたくない場合に使用することができます。
サイト - 使用しているサイトに固有なオプションのために予約されています。システム管理者がこれらのオプションを作成します。
ベンダー - ハードウェアまたはベンダープラットホームなどの特定クラスのクライアントにだけ適用するオプションのために予約されています。Solaris DHCP の実装には、Solaris クライアント用の多数のベンダーオプションが含まれています。たとえば、オプション SrootIP4 は、ネットワークブートを行うクライアントがそのルートファイルシステムとして使用しなければならない、サーバーの IP アドレスを指定するために使用されます。
第 11 章「DHCP の管理」に、オプションを作成、変更、および削除する手順が説明されています。
Solaris DHCP サービスでは、マクロはネットワーク構成オプション、およびシステム管理者がこれらのオプションに割り当てた値の集まりです。マクロは、オプションをグループ化し、特定のクライアントまたはクライアントタイプにオプションをまとめて渡すために作成します。たとえば、特定のサブネット上のすべてのクライアントを対象としたマクロには、サブネットマスク、ルーター IP アドレス、ブロードキャストアドレス、NIS+ ドメイン、およびリース期間のためのオプションと値のペアを含めることができます。
DHCP サーバーがマクロを処理するときは、そのマクロで定義されているネットワークオプションと値をクライアントへの DHCP メッセージに含めます。マクロの中には、特定のタイプのクライアント向けにサーバーが自動的に処理するものがあります。
マクロが自動的に処理されるようにするためには、表 8-3 に示されているカテゴリのいずれかに従ってそのマスクに名前を付ける必要があります。
表 8-3 自動処理のためのマクロのカテゴリ
マクロのカテゴリ |
説明 |
---|---|
クライアントクラス |
このマクロ名は、クライアントマシンのタイプやオペレーティングシステムによって指定されたクライアントの種類と一致する。たとえば、サーバーのマクロの名前が SUNW.Ultra-1 の場合、SUNW.Ultra-1 マシンであるクライアントはいずれも自動的に SUNW.Ultra-1 マクロ内の値を受け取る |
ネットワークアドレス |
このマクロ名は、DHCP が管理するネットワーク IP アドレスと一致する。たとえば、サーバーのマクロの名前が 125.53.224.0 の場合、125.53.224.0 ネットワークに接続されているクライアントはいずれも自動的に 125.53.224.0 マクロ内の値を受け取る |
クライアント ID |
このマクロ名は、通常は Ethernet または MAC アドレスから導出された、クライアント用の一意の識別子と一致する。たとえば、サーバーのマクロ名が 08002011DF32 の場合、(Ethernet アドレス 8:0:20:11:DF:32 から導出される) 08002011DF32 の ID を持つクライアントは、08002011DF32 の名前を持ったマクロ内の値を自動的に受け取る |
表 8-3 に示されているカテゴリの 1 つを使用しない名前を持つマクロは、下記のいずれかの条件が満たされた場合にのみ処理することができます。
マクロが IP アドレスに割り当てられる場合
マクロが、自動的に処理される他のマクロに含まれる場合
マクロが、IP アドレスに割り当てられる他のマクロに含まれる場合
サーバーを設定する場合、デフォルトでは、そのサーバーの名前と一致する名前の付いたマクロが作られます。このサーバーマクロは、自動処理が行われる名称タイプのいずれとも一致しないため、いずれのクライアントに対しても自動的に処理されません。後でサーバー上で IP アドレスを作成する場合、その IP アドレスは、サーバーのデフォルトのマクロを使用するように割り当てられます。
DHCP クライアントが DHCP サービスを要求するときは、DHCP サーバーはどのマクロがそのクライアントに一致するかを決定します。このサーバーは、処理の順序を決めるためのマクロのカテゴリを使用して、より一般的なものから特定のものへと、順にマクロを処理します。マクロは下記の順序で処理されます。
クライアントクラスマクロ - 最も一般的なカテゴリ
ネットワークアドレスマクロ - クライアントクラスよりは特定なマクロ
IP アドレスに割り当てられたマクロ - ネットワークアドレスよりは特定なマクロ
クライアント ID マクロ - 最も特定なマクロ
他のマクロに含まれているマクロはそのマクロの一部として処理されます。
複数のマクロに同じオプションが含まれている場合は、最も特定されたカテゴリのマクロ内のオプションに設定されている値が一番最後に処理されるため、その値が使用されます。たとえば、ネットワークアドレスに、24 時間の値を持つリース期間オプションが入っていて、クライアント ID マクロに 8 時間の値を持つリース期間オプションが入っている場合は、そのクライアントは 8 時間のリース期間を受け取ります。