スポンサーリンク

dhcpd-options

名称
解説
リファレンス : オプション文
式を用いたオプション値の設定
標準 DHCP オプション
リレーエージェント情報オプション
クライアント FQDN サブオプション
NetWare/IP サブオプション
新規オプションの定義
ベンダカプセル化オプション
関連項目
作者

名称

dhcp-options - 動的ホスト構成プロトコルのオプション

解説

動的ホスト構成プロトコル (DHCP: Dynamic Host Configuration Protocol) を 使用することにより、クライアントは DHCP サーバから、ネットワーク設定 や ネットワーク上で利用可能な様々なサービスについて記述している オプション を受け取ることができます。 dhcpd(8)dhclient(8) を設定するときに、し ば しばオプションを宣言する必要があるでしょう。ここでは、オプションを宣 言する文法、そして宣言可能なオプションの名前と書式を文書化しています。

リファレンス : オプション文

DHCP option 文は、常にキーワード option で開始し、単一のオプション名 が 続 き、オプションデータが続きます。オプションの名前とデータの書式は後述 します。すべての DHCP オプションを網羅的に指定する必要はなく、クライ ア ントに必要なオプションのみを指定します。

オプションデータには、次のように様々な書式があります:

ip-address データタイプは、明示的な IP アドレス (例えば 239.254.197.10) またはドメイン名 (例えば haagen.isc.org) のどちらでも指定可能です。ドメ イ ン名で指定する場合、そのドメイン名を解決すると単一の IP アドレスにな るようにしてください。

int32 データタイプは符号付き 32 ビット整数を指定します。 uint32 デー タ タイプは符号無し 32 ビット整数を指定します。 int16 および uint16 のデー タタイプは、符号付きおよび符号無しの 16 ビット整数を指定しま す。 int8 お よび uint8 のデータタイプは、符号付きおよび符号無しの 8 ビット整数を 指定します。符号無し 8 ビット整数は、オクテットと呼ばれることもあ り ま す。

text データタイプは NVT ASCII 文字列を指定します。文字列はダブルクォー トで括る必要があります。例えば root-path オプションを指定する文法は、次 のようになります。

option root-path "10.0.1.4:/var/tmp/rootfs";

domain-name データタイプはドメイン名を指定します。文字列をダブルクォー トで括っていけません。このデータタイプは、他の既存の DHCP オプション に は使われません。ドメイン名は、text オプションであるかのように保持されま す。

flag データタイプはブール値を指定します。ブール値は true また は false の いずれかです (もしくは、on または off の方が分かりやすければ、こちら でもかまいません)。

string データタイプは、ダブルクォートで括られる NVT ASCII 文字列か、 コ ロ ン 区 切りの 16 進数で指定されるオクテットの連続のいずれかを指定しま す。例えば次のようになります:

  option dhcp-client-identifier "CLIENT-FOO";
もしくは
  option dhcp-client-identifier 43:4c:49:45:54:2d:46:4f:4f;

式を用いたオプション値の設定

クライアントが送出するいくつかの値を、DHCP オプションの値を設定するのに 使 え る と便利なことがあります。これをするには式の評価が利用できます。 dhcp-eval(5) マニュアルページに式の書き方が述べられています。評価の結果 をオプションに代入するには、オプションを次のように定義します:

  option my-option = expression ;

例えば次のようにします:

  option hostname = binary-to-ascii (16, 8, "-",
                                     substring (hardware, 1, 6));

標準 DHCP オプション

次 に示す様々なオプションに関する記述は、 DHCP オプションに関する最新の IETF ドラフト文書からのものです。名前が掲載されていないオプションは、ま だ 実装されていないかもしれませんが、設定ファイルに定義することで、その ようなオプションを使えるかもしれません。詳しくは、この先の「新 規 オ プ ションの定義」から続く記述を参照してください。

ここに記述されているオプションのうちのいくつかは、DHCP サーバもしくはク ライアントによって自動的に生成されるもので、ユーザには設定できませ ん。 そ のようなオプションの値は、受信側の DHCP プロトコルエージェント (サー バもしくはクライアント) の設定ファイル中の、例えば条件式などで使われ ま す。 しかしこのオプションの値は、送信側のエージェントの設定ファイル中で は使われることはありません。というのも、その値は、設定ファイルが処理 さ れ た後に決定されるからです。以降の記述において、そのようなオプションに は「ユーザが設定することはできません」と記されます。

標準オプションを示します:

option all-subnets-local flag;

本オプションは、クライアントが接続されている IP ネットワークの全サブ ネッ トが使用する MTU が、クライアントが直接接続されているサブネット の MTU と同じであると、クライアントが仮定してよいかを指定します。 値 true は、全サブネットは同一の MTU であることを意味します。値 false は、直接接続されているネットワークのサブネットには、より小さ な MTU を持つものがあると、クライアントが仮定すべきであることを意味します。

option arp-cache-timeout uint32;

本オプションは、ARP キャッシュエントリのタイムアウトを秒数で指定しま す。

option bootfile-name text;

本オプションは、起動ファイルを指定するために使用します。クライアント によってサポートされている場合、これは filename 宣言と同じ効果を持ち ま す。 BOOTP クライアントで、このオプションをサポートしているものは 少ないでしょう。 DHCP クライアントによってはサポートするものがあり、 実際必須としているものがあります。

option boot-size uint16;

本オプションは、クライアント用のデフォルトのブートイメージの長さを、 512 オクテットブロック数で指定します。

option broadcast-address ip-address;

本オプションは、クライアントのサブネットで使用されているブロードキャ ス トアドレスを指定します。正当なブロードキャストアドレスの値は、STD 3 (RFC1122) の 3.2.1.3 節に規定されています。

option cookie-servers ip-address [, ip-address... ];

クッキーサーバオプションは、クライアントが利用可能な RFC 865 クッ キーサーバのリストを指定します。サーバは、優先されるものから順にリス トしてください。

option default-ip-ttl uint8;

本オプションは、クライアントがデータグラムを送出するときに使用 す べ き、デフォルトの生存時間 (TTL) を指定します。

