dhclient
100%

ネットワーク設定 · レッスン 3

dhclient

システムのネットワークマネージャーと競合させずに、dhclient を使う場面と方法を学びます。

dhclient は、一部の Linux システムにある ISC DHCP クライアントです。現在の多くの環境では、代わりに NetworkManager、systemd-networkd などのサービスが自身の DHCP クライアントを動かします。管理済みインターフェースで二つ目のクライアントを起動すると、アドレス、ルート、DNS 設定、リース状態が競合する可能性があります。

稼働中のクライアントを特定する

dhclient を実行する前に、設定の管理主体とプロセスを調べます。

$ nmcli device status
$ networkctl status
$ ps -ef | grep '[d]hclient'

ホストに存在するツールを使ってください。マネージャーがインターフェースを管理しているなら、別のクライアントを起動せず、そのマネージャーを通じて DHCP を要求します。

すでに管理されているインターフェースで dhclient を起動すべきでないのはなぜですか?

リースを明示的に要求する

dhclient が管理主体となる未管理のテスト用インターフェースでは、対象を指定し、詳細出力を有効にします。

$ sudo dhclient -v enp1s0

インターフェースを指定せずに実行すると、複数の対象インターフェースへ作用する場合があります。設定とリースのパスはパッケージや呼び出し方によって異なります。一般的な名前には dhclient.confdhclient.leases がありますが、一つの固定場所を想定しないでください。

手動要求で enp1s0 を指定するのはなぜですか?

リースを解放する

dhclient -r INTERFACE はリースの解放を要求し、利用中の設定を取り除く場合があります。これは通信を中断する操作であり、サーバーが解放通知を受け取れるとも限りません。リースを確認するだけの目的で、特にリモート管理経路上のリースを解放してはいけません。

dhclient -r enp1s0 には、どのような運用上の危険がありますか?

適用されたリースを検証する

制御された要求を行ったら、アドレス以外も検証します。

$ ip address show dev enp1s0
$ ip route show
$ resolvectl status

マネージャーまたはクライアントのログとリース期間を確認し、目的の名前解決とアプリケーションをテストします。DHCPACK に誤ったオプションが含まれる場合もあり、アドレスの割り当て成功だけではゲートウェイや DNS への到達性は証明できません。

リース取得後に検証すべきものはどれですか?

レッスン完了

dhclient を完了しました

これで、dhclient がインターフェースの意図された管理主体である場合に限って利用できます。

  • 稼働中のネットワークマネージャーと DHCP クライアントを検出する。

  • 一つのインターフェースで複数クライアントを競合させない。

  • 手動要求を名前指定したテスト用インターフェースに限定する。

  • 解放を中断を伴う操作として扱い、リース結果全体を検証する。

学習進捗を保存

無料アカウントを作成してこのレッスンを保存し、どのデバイスからでも学習を続けられます。

無料アカウントを作成
次のレッスン
ネットワーク設定 に戻る