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