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 クライアントがネットワーク経由でブートするために必要な情報を DHCP クライアントに提供できます。この情報には、IP アドレスやブートパラメータ、ネットワーク構成情報などがあります。
ホスト名を指定したクライアントに代わって DNS テーブルを更新 – DHCP サービスを求めるクライアントの要求に Hostname オプションと値が含まれている場合には、DHCP サーバーが、クライアントに代わって DNS を更新することができます。
スーパーユーザーは、DHCP マネージャや DHCP コマンド行ユーティリティ に記載されているコマンド行ユーティリティを使って、DHCP サーバーの起動、終了、構成を行うことができます。通常、DHCP サーバーは、システムのブート時に自動的に起動され、システムのシャットダウン時に自動的に終了するように構成されています。したがって、通常は、サーバーの起動や終了を手動で行う必要はありません。
Solaris DHCP サーバーが使用するすべてのデータは、データストアと呼ばれるプレーンテキストファイル、NIS+ テーブル、バイナリ形式ファイルに格納されます。管理者は、DHCP サービスを構成するときに、どの形式のデータストアを使用するかを選択します。データストアの形式の違いについては、データストアの選択を参照してください。データストアのフォーマットは、DHCP マネージャまたは dhcpconfig コマンドを使って変換できます。
さらに、個々のサーバーで異なるデータストアフォーマットを使用している場合でも、それぞれのデータストアで動作するエクスポートユーティリティやインポートユーティリティを使用すれば、DHCP サーバーのデータストアにあるデータを別のデータストアに移動することができます。 DHCP マネージャや dhcpconfig コマンドを使用して、データストアの内容全体またはその一部をエクスポートまたはインポートすることができます。
Solaris DHCP (サーバーツールと管理ツール) とデータベース間のインタフェースになる独自のコードモジュールを開発する場合には、DHCP データ領域のデータベースやファイルのフォーマットはどのようなものでもかまいません。詳細は、『Solaris DHCP サービス開発ガイド』を参照してください。
Solaris DHCP データストアには、次に示す 2 種類のテーブルがあります。このテーブルの内容を表示、管理するには、DHCP マネージャまたはコマンド行ユーティリティを使用します。
dhcptab テーブル – クライアントに提供することが可能な構成情報が入っています。
DHCP ネットワークテーブル – テーブル名が示すネットワーク上にある DHCP クライアントや BOOTP クライアントの情報が入っています。たとえば、ネットワーク 134.20.0.0 のテーブル名には 134_20_0_0 が含まれています。
dhcptab テーブルには、クライアントが DHCP サーバーから取得できるすべてのデータが入っています。DHCP サーバーは、起動されるたびに dhcptab テーブルをスキャンします。dhcptab のファイル名は、使用されるデータストアによって異なります。たとえば、NIS+ データストア SUNWnisplus によって作成された dhcptab は SUNWnisplus1_dhcptab になります。
DHCP プロトコルは、クライアントに渡すことができる情報の標準的な項目を多数定義しています。これらの項目は、パラメータ、シンボル、またはオプションと呼ばれます。DHCP プロトコルでは、オプションは数値コードとテキストラベルで定義されており、値は与えられていません。例として、一般的に使用される標準オプションの一部を示します。
表 1–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 マネージャでは、「オプション (Options)」タブや「マクロ (Macros)」タブに示されるすべての情報は dhcptab ファイルから得られます。オプションについては オプションについてを、マクロについては マクロについて をそれぞれ参照してください。
dhcptab テーブルをテキストエディタで編集しないでください。オプションやマクロの作成、削除、変更には、dhtadm コマンドまたは DHCP マネージャを使用する必要があります。
DHCP ネットワークテーブルは、クライアントの識別子を IP アドレスと、各アドレスに関連した構成パラメータに対応付けます。ネットワークテーブルのフォーマットについては、dhcp_network(4) のマニュアルページを参照してください。 DHCP マネージャでは、「アドレス (Addresses)」タブに示されるすべての情報はネットワークテーブルから得られます。
DHCP マネージャは、DHCP サービスに関連するすべての管理作業を行うためのグラフィカルツールです。DHCP マネージャを使用するには、スーパーユーザーになる必要があります。このツールを使用すると、サーバーだけでなく、サーバーが使用するデータも管理することができます。サーバー上では DHCP マネージャを下記の場合に使用することができます。
DHCP サーバーを構成および構成解除する場合
DHCP サーバーを起動、停止、および再起動する場合
DHCP サービスを有効または無効にする場合
サーバーの構成をカスタマイズする場合
さらに、DHCP マネージャでは、IP アドレスやネットワーク構成マクロ、ネットワーク構成オプションに関して次のことができます。
DHCP 管理下にあるネットワークの追加や削除
DHCP 管理下にある IP アドレスの表示、追加、変更、削除、解放
ネットワーク構成マクロの表示、追加、変更、削除
標準以外のネットワーク構成オプションの表示、追加、変更、削除
DHCP マネージャでは、DHCP データストアに関して次のことができます。
データを新しいデータストアフォーマットに変換する。
DHCP データをある DHCP サーバーから別のサーバーに移動する。 データを最初のサーバーからエクスポートし、次のサーバーにインポートする必要があります。
DHCP マネージャでは、実行できる手順についての詳細なオンラインヘルプも利用できます。
すべての DHCP 管理機能は、コマンド行ユーティリティを使用しても実行することができます。コマンド行ユーティリティを実行するには、スーパーユーザーとして、または DHCP 管理プロファイルに割り当てられているユーザーでログインしている必要があります。これについては、DHCP コマンドへのユーザーアクセスの設定 を参照してください。
次の表に、各ユーティリティとその使用目的を示します。
表 1–2 DHCP コマンド行ユーティリティ
コマンド |
説明と使用目的 |
---|---|
in.dhcpd | |
dhcpconfig |
DHCP サーバーの構成や構成解除に使用する。 このユーティリティでは、DHCP マネージャの多くの機能をコマンド行から実行することができる。このユーティリティは主に、一部の構成機能を自動化したいときにスクリプト中で使用する。 dhcpconfig は、サーバーシステムのネットワークトポロジファイルから情報を収集し、初期構成に必要な情報を作成する。 |
dhtadm |
DHCP クライアント用の構成オプションとマクロの追加、削除、変更に使用する。このユーティリティによって dhcptab が間接的に編集され、dhcptab のフォーマットが正しく保たれる。 dhcptab ファイルを直接編集してはならない。 |
pntadm |
DHCP ネットワークテーブルの管理に使用する。このユーティリティでは、IP アドレスやネットワークを DHCP 管理下に追加したり、そこから削除したり、指定する IP アドレスのネットワーク構成を変更したり、 DHCP 管理下にある IP アドレスやネットワークの情報を表示したりできる。 |
dhcpconfig、dhtadm、pntadm コマンドのセキュリティは、役割によるアクセス制御 (RBAC, Role-Based Access Control) の設定値に基づいて決められます。デフォルトでは、これらのコマンドを実行できるのはスーパーユーザーだけです。 これらのコマンドを別のユーザー名で使用したい場合は、この名前を DHCP プロファイルに割り当てる必要があります。これについては、 DHCP コマンドへのユーザーアクセスの設定を参照してください。
DHCP サーバーを動作させたいシステム上で DHCP マネージャを初めて実行するときは、DHCP サーバーを構成します。DHCP マネージャのサーバー構成ダイアログに、1 つのネットワーク上で DHCP サーバーを使用可能にして実行するために必要な基本情報を入力するように要求するメッセージが表示されます。既存のシステムファイルからいくつかのデフォルト値を取得することができます。そのネットワークに対してシステムを構成していない場合には、デフォルト値はありません。DHCP マネージャは下記の情報を入力するように要求します。
そのサーバーの役割 : DHCP サーバーまたは BOOTP リレーエージェントのいずれか
データストアの (ファイル、バイナリファイル、NIS+、または独自のもの)
データストアの構成パラメータ (選択したデータストアの形式によって異なる)
ホストレコードの更新に使用するネームサービス (使用する場合) (/etc/inet/hosts、NIS+、または DNS)
リース期間と、クライアントがリース期間を更新できるようにするかどうか
DNS サーバーの DNS ドメイン名および IP アドレス
DHCP サービス用に構成する最初のネットワークのネットワークアドレスとサブネットマスク
ネットワークのタイプ : LAN または PPP (ポイントツーポイント)
ルーターの検索、または特定のルーターの IP アドレス
NIS サーバーの NIS ドメイン名および IP アドレス
NIS+ サーバーの NIS+ ドメイン名および IP アドレス
DHCP サーバーは dhcpconfig コマンドを使用しても構成することができます。このユーティリティは既存のシステムファイルから自動的に情報を収集し、有用な初期構成を提供します。そのため、dhcpconfig コマンドを実行する前に既存のシステムファイルが正しいことを確認しておく必要があります。dhcpconfig がどのファイルから情報を入手するかについては、dhcpconfig(1M) のマニュアルページを参照してください。
Solaris DHCP サーバーは、下記のタイプの IP アドレス割り当て機能をサポートしています。
手動割り当て – DHCP サーバーは、特定の DHCP クライアントに対して管理者が選択した、専用の IP アドレスを割り当てます。このアドレスは変更したり他のクライアントに割り当てたりすることはできません。
自動または割り当て – DHCP サーバーは有効期限のない IP アドレスを割り当て、管理者がその割り当てを変更するか、あるいは、クライアントがそのアドレスを解放するまで、そのアドレスを永続的にそのクライアントに使用します。
動的割り当て – DHCP サーバーは IP アドレスを要求しているクライアントに、一定期間このアドレスをリースします (貸し出します)。この期間が過ぎると、サーバーはこのアドレスを回収し、他のクライアントに割り当てることができます。このアドレスの使用期間はサーバーに構成されているリース期間によって決まります。
管理者は、どのような情報を DHCP クライアントに提供するかを決める必要があります。DHCP サーバーを構成するときにはネットワークの基本的な情報を指定しますが、後で、クライアントに提供したい情報を追加することもできます。
DHCP サーバーは、オプションと値の対、およびマクロの形で、dhcptab データベースにネットワーク構成情報を保存します。オプションはクライアントに供給するネットワークデータのキーワードです。値はオプションに割り当てられ、DHCP メッセージでクライアントに渡されます。たとえば、 NIS サーバーのアドレスは、DHCP サーバーによって割り当てられた値 (IP アドレスのリスト) を持つ NISservrs というオプションを使用して渡されます。マクロは、クライアントに供給したい任意の個数のオプションをグループ化するための便利な方法です。管理者は、DHCP マネージャを使って、オプションをグループ化するマクロを作成し、それらのオプションに値を割り当てることができます。グラフィカルユーザーインタフェースでないツールを使用する場合は、DHCP 構成テーブル管理用ユーティリティ dhtadm を使ってオプションやマクロを処理することができます。
Solaris DHCP では、オプションとはクライアントに渡されるネットワーク情報です。DHCP の資料では、オプションはシンボルやタグとも呼ばれる場合もあります。オプションは、数値コードやテキストラベルで定義されます。オプションには、それが DHCP サービスで使用されるときに値を受け取ります。
DHCP プロトコルは、一般的に指定されているネットワークデータに対して多数の標準オプションを定義しています。 それらオプションにはたとえば、Subnet、Router、Broadcast、NIS+dom、Hostname、および LeaseTim があります。その他の標準オプションについては、dhcp_inittab マニュアルページを参照してください。マクロにこれらのオプションを指定する際には、標準オプションのキーワードを変更することはできませんが、ネットワークに関連するオプションに値を割り当てることができます。
標準オプションで指定できないデータに対しては、新しいオプションを作ることができます。作成するオプションは下記いずれかのカテゴリに分類されるものでなければなりません。
拡張 – この DHCP サーバーにはまだ実装されていないが、標準 DHCP オプションとしてすでに予約されています。使用したい標準オプションがわかっているが、DHCP サーバーをグレードアップしたくない場合に使用することができます。
サイト – 使用しているサイトに固有なオプションのために予約されています。システム管理者がこれらのオプションを作成します。
ベンダー – ハードウェアまたはベンダープラットホームなどの特定クラスのクライアントにだけ適用するオプションのために予約されています。Solaris DHCP の実装には、Solaris クライアント用の多数のベンダーオプションが含まれています。たとえば、オプション SrootIP4 は、ネットワークからブートされるクライアントがそのルートファイルシステムとして使用すべきサーバーの IP アドレスを指定します。
第 4 章「DHCP の管理」に、オプションを作成、変更、および削除する手順が説明されています。
Solaris DHCP サービスでは、マクロはネットワーク構成オプション、およびシステム管理者がこれらのオプションに割り当てた値の集まりです。マクロは、オプションをグループ化し、特定のクライアントまたはクライアントタイプにオプションをまとめて渡すために作成します。たとえば、特定のサブネット上のすべてのクライアントを対象としたマクロには、サブネットマスク、ルーター IP アドレス、ブロードキャストアドレス、NIS+ ドメイン、およびリース期間のためのオプションと値のペアを含めることができます。
DHCP サーバーがマクロを処理するときは、そのマクロに定義されているネットワークオプションと値を、クライアントへの DHCP メッセージに含めます。サーバーは、特定のタイプのクライアントに対し一部のマクロを自動的に処理します。
マクロを自動的に処理するためには、マクロの名前が、次の表に示すカテゴリのいずれかに従っている必要があります。
表 1–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 から得られる) クライアント ID 08002011DF32 を持つクライアントは、08002011DF32 という名前のマクロにある値を自動的に受け取る。 |
表 1–3 に示されているカテゴリのいずれも使用しない名前を持つマクロは、下記のいずれかの条件が満たされた場合にのみ処理することができます。
マクロが IP アドレスに割り当てられる場合
マクロが、自動的に処理される他のマクロに含まれる場合
マクロが、IP アドレスに割り当てられている他のマクロに含まれている場合
サーバーを構成する場合、デフォルトでは、そのサーバーの名前と一致する名前の付いたマクロが作られます。このサーバーマクロは、自動処理が行われる名称タイプのいずれとも一致しないため、いずれのクライアントに対しても自動的に処理されません。後でサーバー上で IP アドレスを作成する場合、その IP アドレスは、サーバーのデフォルトのマクロを使用するように割り当てられます。
DHCP クライアントが DHCP サービスを要求するときは、DHCP サーバーはどのマクロがそのクライアントに一致するかを決定します。このサーバーは、処理の順序を決めるためのマクロのカテゴリを使用して、より一般的なものから特定のものへと、順にマクロを処理します。マクロは下記の順序で処理されます。
クライアントクラスマクロ – 最も一般的なカテゴリ
ネットワークアドレスマクロ – クライアントクラスよりは特定なマクロ
IP アドレスに割り当てられたマクロ – ネットワークアドレスよりは特定されたマクロ
クライアント ID マクロ – 1 クライアントだけに適用される最も特定されたカテゴリ
他のマクロに含まれているマクロはそのマクロの一部として処理されます。
複数のマクロに同じオプションが含まれている場合は、最も特定されたカテゴリのマクロ内のオプションに設定されている値が一番最後に処理されるため、その値が使用されます。たとえば、ネットワークアドレスに、24 時間の値を持つリース期間オプションが入っていて、クライアント ID マクロに 8 時間の値を持つリース期間オプションが入っている場合は、そのクライアントは 8 時間のリース期間を受け取ります。