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

名称

       dhclient.conf - DHCP クライアント設定ファイル

解説

       dhclient.conf ファイルには Internet Systems Consortium の DHCP クライアントである dhclient
       の設定情報が含まれます。

       dhclient.conf は自由形式の ASCII テキストファイルです。 このファイルは dhclient に組み込ま
       れた再帰下降パーザに解析されます。  ファイルには、整形の目的でタブや改行を余分に含めること
       もできます。  ファイル中のキーワードでは大文字小文字を区別しません。  (クォート内は除いて)
       ファイル中のどこでもコメントを置くことができます。 コメントは文字 # で始まり、行末で終わり
       ます。

       dhclient.conf ファイルで、クライアントのさまざまな動作を設定できます。  それらには、プロト
       コルのタイミング、サーバに対して要求する情報、 サーバに対して必須とされる情報、 サーバが情
       報を提供しなかった場合に用いるデフォルト、 サーバから提供された情報を上書きする値、 サーバ
       から提供された情報に前置や後置する値などがあります。 また、DHCP サーバを持たないネットワー
       クで使うアドレスであっても、 あらかじめ設定ファイルで初期化することもできます。

プロトコルのタイミング

       クライアントのタイミング動作は、ユーザが設定する必要はありません。  ユーザがタイミング設定
       を行わなければ、 サーバに無秩序に負荷を与えたりせず適時更新を行うような、 充分に適切なタイ
       ミング動作がデフォルトで用いられます。

       しかし、必要に応じて、 次の文を指定して DHCP クライアントのタイミング動作を調節できます:

       timeout 

       timeout time ;

       timeout 文は、クライアントがアドレスを決める試みを開始してから、  サーバにアクセスすること
       が  できないと判断するまでに経過すべき時間を決めます。  デフォルトではこのタイムアウト値は
       300 秒です。 このタイムアウト値が過ぎた後は、 もし静的なリースが設定ファイルに定義されてい
       るか、 リースデータベースにまだ期限切れになっていないリースが残っていれば、 クライアントは
       それらのリースをひとつずつ検証してみて、  いずれかが有効なようであればそのリースのアドレス
       を使います。 もし静的なリースも、リースデータベース内の期限の切れていないリースで 有効なも
       のも存在しなければ、 クライアントは定義された retry 間隔の後でプロトコルを再開させます。

       retry 

        retry time;

       retry 文は、クライアントが DHCP サーバが存在しないと判断してから 再び DHCP  サーバにアクセ
       スを試みるまでの間に、経過するべき時間を決めます。 デフォルトでは、これは 5 分です。

       select-timeout 

        select-timeout time;

       あるネットワーク上で、複数の DHCP サーバがサービスを提供することもできます (その方が望まし
       いという意見もあります)。 その場合、最初のリース発見メッセージ (lease  discovery  message)
       への応答として、 クライアントが複数のリース提供の申し出を受けることもあり得ます。 それらの
       うち、ある提供が他の提供よりも好ましいかもしれません (例えば、クライアントが以前使用してい
       たアドレスがある提供に含まれているが、 他の提供には含まれないなど)。

       select-timeout はクライアントが最初のリース発見要求 を送信して、 少なくとも 1 つの提供申し
       出を受けた場合、 サーバからの提供申し出待ちをやめるまでの時間です。 もし select-timeout が
       切れるまでにどこからも提供申し出を受け取れなければ、  クライアントはそのあと最初に到着する
       提供申し出を受け入れます。

       デフォルトでは、select-timeout 値は 0 秒です。  つまりクライアントは最初に受け取る提供申し
       出を受け入れます。

       reboot 

        reboot time;

       クライアントは、再起動すると、 最後に保持していたアドレスをまず取得し直そうとします。 これ
       を INIT-REBOOT (初期リブート) 状態と呼びます。  最後に動作していたときと同じネットワークに
       クライアントがまだ接続していれば、これが最も素早い起動法となります。 reboot 文は、クライア
       ントが最初に古いアドレスの再取得を試みてから、  あきらめて新しいアドレスを発見しようとする
       までに、 経過すべき時間を設定します。 デフォルトでは、reboot タイムアウト値は 10 秒です。

       backoff-cutoff 

        backoff-cutoff time;

       クライアントは、指数的な一時退避  (backoff)  アルゴリズムを、ある程度の 乱数付きで使用しま
       す。これは、多くのクライアントが同時に自分を設定しよう  としたときでも、リクエストがロック
       してしまうことがないようにするためです。 backoff-cutoff 文は、一時退避に許された最大時間を
       決定します。デフォルト値は 2 分です。

       initial-interval 

        initial-interval time;

       initial-interval 文は、サーバへの最初のアクセスの試みから次の試みまでの間の時間を 設定しま
       す。メッセージの間隔は、メッセージを 1 回送信するたびに、 現在の間隔に 0 から 1 の間の乱数
       値を乗じたものの 2 倍を、現在の間隔に 加えたものになります。 この値が backoff-cutoff  値よ
       り大きくなると、この時間が設定されます。 デフォルト値は 10 秒です。