option default-tcp-ttl uint8;

本 オプションは、クライアントが TCP セグメントを送出するときに使用す べき、デフォルトの TTL を指定します。最小値は 1 です。

option dhcp-client-identifier string;

本オプションを使って、ホスト宣言中で DHCP クライアント識別子を指定す る こ とができます。このクライアント識別子で照合を行うことで、 dhcpd はそのホストのレコードを発見することができます。

DHCP クライアントの中には、ASCII テキストによってクライアント識別 子 が設定された場合、その ASCII テキストの先頭に 0 をつけるものがあるこ とに注意してください。その場合、

option dhcp-client-identifier "foo";

ではなく、以下のように記述する必要があるでしょう。

option dhcp-client-identifier "\0foo";

option dhcp-lease-time uint32;

本オプションは、クライアント要求 (DHCPDISCOVER また は DHCPREQUEST) の中で、クライアントが IP アドレスのリース時間を要求するために使用さ れます。またサーバ応答 (DHCPOFFER) の中で、DHCP サーバが提示し た い リース時間を指定するのにも、このオプションは使われます。

本 オ プ ショ ンは、サーバではユーザが直接設定することはできません。 dhcpd.conf(5)max-lease-timedefault-lease-time サーバオプショ ンを参照してください。

option dhcp-max-message-size uint16;

本オプションは、クライアントから送出された場合、サーバがクライアント に送出するすべての応答の最大サイズを指定します。サーバで設定された場 合、 ク ラ イアントが dhcp-max-message-size オプションを送信してこな かった際に、このサーバで設定された値が使用されます。これは、BOOTP 応 答でも DHCP 応答と同様に動作します。

option dhcp-message text;

本オプションは、障害が起きた時に、DHCP サーバが DHCPNAK メッセージ中 で DHCP クライアントへエラーメッセージを提供するのに使用します。また ク ラ イ ア ントが、提示されたパラメータを拒否した理由を示すために、 DHCPDECLINE メッセージ中で本オプションを使うこともあります。

本オプションは、ユーザが設定することはできません。

option dhcp-message-type uint8;

本オプションは、クライアントとサーバの両者から送出され、 DHCP パケッ トが含んでいる DHCP メッセージのタイプを指定します。本オプションが取 り得る値は、以下のとおりです (RFC2132 よりそのまま抜粋)。

             1     DHCPDISCOVER
             2     DHCPOFFER
             3     DHCPREQUEST
             4     DHCPDECLINE
             5     DHCPACK
             6     DHCPNAK
             7     DHCPRELEASE
             8     DHCPINFORM

本オプションは、ユーザが設定することはできません。

option dhcp-option-overload uint8;

本オプションは、DHCP ’sname’ もしくは ’file’ フィールドが、 DHCP オ プションを保持するために詰め込み過ぎになっていることを示すのに使われ ます。 DHCP サーバは、返却されたパラメータが、オプションに通常割り当 てられた空間を超過した場合、本オプションを挿入します。

本オプションが存在した場合、クライアントは、標準のオプションフィール ドの解釈が終了した後、指定された付加フィールドの解釈を行います。

本オプションの正当な値は、以下の通りです:

             1   ’file’ フィールドが、オプション保持に使用されてます
             2   ’sname’ フィールドが、オプション保持に使用されてます
             3   両方のフィールドが、オプション保持に使用されてます

本オプションは、ユーザが設定することはできません。

option dhcp-parameter-request-list uint16;

本オプションは、クライアントから送出された場合、サーバに返答を希望す るオプションをクライアントが指定します。通常 ISC DHCP クライアントで は、request 文を用いて行われます。本オプションがクライアントから指定 されなかった場合、通常 DHCP サーバは、スコープ内で有効かつ応答に収ま るすべてのオプションを返します。本オプションがサーバ上で指定された場 合、サーバはその指定されたオプションを返します。これは、クライアント が要求しなかったオプションを、クライアントに強制するのに使用さ れ ま す。また、通常サーバが返すオプションのセットをさらに制限する必要のあ るクライアントに対して、DHCP サーバの応答を調整するのにも使用され ま す。

option dhcp-rebinding-time uint32;

本 オプションは、クライアントがアドレスを取得してから REBINDING 状態 に移行するまでの時間を秒数で指定します。

本オプションは、ユーザが設定することはできません。

option dhcp-renewal-time uint32;

本オプションは、クライアントがアドレスを取得してから RENEWING 状態に 移行するまでの時間を秒数で指定します。

本オプションは、ユーザが設定することはできません。

option dhcp-requested-address ip-address;

本 オプションは、クライアントが、DHCPDISCOVER 内で特定の IP アドレス が割り当てられることを要求するのに使用されます。

本オプションは、ユーザが設定することはできません。

option dhcp-server-identifier ip-address;

本オプションは、DHCPOFFER と DHCPREQUEST メッセージ中で使用され、 ま た DHCPACK と DHCPNAK メッセージ中にも含まれることがあります。 DHCP サーバは、クライアントが (訳注: 複数サーバからの) リースの提示を区別 で き るよう、DHCPOFFER に本オプションを含めます。 DHCP クライアント は、DHCP サーバへユニキャストするすべての DHCP メッセージの宛先ア ド レ ス と して ’server identifier’ フィールドの内容を使用します。また DHCP クライアントは、DHCPREQUEST メッセージ中に本オプションを含 め、 複数のリースの提示のどれを受け入れたかを示します。

本オプションの値は、サーバの IP アドレスです。

本オプションは、ユーザが直接設定することはできません。 dhcpd.conf(5)server-identifier サーバオプションを参照してください。

option domain-name text;

本オプションは、ドメインネームシステムを使用してホスト名を解決すると きにクライアントが使用すべきドメイン名を指定します。

option domain-name-servers ip-address [, ip-address... ];

domain-name-servers オプションは、クライアントが利用可能なドメイン ネームシステム (STD 13, RFC 1035) のネームサーバのリストを指定 し ま す。サーバは、優先されるものから順にリストしてください。

option extensions-path text;

