Solaris DHCP の管理

第 1 章 DHCP の概要

この章では、動的ホスト構成プロトコル (DHCP) を紹介し、このプロトコルの基本概念、およびネットワーク上で使用した場合の利点について説明します。

この章では、以下の内容について説明します。

DHCP プロトコルについて

TCP/IP ネットワーク上のホストシステムは、その起動時に DHCP プロトコルによって、ネットワークに対し自動的に構成されます。DHCP では、クライアント/サーバーメカニズムが使用されます。サーバーは、クライアントの構成情報を格納、管理し、クライアントの要求に応じてその構成情報を提供します。構成情報には、クライアントの IP アドレスと、クライアントが使用可能なネットワークサービス情報が含まれます。

DHCP は、従来の BOOTP プロトコルをベースに機能拡張されたプロトコルです。BOOTP は、TCP/IP ネットワーク経由のブートを可能にすることを目的に設計されました。DHCP では、クライアントとサーバー間のメッセージに対し BOOTP と同じフォーマットが使用されますが、メッセージには BOOTP よりも多くの情報が含まれています。 この追加された情報は、クライアントに対するネットワーク構成データです。

DHCP の主な利点は、リースによって IP アドレスの割り当てを管理し、IP アドレスを、使用されなくなった時点で回収し、他のクライアントに再割り当てすることができることです。これによって、1 つのサイトで使用する IP アドレスプールは、すべてのクライアントに常時アドレスを割り当てた場合に比べて、小さくなります。

Solaris DHCP を使用した場合の利点

DHCP は、TCP/IP ネットワークの設定やネットワークの日々の管理に伴う、システム管理者やネットワーク管理者の手間を軽減します。なお、Solaris DHCP は IPv4 でのみ動作することに注意してください。

Solaris DHCP には、以下の利点があります。

DHCP の動作

システム管理者はまず、DHCP サーバーをインストールし、構成する必要があります。構成作業の際、システム管理者は、クライアントがネットワーク上で機能するために必要なネットワーク情報を入力します。この情報が正しく構成されると、クライアントはネットワーク情報を要求し、受け取ることができます。

図 1–1 は、DHCP サービスにおける一連のイベントを示したものです。丸の中の番号は、図の後に続く説明の箇条書き番号を示しています。

図 1–1 DHCP サービスにおける一連のイベント

Graphic