リース要求とリクエスト

       DHCP プロトコルでは、クライアントからサーバに対し、特定の情報を送るよう 要求したり、受け入
       れ準備のできていない他の情報は送らないように要求したり できます。 また、サーバからの提供申
       し出にクライアントの必要とする情報が含まれない  場合や、提供された情報が充分でない場合、ク
       ライアントが提供申し出を 拒否することもできます。

       DHCP サーバが DHCP クライアントに送る提供申し出に含まれるデータには、 さまざまなものがあり
       ます。 特に要求できるデータは DHCP オプション と呼ばれるものです。 DHCP オプションは
        dhcp-options(5) に定義されています。

       request 

        request [ option ] [, ... option ];

       request  文を指定することで、クライアントは、サーバに対し、その クライアントに応答するなら
       ば、指定したオプションの値を送るよう 要求するようになります。 request 文にはオプション名だ
       けを指定し、オプションパラメータは指定しません。    デフォルトでは   DHCP   クライアントは
       subnet-mask, broadcast-address, time-offset,  routers,  domain-name,  domain-name-servers,
       host-name オプションを要求します。

       場合によっては要求リストを全く送らないことが望ましいこともあります。  そうするためには、単
       純にパラメータを指定しない request 文を書いて下さい:

            request;

       require 

        require [ option ] [, ... option ];

       require 文には、ある提供申し出をクライアントが受け入れるために  サーバが送るべきオプション
       を列挙します。 列挙されたオプションすべてを含まない提供申し出は無視されます。

       send 

        send { [ option declaration ] [, ... option declaration ]}

       send 文を指定することで、クライアントは、 指定したオプションを指定した値でサーバに送信する
       ようになります。 ここで指定できるオプションは、 dhcp-options(5) で説明されているオプション
       宣言すべてです。  DHCP プロトコルで常に送られるオプションは ここに指定するべきではありませ
       ん。但し、 requested-lease-time オプションをデフォルトのリース時間 (2 時間) 以外の値で指定
       することはできます。この文を使う他の場合として明らかな  ものは、自分と別の種類のクライアン
       トとを区別できるような 情報を、サーバに対し送信する場合です。