本 オ プションは、追加オプションを含むファイルのファイル名を指定しま す。この追加オプションは、RFC2132 で規定されている DHCP オプションの 書式に沿って解釈されます。

option finger-server ip-address [, ip-address... ];

Finger サーバオプションは、クライアントが利用可能な Finger サーバの リストを指定します。サーバは、優先されるものから順にリストしてくださ い。

option font-servers ip-address [, ip-address... ];

本 オ プ ションは、クライアントが利用可能な X Window System フォント サーバを指定します。サーバは、優先されるものから順にリストしてくださ い。

option host-name string;

本オプションは、クライアントの名前を指定します。この名前は、ローカル ドメイン名に修飾されていても、いなくてもかまいません (ドメイン名を指 定 するには、domain-name オプションの使用をお勧めします)。文字集合の 制約については RFC 1035 を参照してください。クライアントマシンのホス ト名が設定されていない場合 (すなわち rc.conf(5) で空文字列に設定され ている場合) のみ、 dhclient-script(8) が本オプションを尊重します。

option ieee802-3-encapsulation flag;

本オプションは、インタフェースがイーサネットである場合に、クライアン トがイーサネットバージョン 2 (RFC 894) と IEEE 802.3 (RFC 1042) のど ちらのカプセル化を使用すべきかを指定します。値 false は、クライア ン トが RFC 894 のカプセル化を使用すべきであることを意味します。値 true は、クライアントが RFC 1042 のカプセル化を使用すべきであることを意味 します。

option ien116-name-servers ip-address [, ip-address... ];

ien116-name-servers オプションは、クライアントが利用可能な IEN 116 ネームサーバのリストを指定します。サーバは、優先されるものから順にリ ストしてください。

option impress-servers ip-address [, ip-address... ];

impress-server オプションは、クライアントが利用可能な Imagen Impress サーバのリストを指定します。サーバは、優先されるものから順にリストし てください。

option interface-mtu uint16;

本 オ プ ションは、このインタフェースに対して使用する MTU を指定しま す。 MTU に対する最小の正当値は 68 です。

option ip-forwarding flag;

本オプションは、クライアントが、パケットを転送するように自分の IP 層 を 設定すべきかを指定します。値 false は IP 転送を無効にすることを意 味し、値 true は IP 転送を有効にすることを意味します。

option irc-server ip-address [, ip-address... ];

IRC サーバオプションは、クライアントが利用可能な IRC サーバのリス ト を指定します。サーバは、優先されるものから順にリストしてください。

option log-servers ip-address [, ip-address... ];

log-server オプションは、クライアントが利用可能な MIT-LCS UDP ログ サーバのリストを指定します。サーバは、優先されるものから順にリストし てください。

option lpr-servers ip-address [, ip-address... ];

LPR サーバオプションは、クライアントが利用可能な RFC 1179 ラインプリ ンタサーバのリストを指定します。サーバは、優先されるものから順にリス トしてください。

option mask-supplier flag;

本 オプションは、ICMP を使用したサブネットマスク要求に対して、クライ アントが応答すべきかを指定します。値 false は、クライアントが応答 す べきでないことを意味します。値 true は、クライアントが応答すべきであ ることを意味します。

option max-dgram-reassembly uint16;

本オプションは、クライアントが再組み立ての準備をすべき最大データグラ ムサイズを指定します。最小の正当値は 576 です。

option merit-dump text;

本オプションは、クライアントがクラッシュするときのクライアントのコア イメージがダンプされるファイルのパス名を指定しま す。 パ ス の 書 式 は、NVT ASCII 文字集合の文字からなる文字列です。

option mobile-ip-home-agent ip-address [, ip-address... ];

本オプションは、クライアントが利用可能なモバイル IP ホームエージェン トの IP アドレスのリストを指定します。エージェントは、優先されるもの か ら 順 にリストしてください。ただし、通常エージェントは 1 つでしょ う。

option nds-context string;

nds-context オプションは、NDS クライアントのための 最 初 の NetWare ディレクトリサービスの名前を指定します。

option nds-servers ip-address [, ip-address... ];

nds-servers オプションは、NDS サーバの IP アドレスのリストを指定しま す。

option nds-tree-name string;

nds-tree-name オプションは、NDS クライアントが使用すべき NDS ツ リー の名前を指定します。

option netbios-dd-server ip-address [, ip-address... ];

NetBIOS データグラム配布サーバ (NBDD) オプションは、 RFC 1001/1002 の NBDD サーバのリストを、優先されるものから順に指定します。

option netbios-name-servers ip-address [, ip-address...];

NetBIOS ネームサーバ (NBNS) オプションは、 RFC 1001/1002 の NBNS ネー ム サー バ のリストを、優先されるものから順に指定します。現在で は、NetBIOS ネームサービスは WINS と呼ばれることの方が 多 い で す。 netbios-name-servers オプションを使用して、WINS サーバを指定可能で す。

option netbios-node-type uint8;

NetBIOS ノードタイプオプションは、設定可能な NetBIOS over TCP/IP ク ラ イアントを、 RFC 1001/1002 に記述されているように設定します。値は 単一のオクテットとして指定され、クライアントタイプを意味します。

使用可能なノードタイプは次の通りです:

1

B ノード: ブロードキャスト - WINS 無し

2

P ノード: ピア - WINS のみ

4

M ノード: ミックス - ブロードキャスト後に WINS

8

H ノード: ハイブリッド - WINS 後にブロードキャスト

option netbios-scope string;

NetBIOS スコープオプションは、RFC 1001/1002 に規定されているように、 ク ライアントの NetBIOS over TCP/IP スコープパラメータを指定します。 文字集合の制約については RFC1001, RFC1002, RFC1035 を参照してくだ さ い。

option nis-domain text;

本 オ プ ショ ン は、 ク ラ イ アントの NIS (Sun Network Information Services) ドメインを指定します。ドメインの書式は、NVT ASCII 文字集合 の文字からなる文字列です。

option nis-servers ip-address [, ip-address... ];

本 オプションは、クライアントが利用可能な NIS サーバを示す IP アドレ スのリストを指定します。サーバは、優先されるものから順にリストしてく ださい。

