Kea DHCP
このガイドでは、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