動的 DNS

       現在、リースが獲得された際に DNS の更新を行うための、 非常に限定的なサポートがクライアント
       にあります。 これはプロトタイプ的なものであり、 おそらくあなたが思っているようには動きませ
       ん。 もし、あなたが偶然にも自分のところの DNS サーバの管理者であるというなら、  その場合に
       限っては動きます。とてもありそうにないことですが。

       これを動作させるためには、DHCP   サーバの中で  鍵とゾーンを宣言する必要があります  (詳細は
       dhcpd.conf(5) を参照)。 また、次のようにクライアントで fqdn オプションを設定する必要があり
       ます:

         send fqdn.fqdn "grosse.fugue.com.";
         send fqdn.encoded on;
         send fqdn.server-update off;

       fqdn.fqdn  オプションは 必ず 完全なドメイン名でなければなりません。 更新するゾーンに対する
       ゾーン文を 必ず 定義しなければなりません。  fqdn.encoded  オプションは、使用している  DHCP
       サーバによっては、 onoff に設定する必要があるかもしれません。

       no-client-updates 

        no-client-updates [ flag ] ;

       DHCP  クライアントが直接  DNS  の更新を行うよりも、 DHCP クライアントスクリプト (dhclient-
       script(8) 参照) の中で DNS の更新を行いたい場合 (例えば、DHCP クライアントが直接サポートし
       ていない SIG(0) 認証を使用したい場合) には、no-client-updates 文を使って、更新を行わないよ
       うに クライアントに教えることができます。 DHCP  クライアントが更新することを望まない場合は
       flagtrue にし、 更新することを望む場合は flagfalse にすることになります。 デフォル
       トでは DHCP クライアントは DNS の更新を行います。

オプション修飾子

       そのクライアントにとって実際には適切でない  オプションデータを受け取ったり、必要な情報を受
       け取らなかったり する場合で、かつ、それらの情報に利用可能なデフォルトの値が クライアント側
       に存在する場合があります。 また、利用可能ではあるがローカルの情報で補う必要のある情報を ク
       ライアントが受けとる場合もあります。 こういう場合を扱うために、 いくつかのオプション修飾子
       が利用できます。

       default 

        default [ option declaration ] ;

       あるオプションについて、 サーバから提供される値をクライアントが使わなければならないが、 も
       しサーバから値が提供されなければ  何らかのデフォルト値を使う必要がある場合、  それらの値を
       default 文で定義することができます。

       supersede 

        supersede [ option declaration ] ;

       あるオプションについて、 どのような値がサーバから提供されても、 常にローカルで設定された値
       を使わなければならない場合、 それらの値を supersede 文で定義することができます。

       prepend 

        prepend [ option declaration ] ;

       あるオプションの集合について、まずユーザが提供する値を使い、  その次にサーバから提供された
       値があればそれを使う場合、 それらの値を prepend 文で定義することができます。 prepend  文は
       複数の値を取ることのできるオプションにのみ用いることができます。  この制約は強制されるもの
       ではありませんが、 これを無視した場合、どのような挙動になるかは予想できません。

       append 

        append [ option declaration ] ;

       あるオプションの集合について、まずサーバから提供された値を使い、  その次にユーザが提供する
       値があればそれも使う場合、  それらの値を append 文で定義することができます。 append 文は複
       数の値を取ることのできるオプションにのみ用いることができます。  この制約は強制されるもので
       はありませんが、 もし違反すると予期できない結果となります。