option nisplus-domain text;

本オプションは、クライアントの NIS+ ドメインの名前を指定します。ドメ インの書式は、NVT ASCII 文字集合の文字からなる文字列です。

option nisplus-servers ip-address [, ip-address... ];

本オプションは、クライアントが利用可能な NIS+ サーバを示す IP アドレ スのリストを指定します。サーバは、優先されるものから順にリストしてく ださい。

option nntp-server ip-address [, ip-address... ];

NNTP サーバオプションは、クライアントが利用可能な NNTP サーバのリ ス トを指定します。サーバは、優先されるものから順にリストしてください。

option non-local-source-routing flag;

本オプションは、非ローカルな指定経路 (non-local source route) を持つ データグラムを転送するように、クライアントが自分の IP 層を設定すべき かを指定します (本項目については [4] の 3.3.5 節を参照し て く だ さ い)。 値 false はそのようなデータグラムの転送を許可しないことを意味 し、値 true は転送許可を意味します。

option ntp-servers ip-address [, ip-address... ];

本オプションは、クライアントが利用可能な NTP (RFC 1035) サーバを示す IP アドレスを指定します。サーバは、優先されるものから順にリストして ください。

option nwip-domain string;

NetWare/IP クライアントが使用すべき NetWare/IP ドメインの名前です。

option nwip-suboptions string;

NetWare/IP クライアント用のサブオプションのシーケンスです。詳しく は RFC2242 を参照してください。通常、本オプションは特定の NetWare/IP サ ブオプションを指定することで設定されます。さらなる情報は「NetWare/IP サブオプション」の章を参照してください。

option path-mtu-aging-timeout uint32;

本 オ プションは、RFC 1191 で定義される機構で発見されたパス MTU 値の エージングに使用するタイムアウト (秒単位) を指定します。

option path-mtu-plateau-table uint16 [, uint16... ];

本オプションは、RFC 1191 で定義される パ ス MTU 探 索 (Path MTU Discovery) 実施時に使用される MTU のサイズの表を指定します。表の書式 は、最小から順に最大までの、16 ビット符号無し整数のリストです。最 小 MTU は 68 より小さくてはなりません。

option perform-mask-discovery flag;

本オプションは、クライアントが ICMP を使用してサブネットマスク探索を 実施すべきかを指定します。値 false は、クライアントがマスク探索を 実 施すべきでないことを意味します。値 true は、クライアントがマスク探索 を実施すべきであることを意味します。

option policy-filter ip-address ip-address
                  [, ip-address ip-address...];

本オプションは、非ローカルな指定経路制御に対するポリシフィルタを指定 し ます。フィルタは、IP アドレスとマスクの組のリストからなり、到着す る指定経路制御されたデータグラム用のフィルタとなる宛先/マスクの組 を 指定します。

次 ホッ プアドレスがフィルタのいずれにも適合しない指定経路制御された データグラムは、クライアントが破棄すべきです。

さらなる情報は STD 3 (RFC1122) を参照してください。

option pop-server ip-address [, ip-address... ];

POP3 サーバオプションは、クライアントが利用可能な POP3 サーバのリ ス トを指定します。サーバは、優先されるものから順にリストしてください。

option resource-location-servers ip-address [, ip-address...];

本オプションは、クライアントが利用可能な RFC 887 リソースロケー ショ ンサーバのリストを指定します。サーバは、優先されるものから順にリスト してください。

option root-path text;

本オプションは、クライアントのルートディスクが含まれるパス名を指定し ます。パスの書式は、NVT ASCII 文字集合の文字からなる文字列です。

option router-discovery flag;

本 オ プションは、RFC 1256 で定義されるルータ探索 (Router Discovery) 機構を使用して、ルータを要請すべきかを指定します。値 false は、ク ラ イアントがルータ探索を実施すべきでないことを意味します。値 true は、 クライアントはルータ探索を実施すべきであることを意味します。

option router-solicitation-address ip-address;

本オプションは、クライアントのルータ要請の送出先アドレスを指定 し ま す。

option routers ip-address [, ip-address... ];

routers オプションは、クライアントのサブネット上にあるルータの IP ア ドレスのリストを指定します。ルータは、優先されるものから順にリストし てください。

option slp-directory-agent boolean ip-address [, ip-address... ];

本オプションは、2 つの項目を指定します: 1 つ以上のサービスロケーショ ンプロトコルディレクトリエージェ ン ト (Service Location Protocol Directory Agent) の IP アドレスと、これらのアドレスの使用が強制的か どうかです。最初のブール値が true であれば、SLP エージェントは、ただ 与えられた IP アドレスのみを使用すべきです。値が false であれば、SLP エージェントは、SLP エージェントの能動的もしくは受動的なマルチキャス ト 探索を追加で行っても構いません (詳しくは RFC2165 を参照してくださ い)。

本オプションと slp-service-scope オプションにおいて、「SLP エー ジェ ン ト」とは、DHCP プロトコルを用いて設定されたマシン上で動作している サービスロケーションプロトコルエージェントを指していることに注意して ください。

また、いくつかの企業は SLP を NDS と呼んでいることも気を付けてくださ い。もし NDS ディレクトリエージェントがあり、そのアドレスを設定す る 必 要がある場合は、 slp-directory-agent オプションが利用できるはずで す。

option slp-service-scope boolean text;

サービスロケーションプロトコルのサービススコープオプションは、 2 つ の項目を指定します: SLP 用のサービススコープのリストと、このリストの 使用が強制的かどうかです。最初のブール値が true であれば、SLP エー ジェントは、本オプションにより提供されるスコープのリストのみを使用す べきです。そうでなければ、このオプションで提供されるリストに優 先 し て、それぞれの固有的の設定を使っても構いません。

text 文字列は、SLP エージェントが使用すべきスコープの、コンマ区切り のリストとしてください。これは省略可能で、その場合 SLP エージェン ト は、自分が知っているすべてのディレクトリエージェントのスコープの一括 リストを使います。

option smtp-server ip-address [, ip-address... ];

