4.8. Kea でのクライアントのクラス分け
特定の基準に基づいてクライアントをグループ化し、ネットワーク設定をきめ細かく制御するには、Kea のクライアントクラスを使用します。クライアントに対して特別な処理ルールを適用したり、別々の DHCP オプションを割り当てたりすることができます。
Voice over IP (VoIP) デバイスを特定の 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クライアントクラスに該当します。Othersクライアントクラスには、このルールに当てはまらないデバイスが含まれます。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クライアントクラスにマッチします。Othersクライアントクラスには、このルールに当てはまらないデバイスが含まれます。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 アドレスを割り当てたことを確認します。