リース宣言

       lease 宣言

        lease { lease-declaration [ ... lease-declaration ] }

       ある時間  (プロトコルのタイミング 参照) の後、DHCP クライアントは サーバへのアクセスに成功
       しそうにないと判断する場合があります。    その時点で、クライアントは自分が持っている、古い
       リースのデータベースを    見て、時間切れになっていないリースを順に調べ、そこに挙がっている
       ルータに ping を行って、それが利用可能なリースかどうかを調べます。 DHCP  サービスや  BOOTP
       サービスが存在しないネットワークのために、  1 つ以上の 固定 リースをクライアント設定ファイ
       ルに定義しておいて、  クライアントがアドレスを自動的に設定できるようにすることもできます。
       これは lease 文で行います。

       注意: lease 文は、DHCP サーバから受け取ったリースを記録するために、 dhclient.leases ファイ
       ルでも使われます。 以下に説明するリース用のシンタックスには dhclient.leases ファイルでのみ
       必要なものもあります。  説明を完全なものにするため、そのようなシンタックスもここで記述しま
       す。

       lease 文は、リースキーワード、左中括弧、1 つ以上のリース宣言文、  右中括弧が続いたもので構
       成されます。 リース宣言として、次のものが可能です:

        bootp;

       bootp  文は、リースが DHCP プロトコルではなく、 BOOTP プロトコルを用いて取得されたことを示
       します。 この文をクライアント設定ファイルに指定する必要は全くありません。 クライアントはこ
       の構文をリースデータベースファイル内で使います。

        interface "string";

       interface  リース文は、そのリースを有効とするインタフェースを示します。 これが設定されてい
       る場合、このリースは、指定されたインタフェース 上でのみ使用されます。 サーバからリースを受
       け取ったとき、    クライアントは常にそのリースを受け取ったインタフェース番号を記録します。
       dhclient.conf ファイルで事前にリースを定義している場合、要求されてない  のですが、そのリー
       スでインタフェースもあわせて指定しなければ なりません。

        fixed-address ip-address;

       fixed-address  文は特定のリースの IP アドレスを指定する際に使います。 これはすべての lease
       文に必要です。 IP アドレスは (12.34.56.78 のように) ドット付き 4 つ組形式で 指定しなければ
       なりません。

        filename "string";

       filename 文は使用するブートファイル名を指定します。 これは標準的なクライアント設定スクリプ
       トでは使われませんが、 説明の完全を期すためにここに含めてあります。

        server-name "string";

       server-name 文は使用するブートサーバ名を指定します。  これも標準的なクライアント設定スクリ
       プトでは使われません。

        option option-declaration;

       option       文は、サーバから提供されるオプションの値を指定するのに使います。       あるい
       は、dhclient.conf で事前定義リースが宣言されている場合には、  その事前定義リースが使われる
       際にクライアント設定スクリプトで使用して 欲しい値を指定します。

        script "script-name";

       script 文は dhcp クライアント設定スクリプトのパス名を指定するのに使います。 このスクリプト
       は、アドレスを要求したり、以前に提供されたアドレスを 試したり、 リースを取得してからインタ
       フェースの最終設定を行ったりする前に、 dhcp クライアントが各インタフェースの初期設定を行う
       のに使います。 リースが取得できなかった場合には、 事前定義リースが存在する場合、それらを試
       すためにこのスクリプトが使われます。      また、有効なリースがひとつも得られなかった場合で
       も、このスクリプトは、 1 回は呼び出されます。 より詳しくは、 dhclient-script(8) を参照して
       ください。

        vendor option space "name";

       vendor option space 文は、vendor-encapsulate-options オプションを受信した場合、 復号化にど
       のオプション空間を使用するべきかを指定するために使用されます。  サーバからのベンダオプショ
       ンの特定のクラスを要求するために、  dhcp-vendor-identifier を使用することができます。 詳細
       は dhcp-options(5) を参照してください。

        medium "media setup";

       medium 文は、接続されているネットワークのタイプをネットワークインタフェースが 自動的に判断
       できないようなシステムで使うことができます。 文字列 media setup はシステム依存のパラメータ
       で、 インタフェース初期化の際に dhcp クライアント設定スクリプトに渡されます。 Unix  および
       Unix 風のシステムでは、 この引数はインタフェースを設定するときに ifconfig コマンドラインに
       渡されます。

       リースを得るためにインタフェースを設定する 際に、dhcp クライアントがメディアタイプ ( media
       文を参照) を使用する場合、dhcp クライアントは、このパラメータを 自動的に宣言します。ネット
       ワークインタフェースがメディアタイプの 設定を必要とする場合は (する場合に限り)、この文を事
       前定義リースで 使用しなければなりません。

        renew date;

        rebind date;

        expire date;

       renew  文は、現在使用中のリースを更新 (renew) するために、 dhcp クライアントが使用中のリー
       スを提供してくれたサーバへのアクセスの          試みを開始しなければならない日時を定義しま
       す。rebind 文は、 リースを更新するために、dhcp クライアントが いずれかの dhcp サーバへのア
       クセスの試みを開始しなければならない日時を定義します。  expire  文は、リースの更新のために
       サーバにアクセスできなかった場合、 dhcp クライアントがそのリースの使用を停止しなければなら
       ない日時を 定義します。

       これらの宣言は、DHCP クライアントが得たリース中では自動的に設定されます。 事前定義リースの
       うち、DHCP クライアントに有効期限が過ぎたものを使用して 欲しくないものの中では、これらの宣
       言を設定しておく必要があります。

       date は以下のように指定します。

        <weekday> <year>/<month>/<day> <hour>:<minute>:<second>

       weekday は、人間が見てリース期限をわかりやすくするために存在します。 これは、0 から 6 まで
       の数字で指定します。0 は日曜日です。year は世紀 込みで指定します。ですから、本当に長いリー
       スを別にすると、必ず 4 桁に なるはずです。month は 1 (1 月を表します) から始まる数字で指定
       します。 day は同様に 1 から始まる (月における) 日として指定します。hour は、 0 から 23 の
       間の数字です。minute と second はともに 0 から 59 の間の 数字を指定します。

