1.3. DHCP クライアントの動作の設定

A Dynamic Host Configuration Protocol (DHCP) クライアントは、クライアントがネットワークに接続するたびに、動的 IP アドレスと対応する設定情報を DHCP サーバーに要求します。
デフォルトでは、NetworkManager は、DHCP クライアントである dhclient を呼び出します。

IP アドレスの要求

DHCP 接続が開始すると、dhcp クライアントは、DHCP サーバーに IP アドレスを要求します。dhcp クライアントがこの要求を完了するのを待つ時間は、デフォルトで 60 秒です。nmcli ツールを使用して、ipv4.dhcp-timeout プロパティーを設定できます。または、/etc/sysconfig/network-scripts/ifcfg-ifname ファイルの IPV4_DHCP_TIMEOUT オプションを使用して設定できます。たとえば、次のように、nmcli を使用します。
~]# nmcli connection modify eth1 ipv4.dhcp-timeout: 10
この間にアドレスを取得できない場合、IPv4 設定は失敗します。接続全体が失敗する可能性もありますが、これは ipv4.may-fail プロパティーによって異なります。
  • ipv4.may-failyes (デフォルト) に設定されている場合、接続の状態は IPv6 設定に依存します。
    1. IPv6 設定が有効であり、これが成功した場合、接続はアクティブになりますが、IPv4 設定は再試行できません。
    2. IPv6 設定が無効であるか、または設定されていない場合、接続は失敗します。
  • ipv4.may-failno に設定されている場合、接続は非アクティブになります。この場合は、以下のようになります。
    1. 接続の autoconnect プロパティーが有効になっている場合、NetworkManager は、autoconnect-retries プロパティーに設定された回数だけ、接続のアクティベーションを再試行します。デフォルトでは 4 回です。
    2. それでも接続が dhcp アドレスを取得できない場合、自動アクティベーションは失敗します。
      5 分後に自動接続プロセスが再開されて、dhcp クライアントが dhcp サーバーからのアドレスの取得を再試行することに注意してください。

リース更新の要求

dhcp アドレスを取得し、IP アドレスのリースを更新できない場合、dhcp クライアントは 2 分ごとに 3 回再起動して、dhcp サーバーからリースを取得しようとします。毎回、リースを取得するために、ipv4.dhcp-timeout プロパティーを秒単位 (デフォルトは 60) で設定します。試行時に応答を得ると、プロセスは停止し、リースが更新されます。
3 回失敗した後:
  • ipv4.may-failyes (デフォルト) に設定されており、IPv6 が正常に設定されている場合、接続はアクティブになり、dhcp クライアントは 2 分ごとに再起動します。
  • ipv4.may-failno に設定すると、接続が無効になります。この場合、接続の autoconnect プロパティーが有効になっていると、接続は最初からアクティブになります。

1.3.1. DHCPv4 の永続化

起動時とリース更新プロセス実行時の両方で DHCPv4 を永続化するには、ipv4.dhcp-timeout プロパティーを、32 ビットの整数の最大値 (MAXINT32) である 2147483647 か、または次の infinity 値に設定します。
~]$ nmcli connection modify eth1 ipv4.dhcp-timeout infinity
その結果、NetworkManager による DHCP サーバーからのリースの取得または更新の試行は、成功するまで停止しません。
リース更新プロセス中にのみ DHCP の永続的な動作を保証するには、/etc/sysconfig/network-scripts/ifcfg-ethX 設定ファイルで、または次のように nmcli を使用して、IPADDR プロパティーに静的 IP を手動で追加します。
~]$ nmcli connection modify eth0 ipv4.address 192.168.122.88/24
IP アドレスのリース期限が切れると、静的 IP は、設定済みあるいは一部設定済みの IP 状態を保持します。IP アドレスを持つことはできますが、インターネットには接続されていません。dhcp クライアントが 2 分ごとに再起動することを確認してください。