3.5. Kea DHCP サーバーの設定


Kea は、モジュール設計を採用した最新の高性能 DHCP サーバーです。DHCP サーバーは、IP アドレスやその他のネットワーク設定をクライアントデバイスに自動的に割り当てるために使用します。これにより、ミスが発生しやすい手動設定の作業が排除されます。

前提条件

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

手順

  1. IPv4 ネットワークを設定する場合:

    1. /etc/kea/kea-dhcp4.conf ファイルを編集し、次の設定を使用します。

      {
        "Dhcp4": {
          // Global settings that apply to all subnets unless overridden.
          "valid-lifetime": 86400,
          "option-data": [
            {
              "name": "domain-name",
      	"data": "example.com"
            },
            {
              "name": "domain-name-servers",
      	"data": "192.0.2.53"
            }
          ],
      
          // The network interfaces on which Kea will listen for DHCP traffic.
          "interfaces-config": {
            "interfaces": [ "enp1s0" ]
          },
      
          "subnet4": [
            // A definition of a subnet that is directly connected to the server
            {
              "id": 1,
              "subnet": "192.0.2.0/24",
              "pools": [
                { "pool": "192.0.2.20  - 192.0.2.100" },
                { "pool": "192.0.2.150 - 192.0.2.200" }
              ],
              "option-data": [
                { "name": "routers", "data": "192.0.2.1" }
              ],
            },
      
            // A definition of a remote subnet served through a DHCP relay
            {
              "id": 2,
              "subnet": "198.51.100.0/24",
              "pools": [
                { "pool": "198.51.100.20 - 198.51.100.100" }
              ],
      	// Allowed DHCP relay agents
      	"relay": {
                "ip-addresses": [ "198.51.100.5" ]
              },
              "option-data": [
                { "name": "routers", "data": "198.51.100.1" },
      	  { "name": "domain-name-servers", "data": "198.51.100.53" }
              ]
            }
          ]
        }
      }
      Copy to Clipboard Toggle word wrap

      この例では、2 つのサブネット (サーバーに直接接続されたサブネットと、DHCP リレーエージェントを使用するリモートサブネット) を提供するように Kea を設定しています。

      この例で指定されている設定は次のとおりです。

      interfaces
      Kea が DHCP リクエストをリッスンするネットワークインターフェイスを定義します。サブネットがサーバーに直接接続されていない場合は、サブネットに到達できるインターフェイスを必ずリストしてください。
      id
      サブネットの一意の整数を定義します。これは複数のサブネットを定義する場合に必須です。
      subnet
      サブネットを Classless Inter-Domain Routing (CIDR) 形式で定義します。
      pools
      Kea がクライアントに割り当てることができる IP アドレスの範囲を定義します。
      option-data
      デフォルトゲートウェイや DNS サーバーなど、クライアントに送信される DHCP オプションを定義します。サブネットごとのオプションデータ設定は、グローバル設定をオーバーライドします。
      relay
      DHCP リレーエージェントの IP アドレスを定義します。この設定はリモートサブネットでは任意ですが、転送されてくるリクエストを信頼できるエージェントだけに制限することで、セキュリティーが向上します。このパラメーターは、直接接続されたサブネットには使用しないでください。
    2. 設定ファイルの構文を検証します。

      # kea-dhcp4 -t /etc/kea/kea-dhcp4.conf
      Copy to Clipboard Toggle word wrap

      コマンドで Syntax check failed が返された場合は、レポートに表示されているエラーを修正します。

    3. 着信 DHCPv4 トラフィックを許可するように firewalld ルールを更新します。

      # firewall-cmd --permanent --add-service=dhcp
      # firewall-cmd --reload
      Copy to Clipboard Toggle word wrap
    4. サービスを有効にして起動します。

      # systemctl enable --now kea-dhcp4
      Copy to Clipboard Toggle word wrap
  2. IPv6 ネットワークを設定する場合:

    1. /etc/kea/kea-dhcp6.conf ファイルを編集し、次の設定を使用します。

      {
        "Dhcp6": {
          // Global settings that apply to all subnets unless overridden.
          "valid-lifetime": 86400,
          "option-data": [
            {
              "name": "domain-name",
      	"data": "example.com"
            },
            {
              "name": "dns-servers",
      	"data": "2001:db8:0:1::53"
            }
          ],
      
          // The network interfaces on which Kea will listen for DHCP traffic.
          "interfaces-config": {
            "interfaces": [ "enp1s0" ]
          },
      
          "subnet6": [
            // A definition of a subnet that is directly connected to the server
            {
              "id": 1,
              "subnet": "2001:db8:0:1::/64",
              "pools": [
                { "pool": "2001:db8:0:1::1000 - 2001:db8:0:1::2000" },
                { "pool": "2001:db8:0:1::4000 - 2001:db8:0:1::5000" }
              ],
            },
      
            // A definition of a remote subnet served through a DHCP relay
            {
              "id": 2,
              "subnet": "2001:db8:0:2::/64",
              "pools": [
                { "pool": "2001:db8:0:2::1000 - 2001:db8:0:2::2000" }
              ],
      	// Allowed DHCP relay agents
      	"relay": {
                "ip-addresses": [ "2001:db8:0:2::5" ]
              },
              "option-data": [
      	  { "name": "dns-servers", "data": "2001:db8:0:1::53" }
              ]
            }
          ]
        }
      }
      Copy to Clipboard Toggle word wrap

      この例では、2 つのサブネット (サーバーに直接接続されたサブネットと、DHCP リレーエージェントを使用するリモートサブネット) を提供するように Kea を設定しています。

    2. 設定ファイルの構文を検証します。

      # kea-dhcp6 -t /etc/kea/kea-dhcp6.conf
      Copy to Clipboard Toggle word wrap

      コマンドで Syntax check failed が返された場合は、レポートに表示されているエラーを修正します。

    3. 着信 DHCPv6 トラフィックを許可するように firewalld ルールを更新します。

      # firewall-cmd --permanent --add-service=dhcpv6
      # firewall-cmd --reload
      Copy to Clipboard Toggle word wrap
    4. サービスを有効にして起動します。

      # systemctl enable --now kea-dhcp6
      Copy to Clipboard Toggle word wrap

検証

  1. クライアント上で DHCP を使用してネットワーク接続を設定します。nmcli を使用したイーサネット接続の設定 を参照してください。
  2. クライアントをネットワークに接続します。
  3. クライアントが DHCP サーバーから IP アドレスを受信したかどうかを確認します。

    # ip address show <interface>
    2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 52:54:00:17:b8:b6 brd ff:ff:ff:ff:ff:ff
        inet 192.0.2.20/24 brd 192.0.2.255 scope global noprefixroute enp1s0
           valid_lft forever preferred_lft forever
        inet6 2001:db8:1::1000/64 scope global noprefixroute
           valid_lft forever preferred_lft forever
    Copy to Clipboard Toggle word wrap

トラブルシューティング

  • Kea がリッスンしている IPv4 および IPv6 アドレスを確認します。

    # ss -lunp | grep -E ':(67|547)'
    Copy to Clipboard Toggle word wrap

    設定済みのすべてのインターフェイスを Kea がリッスンしていない場合は、Kea 設定ファイルの interfaces-config 設定を確認してください。

次のステップ

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat