Provided by: isc-dhcp-common_4.2.4-7ubuntu12.13_amd64 

名称
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-time と
default-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.conf の VENDOR 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;
クライアントが使用を望むドメイン名を指定します。 これは完全修飾されたドメイン名でも、単一のラベルでも構
いません。 もし名前に '.' 文字が含まれなければ、その名前は完全修飾されておらず、 サーバは通常、ローカル
に定義されたドメイン中のその名前を更新します。
もしこれらのサブオプションを使用しようと思っているのであれば、 クライアント 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-name と new-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 トークンは、空白、unsigned、signed のいずれかです。 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 に関する
情報は、 https://www.isc.org にあります。
dhcp-options(5)