dhclient - 動的ホスト構成プロトコルクライアント
シノプシス
dhclient [ -p port ] [ -d ] [ -q ] [ -1 ] [ -r ] [ -lf リースファイル ] [ -pf pid-file ] [ -cf 設定ファイル ] [ -sf スクリプトファイル ] [ -s サーバ ] [ -gリレー] [ -n ] [ -nw ] [ -w ] [ if0 [ ... ifN ]]
DESCRIPTION
インターネットソフトウェアコンソーシアムDHCPクライアントdhclientは、動的ホスト構成プロトコル、BOOTPプロトコルを使用して1つまたは複数のネットワークインタフェースを構成する手段を提供し、静的にアドレスを割り当てることによってこれらのプロトコルが失敗した場合に備えます。
操作
DHCPプロトコルは、ホストが1つまたは複数のサブネット上に割り当てられるIPアドレスのリストを維持する中央サーバにコンタクトすることを可能にする。 DHCPクライアントは、このプールからアドレスを要求してから、一時的にネットワーク上の通信に使用します。 DHCPプロトコルはまた、クライアントが、デフォルトルータの位置、ネームサーバの位置など、接続されているネットワークに関する重要な詳細を知ることができるメカニズムも提供します。
起動時に、dhclientは設定手順のためにdhclient.confを読み取ります。 次に、現在のシステムで設定されているすべてのネットワークインターフェイスの一覧を取得します。 各インターフェイスに対して、DHCPプロトコルを使用してインターフェイスを設定しようとします。
dhclient.leases (5)ファイルに割り当てられているリースの一覧は、システムの再起動とサーバーの再起動時にリースを追跡するためにdhclientによって保持されます。 起動時に、dhclient.confファイルを読み取った後、dhclientはdhclient.leasesファイルを読み込んで、割り当てられているリースに関するメモリをリフレッシュします。
新しいリースが取得されると、それはdhclient.leasesファイルの末尾に追加されます。 ファイルが任意に大きくなるのを防ぐため、dhclientは、コア内リースデータベースから新しいdhclient.leasesファイルを作成します。 dhclient.leasesファイルの古いバージョンは、dhclient.leases〜の名前で保持され、次回にdhclientがデータベースを書き換えるまで保持されます。
dhclientが最初に呼び出されたとき(通常は初期のシステム起動プロセス中に)DHCPサーバーが利用できない場合に備えて、古いリースが保持されます。 この場合、有効期限が切れていないdhclient.leasesファイルからの古いリースがテストされ、有効であると判断された場合、有効期限が切れるか、DHCPサーバーが使用可能になるまで使用されます。
DHCPサーバが存在しないネットワークにアクセスする必要がある場合があるモバイルホストには、そのネットワーク上の固定アドレスのリースが事前にロードされている場合があります。 DHCPサーバに接続しようとするすべての試みが失敗した場合、dhclientは静的リースを検証しようとし、成功すると、リースが再開されるまでそのリースを使用します。
モバイルホストは、DHCPが利用できないがBOOTPがあるネットワークに移動することもできます。 その場合、ホストが古いリースのリストを循環するのではなく、そのネットワーク上で素早く起動できるように、ネットワーク管理者とBOOTPデータベースのエントリを手配することが有利な場合があります。
コマンドライン
dhclientが設定しようとするネットワークインタフェースの名前は、コマンドラインで指定することができます。 コマンドラインでインターフェイス名が指定されていない場合、dhclientは通常、すべてのネットワークインターフェイスを識別し、可能であれば非ブロードキャストインターフェイスを削除し、各インターフェイスを構成しようとします。
また、 dhclient.conf(5)ファイルでインタフェースを名前で指定することもできます。 この方法でインタフェースを指定すると、クライアントは構成ファイルまたはコマンド行で指定されたインタフェースのみを構成し、他のすべてのインタフェースは無視します。
DHCPクライアントが標準(ポート68)以外のポートでリッスンして送信する必要がある場合は、 -pフラグを使用できます。 dhclientが使用すべきudpポート番号が続くはずです。 これは主にデバッグの目的に役立ちます。 クライアントがリッスンして送信する別のポートが指定されている場合、クライアントは別の宛先ポートも使用します。つまり、指定された宛先ポートよりも大きいポートです。
DHCPクライアントは通常、IPアドレスを取得する前に送信するプロトコルメッセージを255.255.255.255のIP限定ブロードキャストアドレスに送信します。 デバッグの目的で、サーバにこれらのメッセージを他のアドレスに送信させると便利です。 これは、 -sフラグと、宛先のIPアドレスまたはドメイン名で指定できます。
テスト目的のために、クライアントが送信するすべてのパケットのgiaddrフィールドは、送信するIPアドレスの後に-gフラグを使用して設定できます。 これはテストにのみ有用であり、一貫性のある有用な方法で動作することは期待できません。
DHCPクライアントは通常、インターフェイスを構成するまでフォアグラウンドで実行され、バックグラウンドで実行されます。 dhclientを強制的にフォアグラウンドプロセスとして実行するには、 -dフラグを指定する必要があります。 これは、デバッガ下でクライアントを実行する場合や、System Vシステムのinittabからクライアントを実行する場合に便利です。
クライアントは通常、起動メッセージを出力し、アドレスを取得するまで標準エラー記述子にプロトコルシーケンスを表示し、その後syslog(3)機能を使用してメッセージを記録します。 -qフラグは、エラー以外のメッセージが標準エラー記述子に出力されないようにします。
クライアントは通常、DHCPプロトコルで必要とされないため、現在のリースを解放しません。 いくつかのケーブルISPは、割り当てられたIPアドレスを解放したい場合、クライアントにサーバーに通知する必要があります。 -rフラグは現在のリースを明示的に解放し、リースが解放されるとクライアントは終了します。
-1フラグを指定すると、dhclientはリースを1度試行します。 失敗した場合、dhclientは終了コード2で終了します。
DHCPクライアントは、通常/etc/dhclient.conf、/var/lib/dhcp/dhclient.leasesのリースデータベースから構成情報を取得し、そのプロセスIDを/var/run/dhclient.pidというファイルに格納し、 / sbin / dhclient-scriptを使用するネットワークインターフェイスこれらのファイルの異なる名前および/または場所を指定するには、それぞれ-cf、 -lf、 -pfおよび-sfフラグを使用し、その後にファイルの名前を指定します。 これは、DHCPクライアントの起動時に/ var / lib / dhcpや/ var / runがまだマウントされていない場合などに特に便利です。
DHCPクライアントは、通常、構成するネットワークインタフェースを識別できない場合に終了します。 ラップトップコンピュータやホットスワップ可能なI / Oバスを備えた他のコンピュータでは、システム起動後にブロードキャストインタフェースを追加する可能性があります。 -wフラグを使用すると、クライアントがそのようなインタフェースを見つけられなかったときに終了しないようにすることができます。 omshell(8)プログラムを使用して、ネットワークインターフェイスが追加または削除されたときにクライアントに通知し、クライアントがそのインターフェイス上でIPアドレスを設定できるようにすることができます。
DHCPクライアントは、 -nフラグを使用してインタフェースを構成しようとしないように指示できます。 これは、 -wフラグと組み合わせて使用すると便利です。
クライアントは、IPアドレスを取得するまで待つのではなく、すぐにデーモンになるように指示することもできます。 これは、 -nwフラグを指定することで実行できます。
コンフィグレーション
dhclient.conf(8)ファイルの構文については、別途説明します。
OMAPI
DHCPクライアントは、実行中に停止せずに制御する機能を提供します。 この機能は、リモート・オブジェクトを操作するためのAPIであるOMAPIを使用して提供されます。 OMAPIクライアントは、TCP / IPを使用してクライアントに接続し、認証してから、クライアントの現在の状態を調べて変更を加えることができます。
基礎となるOMAPIプロトコルを直接実装するのではなく、ユーザー・プログラムはdhcpctl APIまたはOMAPI自体を使用する必要があります。 Dhcpctlは、OMAPIが自動的に処理しないハウスキーピング作業の一部を処理するラッパーです。 DhcpctlとOMAPIはdhcpctl(3)とomapi(3)に記載されています。 クライアントでやりたいことは、特別なプログラムを書かなくても、 omshell(1)コマンドを使って直接行うことができます。
コントロールオブジェクト
コントロールオブジェクトを使用すると、クライアントをシャットダウンし、保持しているすべてのリースを解放し、追加したDNSレコードを削除することができます。 また、クライアントを一時停止することもできます。これにより、クライアントが使用しているすべてのインターフェイスが構成解除されます。 その後、再起動して、それらのインターフェイスを再設定することができます。 休止状態に入る前にクライアントを一時停止するか、ラップトップコンピュータでスリープ状態にします。 電源が復帰した後、再開します。 これにより、コンピュータが休止状態またはスリープ状態にある間にPCカードをシャットダウンし、コンピュータが休止状態またはスリープ状態から外れると、以前の状態に再初期化されます。
制御オブジェクトには1つの属性、つまり状態属性があります。 クライアントをシャットダウンするには、state属性を2に設定します。これは自動的にDHCPRELEASEを行います。 一時停止するには、state属性を3に設定します。再開するには、state属性を4に設定します。
重要: manコマンド ( %man )を使用して、特定のコンピュータでコマンドがどのように使用されているかを確認してください。