日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、全翻訳済み)
6.4-STABLE-K, 7.2-STABLE-K, 8.0-STABLE-K は現在、 作成中で日々更新されています。 最新の snapshots を元に作成しています。
dhclient(8) dhclient(8)
名称
dhclient - 動的ホスト設定プロトコルのクライアント
書式
dhclient [ -p port ] [ -D ] [ -d ] [ -q ] [ -v ] [ -1 ] [ -r ] [ -lf
lease-file ] [ -pf pid-file ] [ -cf config-file ] [ -sf script-file ] [
-s server ] [ -g relay ] [ -i interval ] [ -n ] [ -nw ] [ -w ] [ if0 [
...ifN ] ]
解説
Internet Software Consortium の DHCP クライアントである dhclient は動的
ホスト設定プロトコル (DHCP: Dynamic Host Configuration Protocol) または
BOOTP プロトコルを用いて、あるいはこれらのプロトコルが失敗した場合に は
アドレスを静的に割り当てて、 1 つ以上のネットワークインタフェースを設定
する方法を提供します。
操作
DHCP プロトコルでは、1 つ以上のサブネットに割り当てることのできる IP ア
ド レ スのリストを管理する中央サーバに、ホストがアクセスできます。 DHCP
クライアントはこのリストからアドレスを要求して、それをネットワーク通 信
の 一時的な土台に用いることができます。また DHCP プロトコルは、デフォル
トルータの場所やネームサーバの場所など、クライアントが接続している ネッ
ト ワークに関する重要な情報をクライアントに詳細に知らせる機構も提供しま
す。
起動時に dhclient は dhclient.conf から設定指示を読み取ります。それから
現 在のシステムに組み込まれているすべてのネットワークインタフェースのリ
ストを取得します。各インタフェースに対し dhclient は DHCP プロトコル を
用いて設定を試みます。
シ ス テムリブートやサーバ再起動の際にリースを失わないように、 dhclient
は割り当てられたリースのリストを dhclient.leases(5) ファイルに保存し ま
す。 起 動 時、dhclient.conf ファ イ ル を 読み取った後、 dhclient は
dhclient.leases ファイルを読み込んで、割り当てられたリースに関するメ モ
リを更新します。
新 しいリースを取得すると、dhclient.leases ファイルの末尾に付け加えられ
ます。ファイルが極端に大きくなるのを防ぐために、 dhclient は時おりコ ア
内 部 のリースデータベースから新規に dhclient.leases ファイルを作成しま
す。古い dhclient.leases ファイルは、 dhclient が次にデータベースを作り
替えるまで、 dhclient.leases~ という名前で保存されます。
dhclient が最初に起動されたとき (一般的にはシステムブート初期過程の間)
に DHCP サーバが利用できなければ、古いリースは残 さ れ ま す。 そ の 場
合、dhclient.leases ファイルからまだ期限の切れていない古いリースを検査
し、有効であると判断されれば、それらの期限が切れるかまたは DHCP サー バ
が利用できるようになるまで、そのリースを使います。
DHCP サーバが存在しないネットワークに時おりアクセスする必要があるような
移動ホストは、そのネットワーク上の固定アドレスのリースをあらかじめ読 み
込 んでおくことができます。 DHCP サーバへのアクセスがどれも成功しなかっ
た場合、 dhclient はその静的なリースが有効であるか検証し、有効であれ ば
次に再起動されるまでそのリースを使います。
ま た移動ホストは、DHCP は利用できないが BOOTP なら利用できるようなネッ
トワークへ移動することもあるでしょう。そのような場合は、古いリースを 順
次試すよりも、そのネットワークの管理者と相談して BOOTP データベースにエ
ントリを作成してもらい、そのネットワーク上で素早くブートできるように す
るとよいでしょう。
コマンドライン
dhclient が設定しようとするネットワークインタフェースの名前をコマンドラ
インで指定できます。コマンドラインでインタフェース名が指定され な け れ
ば、 dhclient はすべてのネットワークインタフェースを識別し、可能なら非
ブロードキャストインタフェースは除いて、それぞれのインタフェースを設 定
しようとします。
dhclient.conf(5) ファイル中の名前でインタフェースを指定することも可能で
す。この方法でインタフェースを指定した場合、クライアントは、設定ファ イ
ル 中で指定したインタフェースもしくはコマンド行で指定したインタフェース
のどちらかだけを設定するでしょう。
-D フラグを指定すると、 dhclient が dhclient-script と組み合わせて使 用
するために作成したスクリプトを、 /tmp に保存させます。
DHCP クライアントが標準ポート (ポート番号 68) 以外のポートで待機および
送信する必要がある場合には -p フラグが使えます。こ の フ ラ グ に 続 け
て、dhclient が使う udp ポート番号を指定します。これは主としてデバッグ
目的では有用です。クライアントが待機および送信するために使用するポー ト
にデフォルトとは違うポートを指定する場合、クライアントはもう 1 つ別の送
信先ポートも使用します。その送信先ポートは、指定した送信先ポートより も
大きな番号を持ったものです。
DHCP クライアントは、通常 IP アドレスを獲得していない間任意のプロトコル
メッセージをリミテッドブロードキャストアドレスである 255.255.255.255 へ
と 送信します。デバッグ目的で、サーバがこれらのメッセージをどこか別のア
ドレスへ送信した方が便利なことがあります。 -s フラグの後に送信先 の IP
アドレスもしくはドメイン名をつけて指定できます。テスト目的で、DHCP クラ
イアントが送信する全てのパケットの giaddr フィールドを -g フラグに送 信
先 の IP アドレスを続けた形を使用することで設定することができます。これ
はテスト目的の時のみ有用なものであり、堅実さや使いやすさを求める状況 で
動作することを想定してはいけません。
FreeBSD では、自動的にネットワークのリンク状態を扱うために、 dhclient
を有効化できます。通常、ポーリングは 5 秒ごとに実施されます。ポーリング
間隔は -i フラグに続いて秒数を指定することで設定可能です。最小値は 1 秒
です。
DHCP クライアントは、通常インタフェースを設定するまではフォアグラウンド
で動作し、その後バックグラウンドで動作するようになります。dhclient を常
にフォアグラウンドのプロセスとして動作させるためには、 -d フラグを指 定
する必要があります。これは、DHCP クライアントがデバッガのもとで動作して
いる場合や、System V システムの inittab の外側で動作している場合には 有
効なものです。
こ のクライアントは、通常は起動メッセージを表示し、アドレスを獲得するま
で標準エラー出力にプロトコルシーケンスを書き出します。アドレスを獲得 し
た 後は syslog (3) ファシリティを使用してメッセージのログを取るだけにな
ります。 -q フラグを使用すると、エラー以外のメッセージを標準エラー出 力
に 書き出さないようになります。 -v フラグは全メッセージを有効にします。
-q の逆です。
クライアントは、DHCP プロトコルで義務づけられていないため、通常は現在取
得しているリースを解放することはありません。ただ、ケーブル ISP のなかに
は、クライアントが割り当てられたIP アドレスを解放したい場合には、サーバ
に 通知するように義務づけているところもあります。 -r フラグを用いると、
明示的に現在のリースを解放し、いったんリースを解放するとクライアント は
終了します。
-1 フラグを指定すると、 dhclient はひとつのリースに対し 1 度だけしか取
得を試みません。もし取得に失敗すれば dhclient は終了コード 2 で終了しま
す。
DHCP クライアントは、通常は設定情報を /etc/dhclient.conf から、リース
データベースを /var/db/dhclient.leases から取得し、自分のプロセス ID を
/var/run/dhclient.pid という名前のファイルに保存し、そしてネットワーク
インタフェースを /sbin/dhclient-script を使用して設定します。これ ら の
ファ イルに別の名前を指定したり、別の場所を指定したりするには、それぞれ
-cf, -lf, -pf および -sf フラグを、後ろにファイル名を続ける形で使用して
く ださい。この方法は、例えば DHCP クライアントが起動したときに /var/db
もしくは /var/run がまだマウントされていない場合には特に有用なものに な
り得ます。
DHCP クライアントは、設定すべきネットワークインタフェースを同定できない
場合、通常は終了します。ラップトップコンピュータやホットスワップ可能 な
I/O バスを持ったコンピュータでは、ブロードキャストインタフェースがシス
テム起動後に追加されることがあり得ます。 -w フラグを用いると、そのよ う
なインタフェースが 1 つも見つからないときにもクライアントが終了しないよ
うにできます。後で omshell (8) プログラムを使用して、ネットワークインタ
フェー スが追加されたり削除されたりしたことをクライアントに通知すること
ができ、これによってクライアントがこのインタフェース上の IP アドレス を
設定するよう試みることができます。
-n フラグを用いることで、どのインタフェースも設定しようとしないように
DHCP クライアントを指示することができます。このフラグは、きっと -w フラ
グと共に使用すると有用でしょう。
IP アドレスを獲得するまで待つのではなく、即座にデーモンとなるようにクラ
イアントを指示することもできます。 -nw フラグを与えると可能です。
設定
dhclient.conf(5) ファイルの書式は別に解説されています。
OMAPI
この DHCP クライアントは、動作中にその動作を停止させることなく自分自 身
を 制御できるようにするための機能を提供しています。この機能は、リモート
オブジェクト操作 API である OMAPI を用いて提供されています。OMAPI ク ラ
イ ア ントは、TCP/IP を使用してこの DHCP クライアントに接続します。そし
て、 DHCP クライアントの現在の状態を検査でき、その状態を変更すること が
できます。
ユーザプログラムでは、基礎にある OMAPI プロトコルを直接実装するのではな
く、dhcpctl API もしくは OMAPI そのものを使用 す べ き で す。 dhcpctl
は、OMAPI が 自 動 で 行っ て は くれない雑事のいくつかを扱うラッパで
す。dhcpctl および OMAPI については dhcpctl(3) および omapi(3) に記述さ
れ ています。クライアントを用いてやりたいことのほとんどは、特別なプログ
ラムを書かなくとも omshell(1) コマンドを使用して直接実現できる も の で
す。
制御オブジェクト
制御オブジェクトを使用すると、DHCP クライアントを終了させ、保持している
リースをすべて解放し、クライアントが追加した DNS レコードをすべて消去す
る ことができるようになります。また、クライアントを一時停止させ、クライ
アントが使用しているインタフェースの設定を除くことができるようにもな り
ます。その後で、DHCP クライアントを再起動させることができ、インタフェー
スを再設定することができます。通常、ハイバネーションに入る前 や ラッ プ
トッ プコンピュータではスリープする前に DHCP クライアントを一時停止させ
るでしょう。そして、電源が戻ってきた後で DHCP クライアントを回復させ る
で しょう。こうすることで、コンピュータがハイバネーションやスリープ中に
は PC カードを停止させておき、コンピュータがハイバネーションやスリー プ
から復帰したら以前の状態に再度初期化することができるようになるのです。
制御オブジェクトには属性が 1 つあります。それは状態属性です。クライアン
トを終了させるには、クライアントの状態属性を 2 に設定します。クライアン
トは自動的に DHCPRELEASE を行うでしょう。クライアントを一時停止させるに
は、クライアントの状態属性を 3 に設定します。クライアントを復帰させるに
は、クライアントの状態属性を 4 に設定します。
関連ファイル
/sbin/dhclient-script, /etc/dhclient.conf, /var/db/dhclient.leases,
/var/run/dhclient.pid, /var/db/dhclient.leases~
関連項目
dhclient.conf(5), dhclient.leases(5), dhclient-script(8)
作者
dhclient(8) は Ted Lemon が Vixie Enterprises と協力して Internet Soft
ware Consortium のために書きました。 Internet Software Consortium につ
いてより詳しくは、 http://www.isc.org をご覧くだ さ い。 Vixie Enter
prises についてより詳しくは、 http://www.vix.com をご覧ください。
本 クライアントは、Elliot Poger が Stanford 大学の MosquitoNet プロジェ
クトに参加している間に、 Linux での利用に際し大幅に修正、改良を行いまし
た。
現 在のバージョンは、Elliot による Linux での改良に負うところが大きいで
すが、 Internet Software Consortium の DHCP サーバが使うものと同じ ネッ
ト ワーキングフレームワークを用いるように、Ted Lemon が大幅な再編成や部
分的な書き換えを行いました。システム特有の設定コードの大部分はシェル ス
ク リプトに移されたので、より多くのオペレーティングシステムのサポートが
加えられるにつれ、システム特有の設定コードをそのオペレーティングシス テ
ム に移植したり管理したりする必要はなくなるでしょう。代わりに、シェルス
クリプトが環境に合ったツールを呼び出してその目的を果たしてくれます。
dhclient(8)