Kea DHCP

提供: First Wiki
ナビゲーションに移動 検索に移動

このガイドでは、Ubuntu 23.04 以降に isc-kea をインストールおよび設定する方法について説明します。Kea は、isc-dhcp に代わるものとして ISC によって開発された DHCP サーバーです。より新しいバージョンであり、最新のネットワーク環境向けに設計されています。

Install isc-kea

ターミナルで、以下のコマンドを入力して isc-kea をインストールします:

sudo apt install kea

これにより、以下のバイナリパッケージもインストールされます。

  • kea-dhcp4-server: IPv4 DHCP サーバー(このガイドで設定するものです)。
  • kea-dhcp6-server: IPv6 DHCP サーバー。
  • kea-ctrl-agent: Kea 用の REST API サービス。
  • kea-dhcp-ddns-server: DHCP リースイベントに基づいて DNS を更新するダイナミック DNS サービス。

kea-ctrl-agent サービスは Kea サービスに対して一定の管理権限を持っているため、一般ユーザーが許可なく API を使用できないようにする必要があります。 Ubuntu では、kea-ctrl-agent API サービスにアクセスする際にユーザー認証を必須とすることでこれを実現しています(詳細については LP: #2007312 を参照してください)。

したがって、上記のインストール手順を実行すると、debconfの「高」優先度のプロンプトが表示され、以下の3つの選択肢が提示されます:

  • no action (default);
  • configure with a random password; or
  • configure with a given password.

パスワードが設定されていない場合、kea-ctrl-agentは起動しません。

パスワードは /etc/kea/kea-api-password に格納されており、所有者は root:_kea、権限は 0640 になっている必要があります。 変更するには、dpkg-reconfigure kea-ctrl-agent を実行するか(これにより、前述の 3 つのオプションが再度表示されます)、あるいはファイルを手動で編集してください。

Configure kea-dhcp4

kea-dhcp4 サービスは、/etc/kea/kea-dhcp4.conf を編集することで設定できます。

最も一般的な設定は、Kea に事前に設定された IP アドレスプールから IP アドレスを割り当てさせることです。 これを行うには、次のように設定します:

{
    "Dhcp4": {
        "interfaces-config": {
            "interfaces": ["eth4"]
        },
        "control-socket": {
            "socket-type": "unix",
            "socket-name": "/run/kea/kea4-ctrl-socket"
        },
        "lease-database": {
            "type": "memfile",
            "lfc-interval": 3600
        },
        "valid-lifetime": 600,
        "max-valid-lifetime": 7200,
        "subnet4": [{
            "id": 1,
            "subnet": "192.168.1.0/24",
            "pools": [{
                "pool": "192.168.1.150 - 192.168.1.200"
            }],
            "option-data": [{
                    "name": "routers",
                    "data": "192.168.1.254"
                },
                {
                    "name": "domain-name-servers",
                    "data": "192.168.1.1, 192.168.1.2"
                },
                {
                    "name": "domain-name",
                    "data": "mydomain.example"
                }
            ]
        }]
    }
}

これにより、DHCPサーバーはインターフェース「eth4」でリスニングを行い、クライアントに192.168.1.150~192.168.1.200の範囲のIPアドレスを割り当てます。 クライアントが特定の有効期間を指定しない場合、IPアドレスのリース期間は600秒となります。 それ以外の場合、最大(許容)リース期間は7200秒となります。 また、サーバーはクライアントに対し、デフォルトゲートウェイとして 192.168.1.254 を、DNS サーバーとして 192.168.1.1 および 192.168.1.2 を使用するよう「推奨」します。

設定ファイルを変更した後、kea-ctrl-agent が前述の手順に従って実行されていることを前提として、kea-shell から次のコマンドを実行してサーバー設定を再読み込みできます:

kea-shell --host 127.0.0.1 --port 8000 --auth-user kea-api --auth-password $(cat /etc/kea/kea-api-password) --service dhcp4 config-reload

Then, press ctrl-d. The server should respond with:

[ { "result": 0, "text": "Configuration successful." } ]

これで、設定がサーバーに受信されたことを意味します。

kea-dhcp4-server サービスのログには、次のようなエントリが含まれているはずです:

DHCP4_DYNAMIC_RECONFIGURATION_SUCCESS dynamic server reconfiguration succeeded with file: /etc/kea/kea-dhcp4.conf

サーバーの再設定が正常に完了したことを示しています。

kea-dhcp4-server のサービスログは、journalctl を使用して確認できます:

journalctl -u kea-dhcp4-server

他に、kea-shell を使って DHCP4 サーバーの設定を再読み込みする代わりに、次のコマンドで kea-dhcp4-service を再起動することもできます:

systemctl restart kea-dhcp4-server

関連情報