説明:

  1. クライアントは、ローカルサブネット上で制限付きブロードキャストアドレス (255.255.255.255) にメッセージをブロードキャストすることで、DHCP サーバーを検出します。ルータが存在し、BOOTP リレーエージェントとして動作するように構成されている場合、要求は異なるサブネット上の別の DHCP サーバーに渡されます。クライアントのブロードキャストにはクライアント固有の ID が含まれています。Solaris DHCP 実装では、この ID はクライアントの MAC (Media Access Control) アドレスから抽出されます。 Ethernet ネットワークでは、MAC アドレスは Ethernet アドレスと同じです。

    検索メッセージを受け取った DHCP サーバーは、次の情報からクライアントのネットワークを特定します。

    • この要求がどのネットワークインタフェースから入ってきたか。これによってサーバーは、クライアントが、インタフェースが接続されているネットワーク上にあるのか、あるいはそのネットワークに接続された BOOTP リレーエージェントを使用しているのかがわかります。

    • BOOTP リレーエージェントの IP アドレスが要求に含まれているか。要求がリレーエージェントを通過する際に、リレーエージェントは要求ヘッダーにリレーエージェントのアドレスを挿入します。サーバーがリレーエージェントのアドレスを検出すると、サーバーは、そのアドレスのネットワーク部分がクライアントのネットワークアドレスを示していることを認識します。これは、リレーエージェントがクライアントのネットワークに接続されている必要があるからです。

    • クライアントのネットワークは、サブネット化されているか。サーバーは、リレーエージェントのアドレス、または要求を受け取ったネットワークインタフェースのアドレスが示すネットワークのサブネットマスクをnetmasks テーブルから見つけます。サーバーは、使用されているサブネットマスクを認識すると、ネットワークアドレスのどの部分がホスト部分であるかを特定し、クライアントに適切な IP アドレスを選択できます。(ネットマスクについては、netmasks(4) を参照)。

  2. DHCP サーバーは、クライアントのネットワークを特定すると、適切な IP アドレスを選択し、そのアドレスがまだ使用されていないことを確認します。次に、選択した IP アドレスと、クライアントの構成に使用可能なサービス情報を含むオファーメッセージ (offer message) をブロードキャストし、クライアントに応答します。各サーバーは、提供予定の IP アドレスを一時的に予約します。この状態は、クライアントがその IP アドレスを使用するかどうかをサーバーが確認できるまで続きます。

  3. クライアントは、提供されるサービスの番号とタイプに基づいて最善のオファーを選択し、そのオファーを行なったサーバーの IP アドレスを使用するという要求をブロードキャストします。ブロードキャストにより、応答したすべての DHCP サーバーは、クライアントが 1 つのサーバーをすでに選択したことを認識し、選択されなかったサーバーは、それらが提供する予定だった IP アドレスの予約を取り消すことができます。

  4. 選択されたサーバーは、クライアントの IP アドレスを割り当て、その情報を DHCP データストアに格納し、クライアントに承認 (ACK) を送信します。承認メッセージには、クライアントのためのネットワーク構成パラメータが含まれています。クライアントは、その IP アドレスが他のシステムに使用されていないことを ping コマンドを使って確認してから、ブート処理を続けてネットワークに参加します。

  5. クライアントはリース期間を監視し、規定のリース期間が経過した場合には、リース期間を延長するために、選択したサーバーに対して新たな要求メッセージを送信します。

  6. リース期間が、管理者が規定したローカルリースポリシーに合っている場合、要求を受け取る DHCP サーバーは、そのリース期間を延長します。サーバーが 20 秒以内に応答しない場合、クライアントは、他の DHCP サーバーのいずれかがリース期間を延長できるように要求をブロードキャストします。

  7. クライアントは、その IP アドレスが必要なくなると、IP アドレスを解放することをサーバーに通知します。この処理は、通常のシャットダウンの際に実行され、また手動で実行することも可能です。

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 時間のリース期間を受け取ります。

Solaris DHCP クライアント

「クライアント」という用語は、ネットワーク上でクライアントとしての役割を実行している物理的なマシンについて言及するために使用される場合がありますが、ここで説明している DHCP クライアントはソフトウェアエンティティです。Solaris DHCP クライアントは、そのネットワーク構成を DHCP サーバーから受け取るように構成されているシステムの Solaris オペレーティング環境で動作するデーモン (dhcpagent) です。他のベンダーの DHCP クライアントも Solaris DHCP サーバーのサービスを使用することができます。ただし、この節では Solaris DHCP クライアントについてのみ説明します。

この節の説明では 1 つのネットワークインタフェースを想定していることに注意してください。複数のネットワークインタフェースを備えた DHCP クライアントシステム では、2 つ以上のネットワークインタフェースを備えたホストの重要な問題について説明しています。

DHCP クライアントのインストール

Solaris DHCP クライアントは、Solaris オペレーティング環境のインストール時に、DHCP を使用してネットワークインタフェースを構成するように指定すると、システム上にインストールされ使用可能な状態になります。DHCP を使用するために Solaris クライアントに対して必要な作業はこれだけです。

Solaris オペレーティング環境がすでに動作しているシステムで DHCP を使ってネットワーク構成情報を取得したい場合には、Solaris DHCP クライアントの構成と構成解除 を参照してください。

DHCP クライアントの起動

dhcpagent デーモンは、システムのブートに関与する他のプロセスに必要な構成情報を取得します。 そのため、システム起動スクリプトは、ブートプロセスの初期段階に dhcpagent を起動し、DHCP サーバーからネットワーク構成情報が到着するのを待ちます。

/etc/dhcp.interface ファイル (たとえば、Sun Enterprise UltraTM システム上の /etc/dhcp.hme0) が存在していれば、起動スクリプトは、指定されたインタフェース上で DHCP が使用されることを認識します。dhcp.interface ファイルを検出すると、起動スクリプトは dhcpagent デーモンを起動します。

起動された dhcpagent は、ネットワークインタフェースの構成を行う指示を受信するまで待機します。起動スクリプトは ifconfig interface dhcp start コマンドを出して、dhcpagent に DHCP を起動するように指示します (DHCP の動作 を参照)。 dhcp.interface ファイルにコマンドが含まれている場合は、それらのコマンドが ifconfigdhcp start オプションに追加されます。dhcp オプションと共に使用されるオプションについては、ifconfig(1M) のマニュアルページを参照してください。

Solaris DHCP クライアントはネットワーク構成情報をどのように管理するか

DHCP サーバーから情報パケットが取得されると、dhcpagent はネットワークインタフェースの構成、立ち上げを行い、そのインタフェースを IP アドレスのリース期間中制御します。dhcpagent デーモンは、メモリーに保持された内部テーブル中に構成データを保持します。システム起動スクリプトは dhcpinfo コマンドを使用して dhcpagent デーモンのテーブルから構成オプションの値を抽出します。それらの値は、システムを構成し、システムがネットワークに加わることができるようにするために使用されます。

エージェントは、一定時間 (通常はリース期間の半分) が過ぎるまで何もせずに待機した後でリースの延長を DHCP サーバーに要求します。dhcpagent デーモンは、インタフェースが停止していたり、IP アドレスが変更されているのを検出すると、ifconfig から指示があるまでそのインタフェースの制御を行いません。また、dhcpagent デーモンは、インタフェースが適切に動作し、IP アドレスが変更されていないを検出すると、リースの更新要求をサーバーに送信します。リースを更新できない場合、dhcpagent デーモンはリース期間の満了時にそのインタフェースを停止します。

DHCP のクライアントの管理

通常のシステム動作時には、Solaris DHCP クライアントの管理は必要ありません。 Solaris DHCP クライアントはシステムブート時に自動的に起動し、リースについてサーバーとネゴシエートし、システムの終了時に停止します。dhcpagent デーモンを手動で起動または停止することはできません。ただし、必要な場合は、クライアントシステムのスーパーユーザーとして ifconfig コマンドを使用、クライアントにおけるネットワークインタフェースの管理に関与することができます。

DHCP クライアントで使用する ifconfigコマンドオプション

ifconfig コマンドでは、次の処理を行うことができます。

DHCP クライアント用のパラメータファイル

クライアントシステム上の /etc/default/dhcpagent ファイルには、dhcpagent デーモンに対する調整可能なパラメータが含まれています。テキストエディタを使用して、クライアントの動作に影響を与えるパラメータを変更することができます。このファイルには詳しい説明が記載されてい るので、 dhcpagent のマニュアルページと併せて、このファイルも参照してください。

DHCP クライアントのシャットダウン

DHCP を実行しているシステムが正常に停止するときは、dhcpagent デーモンが現在の構成情報を /etc/dhcp/interface.dhc ファイルに書き込みます。この場合、リースは開放されるのではなく放棄されるので、DHCP サーバーは、IP アドレスが実際には使用されていないことを認識できません。

システムのリブート時にリースがまだ有効であると、リブート前に使用していたものと同じ IP アドレスとネットワーク構成情報を使用するために、DHCP クライアントは簡略化された要求を送信します。DHCP サーバーがこれを許可した場合、クライアントはシステムの停止時にディスクに書き込んだ情報を使用することができます。サーバーがこの情報をクライアントが使用を許可しない場合は、クライアントは前述の DHCP プロトコルシーケンスを開始し、新しいネットワーク構成情報を取得します。

DHCP クライアントシステムとネームサービス

Solaris システムでは、次のネームサービスがサポートされています。 DNS、 NIS、 NIS+、およびローカルファイル (/etc/inet/hosts) これらのネームサービスを使用するためには、ある程度の事前構成が必要です。 使用するネームサービスを指定するために、ネームサービススイッチ構成ファイル (nsswitch.conf(4) を参照) を正しく設定する必要があります。

