Solaris DHCP の管理

Solaris DHCP サーバー

Solaris DHCP サーバーは、ホストシステム上の Solaris オペレーティング環境ではデーモンとして動作します。Solaris DHCP サーバーは、2 つの基本機能を備えています。

また、Solaris DHCP サーバーは以下の追加機能を実行するように構成することも可能です。

DHCP サーバーの管理

スーパーユーザーは、DHCP マネージャや DHCP コマンド行ユーティリティ に記載されているコマンド行ユーティリティを使って、DHCP サーバーの起動、終了、構成を行うことができます。通常、DHCP サーバーは、システムのブート時に自動的に起動され、システムのシャットダウン時に自動的に終了するように構成されています。したがって、通常は、サーバーの起動や終了を手動で行う必要はありません。

DHCP データストア

Solaris DHCP サーバーが使用するすべてのデータは、データストアと呼ばれるプレーンテキストファイル、NIS+ テーブル、バイナリ形式ファイルに格納されます。管理者は、DHCP サービスを構成するときに、どの形式のデータストアを使用するかを選択します。データストアの形式の違いについては、データストアの選択を参照してください。データストアのフォーマットは、DHCP マネージャまたは dhcpconfig コマンドを使って変換できます。

さらに、個々のサーバーで異なるデータストアフォーマットを使用している場合でも、それぞれのデータストアで動作するエクスポートユーティリティやインポートユーティリティを使用すれば、DHCP サーバーのデータストアにあるデータを別のデータストアに移動することができます。 DHCP マネージャや dhcpconfig コマンドを使用して、データストアの内容全体またはその一部をエクスポートまたはインポートすることができます。


注 –

Solaris DHCP (サーバーツールと管理ツール) とデータベース間のインタフェースになる独自のコードモジュールを開発する場合には、DHCP データ領域のデータベースやファイルのフォーマットはどのようなものでもかまいません。詳細は、『Solaris DHCP サービス開発ガイド』を参照してください。


Solaris DHCP データストアには、次に示す 2 種類のテーブルがあります。このテーブルの内容を表示、管理するには、DHCP マネージャまたはコマンド行ユーティリティを使用します。

dhcptab テーブル

dhcptab テーブルには、クライアントが DHCP サーバーから取得できるすべてのデータが入っています。DHCP サーバーは、起動されるたびに dhcptab テーブルをスキャンします。dhcptab のファイル名は、使用されるデータストアによって異なります。たとえば、NIS+ データストア SUNWnisplus によって作成された dhcptabSUNWnisplus1_dhcptab になります。

DHCP プロトコルは、クライアントに渡すことができる情報の標準的な項目を多数定義しています。これらの項目は、パラメータ、シンボル、またはオプションと呼ばれます。DHCP プロトコルでは、オプションは数値コードとテキストラベルで定義されており、値は与えられていません。例として、一般的に使用される標準オプションの一部を示します。

表 1–1 DHCP 標準オプションの例

コード 

ラベル 

説明 

Subnet 

サブネットマスク IP アドレス 

Router 

ルーターの IP アドレス 

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 ネットワークテーブル

DHCP ネットワークテーブルは、クライアントの識別子を IP アドレスと、各アドレスに関連した構成パラメータに対応付けます。ネットワークテーブルのフォーマットについては、dhcp_network(4) のマニュアルページを参照してください。 DHCP マネージャでは、「アドレス (Addresses)」タブに示されるすべての情報はネットワークテーブルから得られます。

DHCP マネージャ

DHCP マネージャは、DHCP サービスに関連するすべての管理作業を行うためのグラフィカルツールです。DHCP マネージャを使用するには、スーパーユーザーになる必要があります。このツールを使用すると、サーバーだけでなく、サーバーが使用するデータも管理することができます。サーバー上では DHCP マネージャを下記の場合に使用することができます。

さらに、DHCP マネージャでは、IP アドレスやネットワーク構成マクロ、ネットワーク構成オプションに関して次のことができます。

DHCP マネージャでは、DHCP データストアに関して次のことができます。

DHCP マネージャでは、実行できる手順についての詳細なオンラインヘルプも利用できます。

DHCP コマンド行ユーティリティ

すべての DHCP 管理機能は、コマンド行ユーティリティを使用しても実行することができます。コマンド行ユーティリティを実行するには、スーパーユーザーとして、または DHCP 管理プロファイルに割り当てられているユーザーでログインしている必要があります。これについては、DHCP コマンドへのユーザーアクセスの設定 を参照してください。

次の表に、各ユーティリティとその使用目的を示します。

表 1–2 DHCP コマンド行ユーティリティ

コマンド 

説明と使用目的 

in.dhcpd

DHCP サービスデーモン。数個のランタイムオプションの設定を可能にするコマンド行引数を提供する。

dhcpconfig

DHCP サーバーの構成や構成解除に使用する。 このユーティリティでは、DHCP マネージャの多くの機能をコマンド行から実行することができる。このユーティリティは主に、一部の構成機能を自動化したいときにスクリプト中で使用する。 dhcpconfig は、サーバーシステムのネットワークトポロジファイルから情報を収集し、初期構成に必要な情報を作成する。

dhtadm

DHCP クライアント用の構成オプションとマクロの追加、削除、変更に使用する。このユーティリティによって dhcptab が間接的に編集され、dhcptab のフォーマットが正しく保たれる。 dhcptab ファイルを直接編集してはならない。

pntadm

DHCP ネットワークテーブルの管理に使用する。このユーティリティでは、IP アドレスやネットワークを DHCP 管理下に追加したり、そこから削除したり、指定する IP アドレスのネットワーク構成を変更したり、 DHCP 管理下にある IP アドレスやネットワークの情報を表示したりできる。 