エイリアス宣言

        alias {  declarations ... }

       DHCP クライアントが TCP/IP ローミング (roaming) プロトコルを実行して いる場合、DHCP を用い
       て得られるリースだけでなく、事前に定義された IP エイリアスも、自分が使用するインタフェース
       に設定する必要がある 場合があります。Internet Systems Consortium 版 DHCP  クライアントは、
       固定アドレス直接指定のローミングをサポートしていませんが、その種の実験  ができるように、こ
       の dhcp クライアントは、 alias 宣言を使って IP エイリアスを設定する準備はできています。

       alias 宣言は lease 宣言に似ています。但し、標準の  クライアント設定スクリプトでは、subnet-
       mask  オプション以外の  オプションと、各種有効期限 (expiry times) が無視される点が異なりま
       す。  普通の  alias  宣言では、  interface  宣言、IP   エイリアスのための   固定アドレス宣
       言、subnet-mask  オプションを含みます。alias  宣言には medium 文は決して含まれてはなりませ
       ん。

その他の宣言

        reject ip-address;

       reject 文により、DHCP クライアントは指定したアドレスをサーバ識別子として使用する  サーバか
       らの提供申し出を拒否するようになります。標準に準拠しない  dhcp  サーバや設定を間違えている
       dhcp サーバによってクライアントが設定されない ようにするために、この文を使用することができ
       ます。しかしながら、これは  最後の武器とするべきです。これに先立ち、腐った DHCP サーバを追
       いかけて それを直す方がよいです。

        interface "name" { declarations ...  }

       複数のネットワークインタフェースを持つクライアントの場合、DHCP で 設定されるインタフェース
       によって異なる動作をさせる必要がある場合が あります。lease 宣言と alias 宣言を除くすべての
       タイミングパラメータ と宣言を、interface 宣言で囲むことができます。その場合、囲まれた パラ
       メータは指定した名前に合致するインタフェースにのみ適用されます。  interface 宣言を持たない
       インタフェースは、すべての interface 宣言の 外側で宣言されたパラメータ、もしくはデフォルト
       の設定が適用されます。

        pseudo "name" "real-name" { declarations ...  }

       状況によっては仮想インタフェースを宣言し、 DHCP クライアントがこのインタフェースのための設
       定を取得するようにすると 便利になり得ます。 通常 DHCP クライアントがサポートしている各イン
       タフェースは、  そのリースを獲得し管理するために、 DHCP クライアントの状態機械を実行してい
       ます。 仮想インタフェースは、real-name と名付けられたインタフェース上で 稼働している、まさ
       しくもう一つの状態機械です。   この機能を使用する場合、   仮想インタフェースと実際のインタ
       フェースの両方に対して クライアント識別子を提供しなければなりません。 また、使用したい  IP
       アドレスに対する仮想インタフェース用に  分離されたクライアントスクリプトを提供しなければな
       りません。 例えば次のようになります:

            interface "ep0" {
                 send dhcp-client-identifier "my-client-ep0";
            }
            pseudo "secondary" "ep0" {
                 send dhcp-client-identifier "my-client-ep0-secondary";
                 script "/etc/dhclient-secondary";
            }

       仮想インタフェースのためのクライアントスクリプトは  インタフェースを有効にしたり無効にした
       りする設定をするべきではありません。  特に、リースの獲得や更新の状態、そしてリースの期限切
       れの状態を 取り扱うためには、そのことが必要です。 詳細は dhclient-script(8) を参照して下さ
       い。

        media "media setup" [ , "media setup", ... ];

       media  文は、IP アドレス取得中に使用が試みられる、メディア設定パラメータを 1 つ 以上定義し
       ます。dhcp クライアントは、リスト中の各 media setup 文字列を  順次使用し、あるインタフェー
       スをそれで設定し、ブートを試みます。 駄目ならば次の media setup 文字列を使用します。この文
       は、  メディアタイプを検出する能力を持たないネットワークインタフェースに  対して利用できま
       す。サーバへのリクエストができ応答が得られるもの  ならば、どのようなメディアタイプでもたぶ
       ん正当です (保証はしませんが)。

       media setup はアドレス取得の初期フェーズ (DHCPDISCOVER パケットと DHCPOFFER  パケット)での
       み使用されます。ひとたびアドレスが取得されると、  dhcp  クライアントはそのアドレスをリース
       データベースに記録し、  そのアドレスを得る際に用いたメディアタイプを記録します。クライアン
       トが リースを更新しようとする際には常に、それと同じメディアタイプを使用します。 リースを期
       限切れにしてはじめて、クライアントはメディアタイプを順に試す 状態に戻ります。

