安装和配置isc-kea
本指南介绍如何在Ubuntu 23.04或更高版本中安装和配置isc-kea。Kea是ISC开发、用于替代isc-dhcp的DHCP服务器。它较新,面向更现代的网络环境设计。
如果需要isc-dhcp-server的操作说明,请改为阅读相应指南。
安装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:动态DNS服务,根据DHCP租约事件更新DNS。
由于kea-ctrl-agent服务对Kea服务具有一定管理权限,必须确保普通用户不能未经许可使用该API。Ubuntu通过要求用户认证才能访问kea-ctrl-agent API服务来实现这一点,详见Launchpad问题2007312。
因此,上述安装过程会显示一个优先级为“high”的debconf提示,提供3个选项:
- 不采取操作,默认选项;
- 配置随机密码;
- 配置指定密码。
没有密码时,kea-ctrl-agent不会启动。
密码应保存在/etc/kea/kea-api-password,所有者与所属组为root:_kea,权限为0640。要更改密码,运行dpkg-reconfigure kea-ctrl-agent,它会再次显示上述3个选项;也可以直接手动编辑该文件。
配置kea-dhcp4
编辑/etc/kea/kea-dhcp4.conf即可配置kea-dhcp4服务。
最常见的需求,是让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作为默认网关,使用192.168.1.1与192.168.1.2作为DNS服务器。
修改配置文件后,可以通过kea-shell使用以下命令重新加载服务器配置,前提是已经按上述说明运行kea-ctrl-agent:
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
然后按Ctrl–d。服务器应回应:
[ { "result": 0, "text": "Configuration successful." } ]
这表示服务器已经收到配置。
kea-dhcp4-server服务日志中应有类似以下的条目:
DHCP4_DYNAMIC_RECONFIGURATION_SUCCESS dynamic server reconfiguration succeeded with file: /etc/kea/kea-dhcp4.conf
它表示服务器已成功重新配置。
可以使用journalctl读取kea-dhcp4-server服务日志:
journalctl -u kea-dhcp4-server
另一种方式是不通过kea-shell重新加载DHCP4服务器配置,而是用以下命令重启kea-dhcp4-service:
systemctl restart kea-dhcp4-server
延伸阅读
来源与署名
来源:Ubuntu Server官方文档:How to install and configure isc-kea,Canonical与Ubuntu Server文档贡献者。本版为中文翻译,示例地址与命令保留原文。











暂无评论内容