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サービスの設定が完了し、アクティブになっています。 - 管理者権限がある。
手順
IPv4 ネットワークを設定するには、
/etc/kea/kea-dhcp4.conf ファイルを編集します。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クライアントクラスにマッチします。その他クライアントクラスには、ルールに一致しないデバイスが含まれます。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 アドレスを割り当てます。
設定ファイルの構文を検証します。
# kea-dhcp4 -t /etc/kea/kea-dhcp4.confコマンドで
Syntax check failedが返された場合は、レポートに表示されているエラーを修正します。kea-dhcp4サービスを再起動します。# systemctl restart kea-dhcp4
IPv6 ネットワークを設定するには、
/etc/kea/kea-dhcp6.conf ファイルを編集します。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クライアントクラスにマッチします。その他クライアントクラスには、ルールに一致しないデバイスが含まれます。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 を割り当てます。
設定ファイルの構文を検証します。
# kea-dhcp6 -t /etc/kea/kea-dhcp6.confコマンドで
Syntax check failedが返された場合は、レポートに表示されているエラーを修正します。kea-dhcp6サービスを再起動します。# systemctl restart kea-dhcp6
検証
- クライアントクラスのルールに一致するクライアントを接続し、Kea が関連付けられたプールから IP アドレスを割り当てたことを確認します。