使用例

       以下の設定ファイルは、NetBSD 1.3  を実行するあるラップトップマシンで  使用されているもので
       す。このマシンは、IP  エイリアスとして 192.5.5.213、 インタフェース ep0 (3Com 3C589C) をひ
       とつ持っています。このクライアント は、DHCP 活動がほとんどないネットワークで時間の大部分を
       消費することが   わかっているので、ブート間隔はデフォルト値からいくぶん小さくして   ありま
       す。このマシンは複数ネットワーク間でローミング (移動) します。

       timeout 300;
       retry 60;
       reboot 10;
       select-timeout 5;
       initial-interval 2;
       reject 192.33.137.209;

       interface "ep0" {
           send host-name "andare.fugue.com";
           send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
           send dhcp-lease-time 3600;
           supersede domain-name "fugue.com rc.vix.com home.vix.com";
           prepend domain-name-servers 127.0.0.1;
           request subnet-mask, broadcast-address, time-offset, routers,
                domain-name, domain-name-servers, host-name;
           require subnet-mask, domain-name-servers;
           script "CLIENTBINDIR/dhclient-script";
           media "media 10baseT/UTP", "media 10base2/BNC";
       }

       alias {
         interface "ep0";
         fixed-address 192.5.5.213;
         option subnet-mask 255.255.255.255;
       }
       これは dhclient.conf ファイルとしては非常に複雑なものです。一般に、 皆さんが使用するものは
       はるかに簡単なはずです。多くの場合、dhclient.conf ファイルとして空のファイルを生成するだけ
       で十分なはずです。 つまり、デフォルト値でよいのが普通です。

関連項目

       dhcp-options(5), dhclient.leases(5), dhclient(8), RFC2132, RFC2131

作者

       dhclient(8) は Vixie Labs との契約のもとで Ted Lemon が書きました。 本プロジェクトの基金は
       Internet  Systems Consortium が提供しました。 Internet Systems Consortium に関する情報は、
       https://www.isc.org にあります。

                                                                                 dhclient.conf(5)