4.8. Kea でのクライアントのクラス分け


特定の基準に基づいてクライアントをグループ化し、ネットワーク設定をきめ細かく制御するには、Kea クライアントクラスを使用します。クライアントに対して特別な処理ルールを適用したり、異なる DHCP オプションを割り当てたりすることができます。

VoIP (Voice over IP) デバイスを特定の IP プールに割り当てるクライアントクラスを作成できます。これは、VoIP 電話がネットワーク上の他のデバイスとは異なる IP アドレスを取得することを確実にするためです。たとえば、IPv4 ネットワークでは、substring (部分文字列) 式を使用して、Media Access Control (MAC) アドレスの最初の 3 オクテットをテストできます。MAC アドレスが信頼できる指標とならない IPv6 ネットワークでは、DHCPv6 ベンダークラスオプションのサブストリングをテストすることができます。

前提条件

  • kea-dhcp4 および kea-dhcp6 サービスの設定が完了し、アクティブになっています。
  • 管理者権限がある。

手順

  1. IPv4 ネットワークを設定するには、/etc/kea/kea -dhcp4.conf ファイルを編集します。

    1. Dhcp4 パラメーターにクライアントクラスを追加します。

      {
        "Dhcp4": {
          ...
          "client-classes": [
            {
                "name": "VoIP-Phones",
                "test": "substring(pkt4.mac, 0, 3) == 0x525400"
            },
            {
                "name": "Others",
                "test": "not member('VoIP-Phones')"
            }
          ],
          ...

      この例では、MAC アドレスが 52:54:00 で始まるデバイスが、VoIP-Phones クライアントクラスにマッチします。その他 クライアントクラスには、ルールに一致しないデバイスが含まれます。

    2. pool 定義にクライアントクラスを割り当てます。

      {
        "Dhcp4": {
          "subnet4": [
            {
              "subnet": "192.0.2.0/24",
      	"pools": [
                {
                  "pool": "192.0.2.20  - 192.0.2.100",
                  "client-class": "Others"
                },
                {
                  "pool": "192.0.2.150 - 192.0.2.200",
                  "client-class": "VoIP-Phones"
                }
              ],
              ...

      ホストがどのクライアントクラスに一致するかに応じて、Kea は対応するプールから IP アドレスを割り当てます。

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

      # kea-dhcp4 -t /etc/kea/kea-dhcp4.conf

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

    4. kea-dhcp4 サービスを再起動します。

      # systemctl restart kea-dhcp4
  2. IPv6 ネットワークを設定するには、/etc/kea/kea -dhcp6.conf ファイルを編集します。

    1. Dhcp6 パラメーターにクライアントクラスを追加します。

      {
        "Dhcp6": {
          ...
          "client-classes": [
            {
                "name": "VoIP-Phones",
                "test": "option[16].exists and (substring(option[16].hex, 0, 8) == '00000009')",
            },
            {
                "name": "Others",
                "test": "not member('VoIP-Phones')"
            }
          ],
          ...

      この例では、16 進値が 00000009 で始まる DHCPv6 ベンダークラスオプション (オプション 16) を送信するデバイスが、VoIP-Phones クライアントクラスにマッチします。その他 クライアントクラスには、ルールに一致しないデバイスが含まれます。

    2. pool 定義にクライアントクラスを割り当てます。

      {
        "Dhcp6": {
          "subnet6": [
            {
              "subnet": "2001:db8:0:1::/64",
      	"pools": [
                {
                  "pool": "2001:db8:0:1::1000 - 2001:db8:0:1::2000",
                  "client-class": "Others"
                },
                {
                  "pool": "2001:db8:0:1::4000 - 2001:db8:0:1::5000",
                  "client-class": "VoIP-Phones"
                }
              ],
              ...

      ホストがどのクライアントクラスにマッチするかに応じて、Kea は対応するプールから IP を割り当てます。

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

      # kea-dhcp6 -t /etc/kea/kea-dhcp6.conf

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

    4. kea-dhcp6 サービスを再起動します。

      # systemctl restart kea-dhcp6

検証

  • クライアントクラスのルールに一致するクライアントを接続し、Kea が関連付けられたプールから IP アドレスを割り当てたことを確認します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る