ネームサービスのクライアントとしてシステムを構成しないと、DHCP クライアントシステムでネームサービスを使用することはできません。

次の表は、DHCP に関連する問題をネームサービスごとに要約したものです。この表には、各ネームサービスに対してクライアントを設定する上で役立つマニュアルへのリンクが示されています。

表 1–4 DHCP クライアントシステムに対するネームサービスクライアント設定情報

ネームサービス  

クライアントの設定に関する注意 

NIS 

Solaris DHCP を使ってクライアントシステム上に Solaris オペレーティング環境をインストールする場合には、構成マクロに NISservs オプションと NISdmain オプションを指定すれば、NIS サーバーの IP アドレスと NIS ドメイン名をクライアントに渡すことができます。これによって、クライアントは自動的に NIS クライアントになります。

DHCP クライアントシステムで Solaris オペレーティング環境がすでに動作している場合、DHCP サーバーが NIS 情報をクライアントに送信しても、クライアントシステムが自動的に NIS クライアントとして構成されるわけではありません。 

DHCP クライアントシステムに NIS 情報を送信するように DHCP サーバーが構成されている場合には、クライアントで次の dhcpinfo コマンドを実行すれば、これらの値を見ることができます。

# /sbin/dhcpinfo NISdmain

# /sbin/dhcpinfo NISservs

NIS ドメイン名と NIS サーバーの値は、システムを NIS クライアントとして構成するときに使用します。 

Solaris DHCP クライアントシステムを NIS クライアントとして設定する場合には、『Solaris ネーミングの設定と構成』の「NIS サービスの構成」に示されている標準的な方法を使います。


注 –

スクリプトを作成すれば、dhcpinfoypinit を使って、DHCP クライアントシステムにおける NIS クライアントの構成を自動的に行うことができます。


NIS+ 

予約されていない IP アドレス (アドレスは常に同じであるとは限らない) を DHCP クライアントシステムが受け取る場合には、非標準的な方法で DHCP クライアントシステムを NIS+ クライアントとして設定する必要があります。これについては、NIS+ クライアントとしての DHCP クライアントの設定を参照してください。この手順が必要な理由は、NIS+ ではサービス要求を認証するためのセキュリティ手段が使用されるためです。セキュリティ手段は IP アドレスによって異なります。

DHCP クライアントシステムに IP アドレスが手動で割り当てられている (クライアントのアドレスは常に同じ) 場合には、NIS+ クライアントを標準的な方法で設定できます。これについては、『Solaris ネーミングの設定と構成』の「NIS+ クライアントの構成」を参照してください。

/etc/inet/hosts

ネームサービスとして /etc/inet/hosts を使用する DHCP クライアントシステムには、/etc/inet/hosts ファイルを設定する必要があります。

DHCP クライアントシステム自身の /etc/inet/hosts ファイルには、そのホスト名が DHCP ツールによって追加されます。 ただし、同じネットワークにある他のシステムの /etc/inet/hosts ファイルには、このホスト名を手動で追加する必要があります。さらに、DHCP サーバーシステムが名前を解決するために /etc/inet/hosts を使用する場合は、このシステムにもクライアントのホスト名を手動で追加する必要があります。

DNS  

DHCP クライアントシステムが DNS ドメイン名を DHCP から取得する場合には、クライアントシステムの /etc/resolv.conf ファイルは自動的に構成されます。/etc/inet/hosts ファイルを使用するシステムで DNS を実際に使用するためには、/etc/nsswitch.conf ファイルの hosts 行に dns を追加する必要があります。これについては、『Solaris ネーミングの設定と構成』を参照してください。

