Skip to main content

Dhclient - Linux / Unixコマンド

How do I assign a custom DNS server to an EC2 instance (VPC) which persists across reboots? (六月 2026)

How do I assign a custom DNS server to an EC2 instance (VPC) which persists across reboots? (六月 2026)
Anonim

シノプシス

dhclient -p-d -q -1 -r -lf リースファイル -pf pidファイル -cf config-file -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フィールドは、-g フラグ、送信するIPアドレスが続きます。これはテストにのみ有用であり、一貫性のある有用な方法で動作することは期待できません。

DHCPクライアントは通常、インターフェイスを構成するまでフォアグラウンドで実行され、バックグラウンドで実行されます。フォアグラウンドプロセスとして常に実行するdhclientを実行するには、-d フラグを指定する必要があります。これは、デバッガ下でクライアントを実行する場合や、System Vシステムのinittabからクライアントを実行する場合に便利です。

クライアントは、通常、スタートアップメッセージを出力し、アドレスを取得するまで標準エラー記述子にプロトコルシーケンスを表示し、その後、syslog(3)施設。ザ-q フラグは、エラー以外のメッセージが標準エラー記述子に出力されないようにします。

クライアントは通常、DHCPプロトコルで必要とされないため、現在のリースを解放しません。いくつかのケーブルISPは、割り当てられたIPアドレスを解放したい場合、クライアントにサーバーに通知する必要があります。ザ-r flagは現在のリースを明示的に解放し、リースが解放されるとクライアントは終了します。

-1 フラグを指定すると、dhclientはリースを取得しようとします。失敗した場合、dhclientは終了コード2で終了します。

DHCPクライアントは、通常、その構成情報を/etc/dhclient.conf、 からのそのリースデータベース/var/lib/dh​​cp/dhclient.leases、 そのプロセスIDを/var/run/dhclient.pid、 を使用してネットワークインターフェイスを構成します。/ sbin / dhclient-script これらのファイルの異なる名前や場所を指定するには、-cf、 -lf、 -pf そして-sf flagsの後ろにファイルの名前が続きます。これは、例えば、/ var / lib / dhcp または/ var / run DHCPクライアントの起動時にまだマウントされていません。

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) そしてオマピ(3)。あなたがクライアントでやってみたいことは、omshell(1) 特殊なプログラムを書く必要はありません。

コントロールオブジェクト

コントロールオブジェクトを使用すると、クライアントをシャットダウンし、保持しているすべてのリースを解放し、追加したDNSレコードを削除することができます。また、クライアントを一時停止することもできます。これにより、クライアントが使用しているすべてのインターフェイスが構成解除されます。その後、再起動して、それらのインターフェイスを再設定することができます。休止状態に入る前にクライアントを一時停止するか、ラップトップコンピュータでスリープ状態にします。電源が復帰した後、再開します。これにより、コンピュータが休止状態またはスリープ状態にある間にPCカードをシャットダウンし、コンピュータが休止状態またはスリープ状態から外れると、以前の状態に再初期化されます。

制御オブジェクトには1つの属性、つまり状態属性があります。クライアントをシャットダウンするには、state属性を2に設定します。これは自動的にDHCPRELEASEを行います。一時停止するには、state属性を3に設定します。再開するには、state属性を4に設定します。

重要: 使用 おとこ コマンド( % おとこ 特定のコンピュータでどのようにコマンドが使用されているかを確認することができます。