SMTP サーバオプションは、クライアントが利用可能な SMTP サーバのリ ス トを指定します。サーバは、優先されるものから順にリストしてください。

option static-routes ip-address ip-address
                  [, ip-address ip-address...];

本オプションは、クライアントが経路キャッシュに組み込むべき静的経路の リ ス トを指定します。同じ宛先に対して複数の経路が指定されている場合 は、優先度が低くなる順序でリストされます。

経路は IP アドレスの組のリストからなります。最初のアドレスは宛先アド レ ス で あり、 2 番目のアドレスはその宛先に対するルータのアドレスで す。

デフォルト経路 (0.0.0.0) は、静的経路に対しては不正な宛先 で す。 デ フォ ルト経路を指定するには、 routers オプションを使用してください。 また、本オプションは、クラスレスな IP 経路制御を意図したものではない ことに注意して下さい。これはサブネットマスクを含んでいません。現在、 クラスレスな IP 経路制御は、もっとも広く展開されている経路制御標準な の で、本オプションは実質的に無意味です。そして、マイクロソフト DHCP クライアントをはじめとするよく知られた DHCP クライアントには実装され ていません。

option streettalk-directory-assistance-server ip-address
                                           [, ip-address...];

StreetTalk Directory Assistance (STDA) サーバオプションは、クライア ントが利用可能な STDA のリストを指定します。サーバは、優先されるもの から順にリストしてください。

option streettalk-server ip-address [, ip-address... ];

StreetTalk サーバオプションは、クライアントが利用可能な StreetTalk のリストを指定します。サーバは、優先されるものから順にリストしてくだ さい。

option subnet-mask ip-address;

サ ブ ネットマスクオプションは、RFC 950 に従って、クライアントのサブ ネットマスクを指定します。スコープ中のどこにもサブネットマスク オ プ ションが指定されていない場合、最終手段として、dhcpd は、アドレスを割 り当てようとしているネットワークのサブネット宣言から、サブネットマス クを使用します。しかし、アドレスを割り当てようとしているネットワーク のスコープ中の どのようなサブネットマスクオプション宣言であって も、 サブネット宣言で指定されたサブネットマスクに優先します。

option subnet-selection string;

( 要求が出されたサブネットにつながれたリレーサーバのアドレスに基づい て) 通常選択されるであろうものではないサブネットのアドレスが必要な場 合、 クライアントが送出します。 RFC3011 を参照してください。このサー バにおいて使われるオプションナンバは 118 です。このナンバは以前か ら ずっと定義されていたナンバではなく、違う値を使用するクライアントも存 在することに注意してください。このオプションの使用は少々実験的である と考えるべきでしょう!

本オプションは、サーバではユーザが設定することはできません。

option swap-server ip-address;

本オプションは、クライアントのスワップサーバの IP アドレスを指定しま す。

option tcp-keepalive-garbage flag;

本オプションは、古い実装との互換性のために、ゴミのオクテットと 一 緒 に、 TCP キープアライブメッセージをクライアントが送るべきかを指定し ます。値 false は、ゴミのオクテットを送るべきでないことを意 味 し ま す。値 true は、ゴミのオクテットを送るべきであることを意味します。

option tcp-keepalive-interval uint32;

本オプションは、クライアントの TCP がキープアライブ (keepalive) メッ セージを TCP 接続上に送信する前に待つべき間隔 (秒単位) を指 定 し ま す。 時 間 は 32 ビット符号無し整数で指定します。値 0 は、アプリケー ションが明示的に要求しない限り、クライアントが接続上にキープアライブ メッセージを生成すべきでないことを意味します。

option tftp-server-name text;

本 オ プションは TFTP サーバを指定するのに使用され、クライアントがサ ポートしている場合には server-name 宣言と同じ効果を持ちます。 BOOTP クライアントは、本オプションをサポートしないでしょう。 DHCP クライア ントによってはサポートしているものがあり、実際必須としているものがあ ります。

option time-offset int32;

time-offset オプションは、協定世界時 (UTC) を基点として、クライアン トのサブネットのオフセットを秒で指定します。

option time-servers ip-address [, ip-address... ];

time-server オプションは、クライアントが利用可能な RFC 868 時刻 サー バのリストを指定します。サーバは、優先されるものから順にリストしてく ださい。

option trailer-encapsulation flag;

本オプションは、ARP プロトコル使用時に、クライアントがトレイラ使用の ネ ゴ シ エー ション (RFC 893 [14]) をすべきかを指定します。値 false は、クライアントがトレイラ使用を試みるべきでないと意味 し ま す。 値 true は、クライアントがトレイラ使用を試みるべきであると意味します。

option uap-servers text;

本 オプションは、ユーザ認証プロトコル (UAP) に包まれた認証要求を処理 する能力のあるユーザ認証サービスをそれぞれ指している URL のリスト を 指定します。 UAP サーバは HTTP 1.1 接続も SSLv3 接続も受け取ることが できます。リストに含まれた URL にポート部分が含まれてない場合は、 通 常のデフォルトポートが仮定されます (つまり http には 80 番、https に は 443 番)。リストに含まれた URL にパスの部分が含まれてない場合 は、 パスは /uap と仮定されます。 2 つ以上の URL がこのリストに指定された 場合、URL は空白で区切られます。

option user-class string;

本オプションは、ユーザが識別情報をクライアントに指定する手段として、 い く つ か の DHCP ク ラ イ ア ン ト で 使 わ れ ま す。 こ れは vendor-class-identifier オプションと同様に使われますが、その値は、ベ ンダではなく、ユーザによって指定されます。最近のほとんどの DHCP クラ イアントは、この識別子に値を指定するためのユーザインタフェースを備え ています。この識別子は、通常テキスト文字列です。

option vendor-class-identifier string;

本オプションは、ベンダタイプや、可能であれば DHCP クライアントの設定 を識別するために、いくつかの DHCP クライアントで使われます。この情報 の内容は、ベンダ固有のバイト文字列で、標準では規定されていません。ク ライアントが送出するベンダクラス識別子を確認するには、以下の設 定 を DHCP サーバ設定ファイルに加えてください:

set vendor-class option vendor-class-identifier;