クライアントシステムでローカル名の解決に NIS または NIS+ を使用する場合は、次の点に注意してください。  

  • NIS – NIS サーバーで DNS 転送が可能な場合は (デフォルトでは可能)、NIS クライアントシステムでも DNS を使用できます。 この場合には、DNS クライアントとしての設定は必要ありません。NIS サーバーで DNS 転送が可能でない場合は、DNS クライアントになると、クライアントシステムで DNS を使用することができます。DNS クライアントになる方法については、『Solaris ネーミングの設定と構成』の「DNS クライアントの構成」を参照してください。クライアントが DNS ドメイン名を DHCP サーバーから取得する場合には、DNS クライアントに必要な /etc/resolv.conf ファイルは自動的に構成されます。したがって、この場合には、nsswitch.conf ファイルの構成だけが必要です。

  • NIS+ – nsswitch.conf ファイルを編集すれば、DNS を使用するように NIS+ クライアントシステムを構成することができます。編集方法については、『Solaris ネーミングの設定と構成』の「/etc/nsswitch.conf ファイルの修正」を参照してください。

クライアントホスト名の登録

DHCP サービスで使用する IP アドレスのホスト名を DHCP サーバーが生成するようにすると、DHCP サーバーがこれらのホスト名を NIS+、/etc/inet/hosts、または DNS ネームサービスに登録できます。 ホスト名の登録を NIS で行うことはできません。NIS には、NIS マップの更新や伝達をプログラムで行うためのプロトコルが備わっていないからです。


注 –

DNS サーバーと DHCP サーバーが同じシステムで動作している場合のみ、DHCP サーバーは、生成したホスト名を DNS に登録することができます。


DHCP クライアントがそのホスト名を指定し、DHCP サーバーが動的な更新をすることができるように DNS サーバーが構成されている場合には、DNS サーバーと DHCP サーバーが異なるシステムで動作していても、DHCP サーバーがクライアントに代わって DNS を更新することができます。この機能の使用方法については、DHCP サーバーによる動的 DNS 更新の有効化 を参照してください。

次の表は、DHCP クライアントシステムのホスト名の登録についてネームサービスごとに示したものです。

表 1–5 ネームサービスへのクライアントホスト名の登録

 

ホスト名を登録する人またはもの 

ネームサービス 

DHCP が生成したホスト名 

DHCP クライアントが指定したホスト名 

NIS 

NIS 管理者 

NIS 管理者 

NIS+ 

DHCP ツール 

DHCP ツール 

/etc/inet/hosts

DHCP ツール 

DHCP ツール 

DNS 

DHCP ツール (DNS サーバーが DHCP サーバーと同じシステムで動作している場合) 

DNS 管理者 (DNS サーバーが異なるシステムで動作している場合) 

DHCP サーバー (動的 DNS 更新が可能に構成されている場合) 

DNS 管理者 (DHCP サーバーがそのように構成されていない場合) 

Solaris DHCP クライアントは、DHCP 要求に特定のホスト名を指定できます。ただし、DHCP クライアントがそのように構成されている必要があります。構成方法については、特定のホスト名に応答するように Solaris クライアントを有効にする方法を参照してください。Solaris 以外のクライアントでこの機能がサポートされているかどうかについては、それぞれのマニュアルを参照してください。

複数のネットワークインタフェースを備えた DHCP クライアントシステム

DHCP クライアントデーモンは、それぞれが独自の IP アドレスとリース期間を持つ、複数のインタフェースを、1 つのシステム上で同時に管理することができます。DHCP に対して複数のネットワークインタフェースが構成されている場合、クライアントはそれらのインタフェースを構成するために個別の要求を発行し、各インタフェースに対して個別のネットワーク構成オプションのセットを維持します。この場合、パラメータは個別に保存されますが、パラメータの中にはその性質上広域的なものがあります。そのようなパラメータは、特定のネットワークインタフェースではなく、システム全体に適用されます。

たとえば、ホスト名、NIS ドメイン名、時間帯などのオプションは広域パラメータであり、各インタフェースに対して同じ値を取ります。ただし、DHCP 管理者が入力した情報に誤りがあるために、これらの値が異なっている場合があります。広域パラメータの問い合わせに対して応答が 1 つだけ返されるようにするために、一次ネットワークインタフェース用のパラメータだけが要求されます。一次インタフェースとして取り扱いたいインタフェースには、/etc/dhcp.interface ファイルに primary という語を挿入することができます。