Solaris のシステム管理 (IP サービス)

DHCP のオプション

従来、DHCP のオプション情報は、サーバーの dhcptab テーブルやクライアントの dhcptags ファイル、さらにさまざまなプログラムの内部テーブルなど、複数の場所に格納されてきました。そのため、Solaris 8 以降のリリースでは、すべてのオプション情報が /etc/dhcp/inittab ファイルに統合されています。ファイルの詳細については、dhcp_inittab(4) のマニュアルページを参照してください。

Oracle Solaris DHCP クライアントでは、dhcptags ファイルの代わりに DHCP の inittab ファイルを使用します。クライアントは、DHCP パケットの一部としてオプションコードを受け取ると、その情報をこのファイルから取得します。DHCP サーバーの in.dhcpdsnoopdhcpmgr プログラムでもこの inittab ファイルを使用します。

サイトが影響を受けるかどうかの判別

Oracle Solaris DHCP を使用するほとんどのサイトは、/etc/dhcp/inittab ファイルへの切り替えによる影響を受けません。影響を受けるのは、次の条件がすべて当てはまるサイトだけです。

アップグレードを行うと、dhcptags ファイルが変更されたために DHCP inittab ファイルを変更する必要があることを示すメッセージがアップグレードログに書き込まれます。

dhcptags ファイルと inittab ファイルの違い

inittab ファイルには、dhcptags ファイルよりも多くの情報が含まれています。さらに、inittab ファイルでは、異なる構文が使用されます。

次に、dhcptags のエントリ例を示します。

33 StaticRt - IPList Static_Routes

33 は DHCP パケットで渡される数値コードです。StaticRt はオプション名です。IPList は、StaticRt のデータタイプが一連の IP アドレスでなければならないことを示します。Static_Routes は記述名です。

inittab ファイルは、これらのオプションを 1 行で表した複数のレコードから構成されています。形式は、dhcptab のシンボルを定義する形式と似ています。次の表に、inittab ファイルの構文について説明します。

オプション

説明

option-name

オプションの名前。オプション名は、そのオプションのカテゴリ内部で一意である必要があります。また、Standard、Site、Vendor のカテゴリにある、ほかのオプション名と重複できません。たとえば、同じ名前を持つ Site オプションを 2 つ持つことはできず、Standard のオプションと同じ名前の Site のオプションは作成できません。

category

オプションが所属する名前空間を特定します。次のいずれかである必要があります。 Standard、Site、Vendor、Field、または Internal。

code

オプションがネットワーク経由で送信されたときにそのオプションを特定します。多くの場合、カテゴリがなくてもコードはオプションを一意に特定します。ただし、Field や Internal などの内部カテゴリの場合は、コードがほかの目的に使用される場合があります。コードは、広域的に一意でない場合があります。コードは、オプションのカテゴリ内部では一意であることが必要で、Standard と Site のフィールドにあるコードと重複することはできません。

type

このオプションと関連するデータを記述します。有効なタイプは、IP、ASCII、Octet、Boolean、Unumber8、Unumber16、Unumber32、Unumber64、Snumber8、Snumber16、Snumber32、および Snumber64 です。数値の場合、先頭の U や S は、数値が符号なしか符号ありかを示します。終わりの数字は、数値にいくつのビットが含まれているかを表します。たとえば、Unumber8 は無符号の 8 ビット数値を表します。タイプには、大文字小文字の区別はありません。

granularity

このオプションの値を構成するデータ単位数を記述します。

maximum

このオプションに指定可能な値の個数を記述します。0 は、無限大の数を表します。

consumers

この情報を使用できるプログラムを記述します。これには次の sdmi を指定します。

s

snoop

d

in.dhcpd

m

dhcpmgr

i

dhcpinfo

次に inittab エントリの例を示します。

StaticRt - Standard, 33, IP, 2, 0, sdmi

このエントリは、オプションが StaticRt という名前で、Standard カテゴリに属し、オプションコード 33 であることを示します。これで表されるデータは、理論上無数の IP アドレスの組です。なぜなら、タイプが IP、データ単位が 2、最大が無限 (0) だからです。このオプションを利用するのは sdmi: snoopin.dhcpddhcpmgrdhcpinfo です。

dhcptags エントリの inittab エントリへの変換

以前に dhcptags ファイルにエントリを追加している場合は、対応するエントリを新しい inittab ファイルにも追加する必要があります。ただし、以前に追加したオプションを使用しない場合は不要です。次の例では、dhcptags エントリの例を inittab フォーマットで表す方法を示しています。

ネットワークに接続されたファックスについて、次の dhcptags エントリを追加したと想定してください。

128 FaxMchn - IP Fax_Machine

コード 128 は、オプションが Site カテゴリに属していなければならないことを示します。オプション名は FaxMchn、データタイプは IP です。

対応する inittab エントリは次のとおりです。

FaxMchn SITE, 128, IP, 1, 1, sdmi

データ単位数が 1、指定可能な値の数が 1 なので、このオプションには 1 つの IP アドレスを指定することを表しています。