こ の設定は、DHCP サーバのリースデータベースファイル中の、以下のよう な set 文を持つ vendor-class-identifier オプションを送ってくるクライ アントすべてのエントリに作用します。

set vendor-class "SUNW.Ultra-5_10";

vendor-class-identifier オ プションは、通常 DHCP Server によって、 vendor-encapsulated-options オプション中で返されるオプションを決定す る の に 使 わ れます。さらなる情報は、dhcpd.conf マニュアルページの VENDOR ENCAPSULATED OPTIONS の章を参照してください。

option vendor-encapsulated-options string;

vendor-encapsulated-options オプションは、1 つのベンダ固有値、もしく は 1 つまたはそれ以上のベンダ固有サブオプションを含みます。本オプ ションは、通常 DHCP サーバの設定ファイルで設定されるものではありませ ん。 通 常は、ベンダクラスがベンダ毎に定義され、ベンダクラスサブオプ ションが定義され、そのサブオプションの値が定義され、DHCP サーバは そ れらをもとに応答を組み上げます。

よ く 知られた DHCP クライアントベンダ (今のところ Microsoft Windows 2000 DHCP クライアント) 向けのいくつかのデフォルトの動作では、このオ プションは自動的に設定されますが、その他のものに関しては、手動で設定 しなければなりません。詳細 は dhcpd.confVENDOR ENCAPSULATED OPTIONS の章を参照してください。

option www-server ip-address [, ip-address... ];

WWW サーバオプションは、クライアントが利用可能な WWW サーバのリスト を指定します。サーバは、優先されるものから順にリストしてください。

option x-display-manager ip-address [, ip-address... ];

本オプションは、クライアントが利用可能な X Window System ディスプ レ イマネージャを実行しているシステムのリストを指定します。アドレスは、 優先されるものから順にリストしてください。

リレーエージェント情報オプション

IETF ドラフト draft-ietf-dhc-agent-options-11.txt には、 DHCP リ レー エー ジェントが DHCP パケットを DHCP サーバに転送する際、 DHCP パケット に付加することのできる一連のカプセル化されたオプションが定義されてい ま す。 サーバは、これらのオプションに基づき、アドレス割当の決定 (や、その 他の判断) を行うことができます。またサーバは、リレーエージェントを通 し て 返 さ れるどのパケットにもこれらのオプションを入れて返します。これに よってリレーエージェントは、配送やアカウンティングなどを行うために、 こ れらのオプションに含まれる情報を利用できます。

現在のドラフトには 2 つのオプションが定義されています。 DHCP サーバでこ れらのオプションを参照するには、オプション空間名 "agent" のあとにピリオ ド を つ け、その後にオプション名を続けてください。サーバでこれらのオプ ションの値を定義することは、通常あまり有効ではありませんが、許容され て います。これらのオプションは、クライアントではサポートされていません。

option agent.circuit-id string;

circuit-id サブオプションは、クライアントからサーバへの DHCP パケッ トを受け取ったサーキットを示す、エージェントローカルなサーキット識別 子 をエンコードしています。これは、DHCP 応答を適切なサーキットへと送 り返せるよう、エージェントによって使われることを意図していま す。 現 在、このオプションの書式の定義はベンダ依存となっており、多分このまま 残されるでしょう。しかし将来この書式が標準化される可能性も、現在のド ラフトには残されています。

option agent.remote-id string;

remote-id サブオプションは、サーキットの終端のリモートホストの情報を エンコードしています。これに含まれるであろう情報は、次のようなもので す。 呼出元 ID 情報、ユーザ名情報、リモート ATM アドレス、ケーブルモ デム ID、その他の同様な情報。原則的には、このオプションの意味は ちゃ んと定義されていません。しかし通常、サーキットの特定のリモートエンド に対して一意であるよう管理上保証された、なんらかのオブジェクトと考え るべきものです。

クライアント FQDN サブオプション

現在、インターネットドラフト draft-ietf-dhc-fqdn-option-00.txt で定義さ れているクライアント FQDN オプションは、まだ標準となってはいません。 し か しすでに十分広く利用されており、我々もこれを実装しています。オプショ ンの書式が複雑なため、ここでは、単独のオプションではなく、サブオプ ショ ン 空間に実装しています。一般的には、本オプションは、ユーザによって設定 されるものではなく、自動 DNS 更新システムの一部として使われるべきもので す。

option fqdn.no-client-update flag;

本オプションがクライアントから送出された場合、これが true であれば、 クライアントは自分の A レコードを更新しないことを意味します。サー バ か らクライアントに送出された場合は、クライアントは自分の A レコード を更新する べきではない ことを意味します。

option fqdn.server-update flag;

本オプションがクライアントからサーバに送出された場合、サーバにクライ ア ン ト の A レコードの更新を要求しています。サーバから送出された場 合、サーバがクライアントの A レコードを更新した (もしくはもうすぐ 更 新するところ) であることを意味します。

option fqdn.encoded flag;

true であった時、オプションに含まれるドメイン名が、ただの ASCII テキ ストではなく、DNS ワイヤフォーマットでエンコードされていることを示し て ま す。 クライアントは、自分が FQDN オプションの DNS ワイヤフォー マットをサポートしてない場合、通常このサブオプションを false に設 定 します。サーバは常に、クライアントが設定したのと同じ値を設定して返す べきです。この値が設定ファイルに設定されていた時は、fqdn.fqdn サブオ プションをエンコードするフォーマットを制御します。

option fqdn.rcode1 flag;

option fqdn.rcode2 flag;

こ れらのオプションはそれぞれ、A レコードと PTR レコードの更新結果を 示します。これらは、DHCP サーバから DHCP クライアントへのみ送られ ま す。これらのフィールドの値は、DNS プロトコル規格により定義されていま す。

option fqdn.fqdn text;

クライアントが使用を望むドメイン名を指定します。これは完全修飾された ド メイン名でも、単一のラベルでも構いません。もし名前に ’.’ 文字が含 まれなければ、その名前は完全修飾されておらず、サーバは通常、ローカル に定義されたドメイン中のその名前を更新します。

