Kea〜ISC DHCPに代わるOSSのDHCPサーバ〜
DHCPサーバのソフトウェアとしてISC DHCPが多く利用されてきました。しかし、Red Hat Enterprise Linux10のベータ版では、ISC DHCPは標準パッケージではなくなり、Keaに変更されています。今後は、DHCPサーバとしてKeaが主流になってくることが予想されます。ここでは、DHCPサーバのKeaについて紹介します。
Keaとは
Keaとは、オープンソースソフトウェアのDHCPv4/DHCPv6サーバです。ネットワークに接続する機器に、IPアドレスやルーティングなどの必要な情報を自動的に割り当てる機能を提供します。オープンソースのDHCPサーバと言えば、ISC DHCPが有名ですが、KeaはISC DHCPに代わるDHCPサーバとして。ISC(Internet Systems Consortium)が開発しリリースしています。Keaは、サービスプロバイダ、大学等の教育機関、企業で利用することを想定して開発されており、高い性能のDHCPサービスを提供できるように設計されています。
Keaの特徴
Keaには、以下の特徴があります。
再起動せず設定の追加や変更が可能
Keaは、DHCPサーバを再起動することなくサブネットやIPプールの追加・変更を行うことができます。ISC DHCPでは、DHCPサーバの設定変更を行う時には、DHCPサーバの再起動が必要でした。Keaでは、DHCPサーバを停止することなくリロードを行うことができるため、Keaを利用することでシステムを安定的に稼働させることができます。
APIで外部システムと連携
Keaは、外部システムと連携するためのAPIを提供しています。Keaが提供するAPIを利用することで、システムを簡単に拡張できるように設計されています。APIはDHCPシステムを調査したり、更新したりするため、DHCP処理中のいろいろな箇所で呼び出すことができます。また、用途に応じてリースファイルの保存先を選択することができます。保存先としてRDBMS(リレーショナルデータベース管理システム)が利用でき、メモリファイルデータベースやMySQL、PostgreSQL等を選択することができます。データベース連携ができるようになったことで、リース情報を簡単に検索でき、管理用アプリケーションからKeaのホスト毎設定を行うことができるようになります。
KeaはDHCPクライアント機能を提供していませんが、ISC DHCPのDHCPクライアント等、標準的なDHCPクライアントに対応することができます。
プラグインで機能を追加
Keaには、フックライブラリと呼ばれるプラグイン機能が存在します。フックライブラリを導入することで、Keaに機能を追加することができます。フックライブラリは、OSSとして無償で提供されているものと、有償で提供されているものがあります。OSS版のフックライブラリでは、HA機能や統計情報をREST APIで取得する機能があります。有償で提供されているフックライブラリは、購入したサポートのランクによって利用できるものが異なります。フックライブラリの詳しい情報は、Kea調査報告書1.1版に掲載しています。
Keaの機能
Keaの主な機能は以下があります。
DHCPv4、DHCPv6形式に対応
DHCPv4、DHCPv6形式に対応しています。
オペレーティングシステムのサポート
Linux、BSD、Mac OSなどのオペレーティングシステムをサポートしています。
IPv6プレフィックスデリゲーション
DHCPv6サーバがクライアントにIPv6プレフィックスを割り当てます。
ホストへの固定IPアドレス割り当て
Keaでは、クライアントのMACアドレスなどを条件にして、固定のIPアドレスを払い出すことができます。
リース情報の保存
リースファイルの保存先として、メモリ上ファイル、MySQL、PostgreSQLを選択できます。
ホスト予約情報の保存
ホスト毎IPアドレスの保存先として、JSON形式設定ファイル、MySQL(DHCPv4のみ)を選択できます。
クライアントの分類
Keaには、クライアントクラスという機能があります。クライアントクラスは、受信したパケットの情報に基づいて、クライアント(パケット) をクラスによって分類する機能です。クラスは、大きく2つの使い方をします。
- クラスによって、サブネット・プールの利用を制限する
- クラスによって、オプションを付与する
APIの提供
REST APIの機能を利用することで管理UIの開発、DHCPシステムの調査や更新などを行うことができます。
統計情報の取得
IPアドレスなどの自動的に割り当てした統計情報を表示できます。
KeaのHA機能
Kea1.4からフックライブラリとしてHA機能が追加されています。フックライブラリが提供するHA機能には、大きく2つのモードが提供されています。
ロードバランシングモード
ロードバランシングモードとは、DHCPのリクエストを2つのKeaサーバで分散して処理するモードです。クライアントとサーバが1対1で通信を行い、再リースの処理を行うため、負荷を分散することができます。またリース情報は、お互いにエージェントを通して同期されるか、もしくはDBによって自動的に整合性が保たれます。
ロードバランシングモードの注意点
ロードバランシングモードでは、リース情報を同期しますが、大量の処理によって同期が遅延すると、両方のKeaサーバで同じIPアドレスを貸し出す危険性があります。この危険性を抑制するために、KeaのHA機能では、サーバ毎にIPアドレスのプールを分割することを推奨しています。
ホットスタンバイモード
ホットスタンバイモードとは、通常時はプライマリのKeaサーバが全てのリクエストを処理し、故障時にスタンバイのKeaサーバに機能を引き継ぐ構成です。DHCPクライアントは、ブロードキャストでDHCP DISCOVERメッセージをネットワークに流します。2つのKeaサーバは、どちらもメッセージを受信します。ホットスタンバイモードでは、プライマリのKeaサーバが反応し、IPアドレスのリース情報を返します。一方でセカンダリのサーバは、リクエストを無視します。リース情報は、お互いにエージェントを通して同期され、自動的に整合性が保たれます。
KeaのHA機能には2つのモードがありますがこの機能を調査した結果、一定のレベル・制限の中で利用できることがわかりましたが、現段階では、有用性を認めることはできませんでした。そのため、Keaのロードバランシングモードを利用するよりは、DRBD/PacemakerなどによるHA機能を利用した方が、Keaの設定がわかりやすくなり、運用面でも性能が劣化しにくいと考えられます。
デージーネットの取り組み
デージーネットでは、KeaのWebUIとしてKeaKeeperというソフトウェア開発し、OSSとして公開しています。これによりWebUIからホスト毎設定やリース情報の検索を行うことができます。また、Kea、KeaKeeperを連携させたDHCPサーバの導入・保守を行っています。デージーネットがKeaを調査したKea調査報告書1.1版では、Kea単体とHAモードを利用した場合の性能検証の結果を公開しています。
Kea「情報の一覧」
Kea調査報告書
KeaはInternet Systems Consortiumが開発してリリースしているオープンソースソフトウェアのDHCPv4/DHCPv6サーバです。本書は、Kea2.4系を再調査し、インストール方法と基本的な使用方法を調査した結果をまとめたものです。
KeaKeeper
KeaKeeperは、Internet Systems Consortium(以下ISC)が開発したDHCPサーバ「Kea」を管理するためのWEBインタフェースです。 Keaは、広く使われてきた「ISC DHCP」の後継として開発されたDHCPサーバです。