役割によるアクセス制御 (RBAC) - DHCP コマンドを使用する場合

dhcpconfigdhtadmpntadm コマンドのセキュリティは、役割によるアクセス制御 (RBAC, Role-Based Access Control) の設定値に基づいて決められます。デフォルトでは、これらのコマンドを実行できるのはスーパーユーザーだけです。 これらのコマンドを別のユーザー名で使用したい場合は、この名前を DHCP プロファイルに割り当てる必要があります。これについては、 DHCP コマンドへのユーザーアクセスの設定を参照してください。

DHCP サーバーの構成

DHCP サーバーを動作させたいシステム上で DHCP マネージャを初めて実行するときは、DHCP サーバーを構成します。DHCP マネージャのサーバー構成ダイアログに、1 つのネットワーク上で DHCP サーバーを使用可能にして実行するために必要な基本情報を入力するように要求するメッセージが表示されます。既存のシステムファイルからいくつかのデフォルト値を取得することができます。そのネットワークに対してシステムを構成していない場合には、デフォルト値はありません。DHCP マネージャは下記の情報を入力するように要求します。

DHCP サーバーは dhcpconfig コマンドを使用しても構成することができます。このユーティリティは既存のシステムファイルから自動的に情報を収集し、有用な初期構成を提供します。そのため、dhcpconfig コマンドを実行する前に既存のシステムファイルが正しいことを確認しておく必要があります。dhcpconfig がどのファイルから情報を入手するかについては、dhcpconfig(1M) のマニュアルページを参照してください。

IP アドレスの割り当て

Solaris DHCP サーバーは、下記のタイプの IP アドレス割り当て機能をサポートしています。

ネットワーク構成情報

管理者は、どのような情報を DHCP クライアントに提供するかを決める必要があります。DHCP サーバーを構成するときにはネットワークの基本的な情報を指定しますが、後で、クライアントに提供したい情報を追加することもできます。

DHCP サーバーは、オプションと値の対、およびマクロの形で、dhcptab データベースにネットワーク構成情報を保存します。オプションはクライアントに供給するネットワークデータのキーワードです。値はオプションに割り当てられ、DHCP メッセージでクライアントに渡されます。たとえば、 NIS サーバーのアドレスは、DHCP サーバーによって割り当てられた値 (IP アドレスのリスト) を持つ NISservrs というオプションを使用して渡されます。マクロは、クライアントに供給したい任意の個数のオプションをグループ化するための便利な方法です。管理者は、DHCP マネージャを使って、オプションをグループ化するマクロを作成し、それらのオプションに値を割り当てることができます。グラフィカルユーザーインタフェースでないツールを使用する場合は、DHCP 構成テーブル管理用ユーティリティ dhtadm を使ってオプションやマクロを処理することができます。

オプションについて

Solaris DHCP では、オプションとはクライアントに渡されるネットワーク情報です。DHCP の資料では、オプションはシンボルやタグとも呼ばれる場合もあります。オプションは、数値コードやテキストラベルで定義されます。オプションには、それが DHCP サービスで使用されるときに値を受け取ります。

DHCP プロトコルは、一般的に指定されているネットワークデータに対して多数の標準オプションを定義しています。 それらオプションにはたとえば、SubnetRouterBroadcastNIS+domHostname、および LeaseTim があります。その他の標準オプションについては、dhcp_inittab マニュアルページを参照してください。マクロにこれらのオプションを指定する際には、標準オプションのキーワードを変更することはできませんが、ネットワークに関連するオプションに値を割り当てることができます。

標準オプションで指定できないデータに対しては、新しいオプションを作ることができます。作成するオプションは下記いずれかのカテゴリに分類されるものでなければなりません。

第 4 章「DHCP の管理」に、オプションを作成、変更、および削除する手順が説明されています。

マクロについて

Solaris DHCP サービスでは、マクロはネットワーク構成オプション、およびシステム管理者がこれらのオプションに割り当てた値の集まりです。マクロは、オプションをグループ化し、特定のクライアントまたはクライアントタイプにオプションをまとめて渡すために作成します。たとえば、特定のサブネット上のすべてのクライアントを対象としたマクロには、サブネットマスク、ルーター IP アドレス、ブロードキャストアドレス、NIS+ ドメイン、およびリース期間のためのオプションと値のペアを含めることができます。

DHCP サーバーによるマクロ処理

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 アドレスは、サーバーのデフォルトのマクロを使用するように割り当てられます。


マクロ処理の順序

DHCP クライアントが DHCP サービスを要求するときは、DHCP サーバーはどのマクロがそのクライアントに一致するかを決定します。このサーバーは、処理の順序を決めるためのマクロのカテゴリを使用して、より一般的なものから特定のものへと、順にマクロを処理します。マクロは下記の順序で処理されます。

  1. クライアントクラスマクロ – 最も一般的なカテゴリ

  2. ネットワークアドレスマクロ – クライアントクラスよりは特定なマクロ

  3. IP アドレスに割り当てられたマクロ – ネットワークアドレスよりは特定されたマクロ

  4. クライアント ID マクロ – 1 クライアントだけに適用される最も特定されたカテゴリ

他のマクロに含まれているマクロはそのマクロの一部として処理されます。

複数のマクロに同じオプションが含まれている場合は、最も特定されたカテゴリのマクロ内のオプションに設定されている値が一番最後に処理されるため、その値が使用されます。たとえば、ネットワークアドレスに、24 時間の値を持つリース期間オプションが入っていて、クライアント ID マクロに 8 時間の値を持つリース期間オプションが入っている場合は、そのクライアントは 8 時間のリース期間を受け取ります。