option fqdn.hostname --never set--;

こ の オ プ ショ ン は 設 定 し てはなりません。式中で option および config-option のオペレータを使用することにより読み取ることがで き ま す。この場合、fqdn.fqdn サブオプション中の最初のラベルを返します。例 えば、fqdn.fqdn の値が "foo.example.com." の場合、 fqdn.hostname は "foo" になります。

option fqdn.domainname --never set--;

こ の オ プ ショ ン は 設 定 し てはなりません。式中で option および config-option のオペレータを使用することにより読み取ることがで き ま す。この場合、fqdn.fqdn サブオプション中の最初のラベルより後すべてを 返します。例えば、fqdn.fqdn の値 が "foo.example.com." の 場 合、 fqdn.hostname は "example.com" になります。このサブオプション値が設 定されていない場合、 fqdn オプションで完全ではない名前が送られたか、 fqdn オプションがまったく送られていないことを意味します。

も しこれらのサブオプションを使用しようと思っているのであれば、クライア ント FQDN オプションのドラフト (もしくは、標準になった時はその標準) を 参 照することを強く推奨します。この文書は、そのドラフトに比べて大雑把で 不完全であり、クライアント FQDN オプション規格をすでに理解している人 に 参照されることを単に意図しているものです。

NetWare/IP サブオプション

RFC2242 は、Novell の NetWare/IP クライアント用のカプセル化されたオプ ションの組を定義しています。 DHCP サーバにおいてこれらのオプションを 使 用 するには、オプション空間名 "nwip" の後にピリオドをつけ、その後にオプ ション名を続けてください。以下のオプションが指定できます:

option nwip.nsq-broadcast flag;

true であった場合、クライアントは、NetWare/IP サーバの位置を探すのに NetWare Nearest Server Query を使うべきです。本サブオプションが false であった場合、もしくは指定されなかった場合の Novell クライアン トの動作は規定されていません。

option nwip.preferred-dss ip-address [, ip-address... ];

本サブオプションには、5 つまでの IP アドレスのリストを指定します。そ れぞれのアドレスは、NetWare ドメイン SAP/RIP サーバ (DSS) の IP アド レスです。

option nwip.nearest-nwip-server ip-address [, ip-address...];

本サブオプションには、5 つまでの IP アドレスのリストを指定します。そ れぞれのアドレスは、近接の NetWare IP サー バ (Nearest NetWare IP Server) の IP アドレスです。

option nwip.autoretries uint8;

起動時に、NetWare/IP クライアントが、与えられた DSS サーバと何回通信 を試みるべきかを指定します。

option nwip.autoretry-secs uint8;

起動時に、NetWare/IP クライアントが、与えられた DSS サーバと通信を確 立する時に、リトライの間何秒待つべきかを指定します。

option nwip.nwip-1-1 uint8;

true であった場合、NetWare/IP クライアントは NetWare/IP バージョン 1.1 をサポートしているべきです。これは、クライアン ト が NetWare/IP バージョン 1.1 のサーバと通信する時のみ必要です。

option nwip.primary-dss ip-address;

NetWare/IP ドメインのプライマリドメイン SAP/RIP サービスサーバ (DSS) の IP アドレスを指定します。セカ ン ダ リ DSS サー バ の 設 定 時 に、NetWare/IP 管理ユーティリティは、この値をプライマリ DSS サーバと して使用します。

新規オプションの定義

Internet Systems Consortium DHCP クライアントとサーバは、新規オプション を 定 義 する機構も提供しています。それぞれの DHCP オプションは、名前と コード、構造を持っています。名前は、使用者がオプションを参照するのに 使 用されます。コードは、DHCP サーバとクライアントがオプションを参照するの に使用する番号です。構造は、オプションの内容がどのようなものかを記述 し ています。

新 規オプションを定義するには、他のオプションでは使われていない名前を選 ぶ必要があります。例えば、"host-name" と言う名前は使用できません。と い う の も、 このマニュアルページに出てきたように、 DHCP プロトコルが既に host-name オプションを定義しているからです。このマニュアルページに出 て き ていないオプション名ならば使っても構いませんが、将来出てくるオプショ ンと重ならないように、オプション名の最初に独自の文字列をつけること は、 多分いい考えでしょう。例えば、公式の DHCP オプションには "local" で始ま るものがないので、 "local-host-name" と言う名前は、いくらか安心して定義 できるでしょう。

名 前 を 選択したら、次はコードを選ばねばなりません。 DHCP オプションの 128 から 256 までのコードは、サイトローカルオプション用として予約されて い るので、この中のコードならどれでも選ぶことができます。実際には、プロ トコルを少々あいまいに解釈しているベンダがあり、 128 より大きい値のオプ ショ ンコードを使用しています。この問題を本当に回避する方法はありません が、実際にはそう大きな問題を引き起こすものではないでしょう。

オプションの構造とは、単にオプションのデータが表現されている形式で す。 現 在 ISC DHCP サーバは、整数、ブール値、文字列そして IP アドレスといっ た、いくつかの単純なデータ型をサポートしており、また単一データ型の配 列 や固定順のデータ型列の配列を定義することもできます。

新規オプションは、以下のように宣言されます:

option new-name code new-code = definition ;

new-namenew-code の値は、新規オプション用にあなたが選んだものです。 definition は、オプションの構造の定義です。

以下の単純なオプションの型定義がサポートされています:

ブール値

option new-name code new-code = boolean ;

ブール型のオプションは、on または off (もしくは true か false) の値を持 つフラグです。ブール型の使用例は、以下のようになります:

option use-zephyr code 180 = boolean;
option use-zephyr on;

整数

option new-name code new-code = sign integer width ;

sign トー クンは、空白、unsignedsigned のいずれかです。 width は 8, 16, 32 のいずれかで、整数の bit 数を示します。例えば、 以 下 の 2 行 は、sql-connection-max オプションの定義と使用法を示します:

option sql-connection-max code 192 = unsigned integer 16;
option sql-connection-max 1536;

IP アドレス

option new-name code new-code = ip-address ;

