Solaris のシステム管理 (第 3 巻)

Solaris DHCP サーバー

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

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

DHCP サーバーの管理

スーパーユーザーは、DHCP Manager を使用して、あるいはコマンド行ユーティリティを使用して、DHCP サーバーの起動、終了、および設定を行うことができます。通常 DHCP サーバーは、システムの起動時に自動的に立ち上がり、システムのシャットダウン時に終了するように設定されています。したがって、サーバーの起動と終了を手動で行うことは、ほとんどありません。

DHCP サーバーのデータ記憶領域

DHCP サーバーで使用されるすべてのデータは、2 つのデータリポジトリに格納されます。これら 2 つのデータリポジトリは、DHCP Manager またはコマンド行ユーティリティのいずれかを使用して表示および管理できます。2 つのデータリポジトリは、次のとおりです。

ローカルディレクトリ上のファイル、または NIS+ データベースに、DHCP データを保存できます。データの保存方法の選択については、「データ保存方法の選択」を参照してください。

dhcptab ファイル

dhcptab ファイルには、クライアントが DHCP サーバーから入手できるすべての情報が入っています。DHCP サーバーは起動するたびにこのファイルを走査します。

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

表 8-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 Manager では、オプションとマクロタブに示されているすべての情報は dhcptab ファイルから得られます。オプションについては 「オプションについて」、マクロについては 「マクロについて」を参照してください。

dhcptab ファイルはテキストファイルですが、手作業では編集できないことに注意してください。オプションやマクロを作成、削除、変更するためには、dhtadm または DHCP Manager のいずれかを使用する必要があります。

DHCP ネットワークテーブル

DHCP ネットワークテーブルは、クライアントの識別子を IP アドレスと、各アドレスに関連した設定パラメータに対応付けます。ネットワークテーブルのフォーマットは、dhcp_network(4) に記載されています。DHCP Manager では、Addresses タブに示されるすべての情報はネットワークテーブルから得られます。

DHCP Manager

DHCP Manager は、DHCP サービスに関連するすべての管理業務を行うためのグラフィカルツールです。このツールを使用すると、サーバーだけでなく、サーバーが使用するデータも管理することができます。サーバー上では DHCP Manager を下記の場合に使用することができます。

また、DHCP Manager を使用すると、IP アドレス、ネットワーク構成マクロ、およびネットワーク構成オプションを下記のように管理することもできます。

DHCP Manager では、このツールを使用して実行できる手順についての詳細なオンラインヘルプも利用できます。

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

すべての DHCP 管理機能は、コマンド行ユーティリティを使用しても実行することができます。表 8-2 に、各ユーティリティとその使用目的を示します。表内のコマンド名をクリックすると、各ユーティリティの使用方法を詳しく説明したマニュアルページが表示されます。

表 8-2 DHCP コマンド行ユーティリティ

DHCP コマンドのマニュアルページ 

説明と使用目的 

in.dhcpd(1M)

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

dhcpconfig(1M)

テキスト形式のメニューシステムを提供するシェルスクリプトで、DHCP サーバーの構成に役立つ。dhcpconfig は、サーバーマシンのネットワークトポロジファイルから情報を収集し、初期構成に役立つ情報を作成する。dhcpconfig は、バックグラウンドで dhtadmpntadm ユーティリティを使用して初期 dhcptab テーブルとネットワークテーブルを作成する

dhtadm(1M)

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

pntadm(1M)

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

DHCP サーバーの設定

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

DHCP サーバーは dhcpconfig コマンドを使用しても設定することができます。このユーティリティは既存のシステムファイルから自動的に情報を収集し、有用な初期設定を提供します。そのため、dhcpconfig コマンドを実行する前に既存のシステムファイルが正しいことを確認しておく必要があります。dhcpconfig コマンドが情報を入手するために使用するファイルについては、dhcpconfig(1M) を参照してください。初期設定後に設定を変更するときは、システムファイルに変更を加え、dhcpconfig コマンドを再度実行して、変更がコマンドに反映される様にする必要があります。

IP アドレスの割り当て

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

ネットワーク構成情報

管理者は DHCP クライアントにどのような情報を提供するかを決定します。DHCP サーバーを設定するときは、そのネットワークについての基本的な情報を提供しますが、後からクライアントに提供したい情報を追加することもできます。

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

オプションについて

Solaris DHCP では、オプションはクライアントに渡されるネットワーク情報です。また、DHCP の説明では、オプションはシンボルまたタグと呼ばれる場合もあります。オプションは数値コードおよびテキストラベルで定義され、値が割り当てられます。

DHCP プロトコルは、一般的に指定されているネットワークデータに対して多数の標準オプションを定義しています。それらオプションにはたとえば、SubnetRouterBroadcastNIS+domHostname、および LeaseTim があります。標準オプションの一覧表を DHCP Manager のヘルプで見ることができます。標準オプションのキーワードを変更することはできませんが、使用しているネットワークに関連したオプションに値を割り当て、オプションと値のペアをマクロに含めることはできます。

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

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

マクロについて

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

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

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


マクロ処理の順序

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

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

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

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

  4. クライアント ID マクロ - 最も特定なマクロ

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

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