3.8. DHCP サーバーに直接接続されたサブネット用の DHCP サービスの設定

DHCP サーバーが、DHCP 要求に応答するサブネットに直接接続されている場合は、以下の手順を使用します。サーバーのネットワークインターフェイスに、このサブネットの IP アドレスが割り当てられている場合は、以下のようになります。

IPv4、IPv6、またはその両方のプロトコルに DHCP を提供するかどうかに応じて、以下の手順を参照してください。

前提条件

  • root ユーザーとしてログインしている。
  • dhcp-server パッケージがインストールされている。

手順

  • IPv4 ネットワークの場合:

    1. /etc/dhcp/dhcpd.conf ファイルを編集します。

      1. その他のディレクティブにこの設定がない場合は、dhcpd が使用するグローバルパラメーターをデフォルトとして追加します。

        option domain-name "example.com";
        default-lease-time 86400;

        この例では、接続のデフォルトのドメイン名を example.com に設定し、デフォルトのリース時間を 86400 秒 (1 日) に設定します。

      2. authoritative ステートメントを新しい行に追加します。

        authoritative;
        重要

        authoritative ステートメントがない場合、dhcpd サービスは、クライアントがプール外にあるアドレスを要求する場合に、DHCPNAKDHCPREQUEST メッセージに応答することはありません。

      3. サーバーのインターフェイスに直接接続された各 IPv4 サブネットに、subnet 宣言を追加します。

        subnet 192.0.2.0 netmask 255.255.255.0 {
          range 192.0.2.20 192.0.2.100;
          option domain-name-servers 192.0.2.1;
          option routers 192.0.2.1;
          option broadcast-address 192.0.2.255;
          max-lease-time 172800;
        }

        この例では、192.0.2.0/24 ネットワークにサブネットの宣言を追加します。この設定では、DHCP サーバーは以下の設定を、このサブネットから DHCP 要求を送信するクライアントに割り当てます。

        • range パラメーターで定義されている範囲からの空き IPv4 アドレス
        • このサブネットの DNS サーバーの IP - 192.0.2.1
        • このサブネットのデフォルトゲートウェイ - 192.0.2.1
        • このサブネットのブロードキャストアドレス - 192.0.2.255
        • このサブネットのクライアントが IP を解放し、サーバーに新しい要求を送信する最大リース時間 - 172800 秒 (2 日)
    2. 必要に応じて、システムの起動時に dhcpd が自動的に起動するように設定します。

      # systemctl enable dhcpd
    3. dhcpd サービスを開始します。

      # systemctl start dhcpd
  • IPv6 ネットワークの場合:

    1. /etc/dhcp/dhcpd6.conf ファイルを編集します。

      1. その他のディレクティブにこの設定がない場合は、dhcpd が使用するグローバルパラメーターをデフォルトとして追加します。

        option dhcp6.domain-search "example.com";
        default-lease-time 86400;

        この例では、接続のデフォルトのドメイン名を example.com に設定し、デフォルトのリース時間を 86400 秒 (1 日) に設定します。

      2. authoritative ステートメントを新しい行に追加します。

        authoritative;
        重要

        authoritative ステートメントがない場合、dhcpd サービスは、クライアントがプール外にあるアドレスを要求する場合に、DHCPNAKDHCPREQUEST メッセージに応答することはありません。

      3. サーバーのインターフェイスに直接接続された各 IPv6 サブネットに、subnet 宣言を追加します。

        subnet6 2001:db8:0:1::/64 {
          range6 2001:db8:0:1::20 2001:db8:0:1::100;
          option dhcp6.name-servers 2001:db8:0:1::1;
          max-lease-time 172800;
        }

        以下の例では、 2001:db8:0:1::/64 ネットワークにサブネット宣言を追加します。この設定では、DHCP サーバーは以下の設定を、このサブネットから DHCP 要求を送信するクライアントに割り当てます。

        • range6 パラメーターで定義されている範囲外の空き IPv6 アドレスです。
        • このサブネットの DNS サーバーの IP は 2001:db8:0:1::1 です。
        • このサブネットのクライアントが IP を解放し、サーバーに新しい要求を送信する最大リース時間は、172800 秒 (2 日) です。

          IPv6 では、デフォルトのゲートウェイを特定するために、ルーター広告メッセージを使用する必要があることに注意してください。

    2. 必要に応じて、システムの起動時に dhcpd6 が自動的に開始するように設定します。

      # systemctl enable dhcpd6
    3. dhcpd6 サービスを起動します。

      # systemctl start dhcpd6

関連情報

  • dhcp-options(5) の man ページ
  • dhcpd.conf(5) の man ページ
  • /usr/share/doc/dhcp-server/dhcpd.conf.example ファイル
  • /usr/share/doc/dhcp-server/dhcpd6.conf.example ファイル