IP アドレス型の構造を持つオプションは、ドメイン名もしくはドット区切りの 4 整数で表現されます。以下は、IP アドレス型の使用例です:

option sql-server-address code 193 = ip-address;
option sql-server-address sql.example.com;

テキスト

option new-name code new-code = text ;

テキスト型のオプションは、ASCII テキスト文字列をエンコードします。例 え ば:

option sql-default-connection-name code 194 = text;
option sql-default-connection-name "PRODZA";

データ文字列

option new-name code new-code = string ;

デー タ文字列型のオプションは、本質的には単なるバイトの集合体です。テキ スト型のようにクォートされたテキストで指定されるか、もしくはコロン区 切 り の 16 進数のリストで指定されます。この時コロンで区切られた中身は、0 から FF の間の値でなければなりません。例えば:

option sql-identification-token code 195 = string;
option sql-identification-token 17:23:19:a6:42:ea:99:7c:22;

カプセル化

option new-name code new-code = encapsulate identifier ;

カプセル化型のオプションは、identifier で指定されたオプション空間の中身 を カプセル化します。現在 DHCP プロトコルに存在するカプセル化オプション の例は、 vendor-encapsulated-options オプション、netware-suboptions オ プション、 relay-agent-information オプションなどです。

option space local;
option local.demo code 1 = text;
option local-encapsulation code 197 = encapsulate local;
option local.demo "demo";

配列

オ プションは、テキスト型とデータ文字列型以外の上述のいかなるデータ型の 配列も含むことができます。テキスト型とデータ文字列型は、現在配列では サ ポートされていません。配列定義の例は以下の通りです:

option kerberos-servers code 200 = array of ip-address;
option kerberos-servers 10.20.10.1, 10.20.11.1;

レコード

オ プションは、データ型の列で構成されるデータ構造を含むこともできます。 これはしばしばレコード型と呼ばれます。例えば:

option contrived-001 code 201 = { boolean, integer 32, text };
option contrived-001 on 1772 "contrivance";

またレコードの配列のオプションを持つこともできます。例えば:

option new-static-routes code 201 = array of {

ip-address, ip-address, ip-address, integer 8 };

option static-routes

10.0.0.0 255.255.255.0 net-0-rtr.example.com 1,

10.0.1.0 255.255.255.0 net-1-rtr.example.com 1,

10.2.0.0 255.255.224.0 net-2-0-rtr.example.com 3;

ベンダカプセル化オプション

DHCP プロトコルには、 vendor-encapsulated-options オプションが定義さ れ て います。ベンダは、このオプションによって、ベンダ固有のオプションを標 準 DHCP オ プ ショ ン に 含 め て 送 出 す る こ と が で き ま す。 vendor-encapsulated-options オプションの書式は、書式が規定されていない 一連のバイト列、もしくは一連のオプション列です。オプション列中のそれ ぞ れのオプションは、1 バイトのベンダ固有のオプションコードの後に 1 バイト のデータ長、そしてそのデータ長で指定された大きさのデータが続いたもの で 構 成されます (データ長には、データ長自身やオプションコードは含まれませ ん)。

本オプションの値は、2 つの方法のいずれかで設定されます。 1 番目の 方 法 は、 単にデータを直接指定するものです。データの指定には、テキスト文字列 かコロンで区切られた 16 進数値を用います。例えば:

option vendor-encapsulated-options
    2:4:AC:11:41:1:
    3:12:73:75:6e:64:68:63:70:2d:73:65:72:76:65:72:31:37:2d:31:
    4:12:2f:65:78:70:6f:72:74:2f:72:6f:6f:74:2f:69:38:36:70:63;

本オプションを設定する 2 番目の方法は、DHCP サーバにベンダ固有オプ ショ ンバッファを作成させるというものです。これをするには、以下の 4 つのこと をする必要があります: オプション空間を定義し、そのオプション空間内に オ プ ショ ン を 定 義し、それらへ値を割り振り、最後にそのオプション空間が vendor-encapsulated-options オプションの生成に使用されることを指定し ま す。

ベンダオプションが格納されるオプション空間を新規に定義するには、 option space 文を使用します:

option space name ;

この文書にこれまで書かれているように、この name は、オプション定義で 使 用することができます。例えば:

option space SUNW;
option SUNW.server-address code 2 = ip-address;
option SUNW.server-name code 3 = text;
option SUNW.root-path code 4 = text;

一 度、オプション空間とオプションの書式を定義したら、それらのオプション の値を定義するスコープを設定でき、それらのオプションをいつ使うかを指 定 す ることができます。例えば、2 つの異なるクラスのクライアントを扱いたい としましょう。前述の例で示したオプション空間の定義を使って、以下のよ う に、クライアントから送られてきた vendor-class-identifier オプションに基 づいて、異なるオプションの値を異なるクライアントに送出することができ ま す。

class "vendor-classes" {
  match option vendor-class-identifier;
}

option SUNW.server-address 172.17.65.1;
option SUNW.server-name "sundhcp-server17-1";

subclass "vendor-classes" "SUNW.Ultra-5_10" {
  vendor-option-space SUNW;
  option SUNW.root-path "/export/root/sparc";
}

subclass "vendor-classes" "SUNW.i86pc" {
  vendor-option-space SUNW;
  option SUNW.root-path "/export/root/i86pc";
}

先 の例で見たように、通常のスコープルールを適用することで、グローバルな 値をグローバルスコープ中に定義でき、特定のクラスに固有の値だけをロー カ ル ス コー プ に 定 義できます。 vendor-option-space 宣言を使うことで、 vendor-encapsulated-options オプションを構成するのに、SUNW オプション空 間内のオプションを使うよう DHCP サーバに指示することができます。

関連項目

dhclient.conf(5), dhcp-eval(5), dhclient(8), RFC2132, RFC2131

作者

Internet Systems Consortium DHCP Distribution は、Vixie Labs との契約の もとで、Ted Lemon が記述しました。本プロジェク ト の 資 金 は、Internet Systems Consortium が提供しました。 Internet Systems Consortium に関す る情報は、 http://www.isc.org にあります。

スポンサーリンク