Kea
Kea DHCP 是当前 动态主机配置协议 (Dynamic Host Configuration Protocol, DHCP) 的服务器,由 互联网系统协会 (Internet Systems Consortium, ISC) 开发。
安装
安装 kea 软件包。如需额外文档,请安装 kea-docs 软件包。
可选依赖:
配置
配置文件位于 /etc/kea 目录下。配置文件的内容使用 JSON 结构。对于以下示例中未包含的特殊配置,请参考 Kea 文档。
IPv4 DHCP
要将 DHCP 用于 IPv4,必须调整配置文件 /etc/kea/kea-dhcp4.conf,并激活和启动 kea-dhcp4.service 服务。
提示: 以下子网是为私有网络 保留 的,不会与互联网上的主机冲突
192.168.0.0/16– 子网192.168.0.0,子网掩码255.255.0.0172.16.0.0/12– 子网172.16.0.0,子网掩码255.240.0.010.0.0.0/8– 子网10.0.0.0,子网掩码255.0.0.0
请确保为 Kea 监听的接口分配静态 IP 地址。
单子网配置示例
示例假设
- 网络为
192.168.0.0/24 - DNS 服务器 IP 为
192.168.0.1/24 - 网关 IP 为
192.168.0.254/24 - DHCP 服务器网络接口
eth0的静态 IP 为192.168.0.253/24 - Kea 应提供从
192.168.0.100/24到192.168.0.199/24的 IP 地址
一个最小化的配置文件 /etc/kea/kea-dhcp4.conf 可能如下所示
/etc/kea/kea-dhcp4.conf
{
"Dhcp4": {
"interfaces-config": {
"interfaces": [ "eth0/192.168.0.253" ],
"dhcp-socket-type": "raw"
},
"subnet4": [
{
"id": 1,
"subnet": "192.168.0.0/24",
"pools": [ { "pool": "192.168.0.100 - 192.168.0.199" } ],
"option-data": [
{
"name": "routers",
"data": "192.168.0.254"
},
{
"name": "domain-name-servers",
"data": "192.168.0.1"
}
]
}
]
}
}
多子网配置示例
示例假设
- 网络如下:
- 网络 1:
192.168.0.0/24(标准物理网络) - 网络 2:
192.168.1.0/24(虚拟 VLAN 网络)
- 网络 1:
- DNS 服务器如下:
- 网络 1 在 IP 地址
192.168.0.1上托管了自己的 DNS 服务器 - 网络 2 使用上游 Google DNS:
8.8.8.8&8.8.4.4
- 网络 1 在 IP 地址
- 网关如下:
- 网络 1:
192.168.0.254/24 - 网络 2:
192.168.1.254/24
- 网络 1:
- DHCP 服务器的静态 IP 如下:
- 网络 1: 网络接口
eth0为192.168.0.253 - 网络 2: 网络接口
eth0.100为192.168.1.253
- 网络 1: 网络接口
- Kea 应提供的 IP 地址范围:
- 网络 1: 从
192.168.0.100/24到192.168.0.199/24 - 网络 2: 从
192.168.1.2/24到192.168.1.252/24
- 网络 1: 从
- 您定义了一些静态 IP 地址:
- 网络 1: 有两部特殊电话,静态租约分别为
192.168.0.10和192.168.0.11
- 网络 1: 有两部特殊电话,静态租约分别为
- 您想要为 IPv4 启用最大调试日志记录,以便排除 IP 保留的任何问题
一个更复杂的配置文件 /etc/kea/kea-dhcp4.conf 可能如下所示
/etc/kea/kea-dhcp4.conf
{
"Dhcp4": {
"interfaces-config": {
"interfaces": [ "eth0/192.168.0.253", "eth0.100/192.168.1.253" ],
"dhcp-socket-type": "raw"
},
"loggers": [
{
"name": "kea-dhcp4",
"severity": "DEBUG",
"debuglevel": 99,
"output_options": [
{
"output": "stdout"
}
]
}
],
"subnet4": [
{
"id": 1,
"subnet": "192.168.0.0/24",
"interface": "eth0",
"pools": [ { "pool": "192.168.0.100 - 192.168.0.199" } ],
"option-data": [
{
"name": "routers",
"data": "192.168.0.254"
},
{
"name": "domain-name-servers",
"data": "192.168.0.1"
}
],
"reservations": [
{
"hostname": "phone1",
"hw-address": "1a:1b:1c:1d:1e:1f",
"ip-address": "192.168.0.10"
},
{
"hostname": "phone2",
"client-id": "01:11:22:33:44:55:66",
"ip-address": "192.168.0.11"
}
]
},
{
"id": 2,
"subnet": "192.168.1.0/24",
"interface": "eth0.100",
"pools": [ { "pool": "192.168.1.2 - 192.168.1.252" } ],
"option-data": [
{
"name": "routers",
"data": "192.168.1.254"
},
{
"name": "domain-name-servers",
"data": "8.8.8.8, 8.8.4.4"
}
]
}
]
}
}
用法
Kea 包含四个 systemd 单元文件
| 单元文件 | 手册页 | 描述 |
|---|---|---|
| kea-dhcp4.service | kea-dhcp4(8) | DHCPv4 守护进程 |
| kea-dhcp6.service | kea-dhcp6(8) | DHCPv6 守护进程 |
| kea-dhcp-ddns.service | kea-dhcp-ddns(8) | DNS 更新守护进程 |
| kea-ctrl-agent.service | keactrl(8) | 为管理 Kea 服务器公开 REST 接口 |
可以通过运行以下命令检查 DHCPv4 的配置文件是否存在错误
# kea-dhcp4 -t /etc/kea/kea-dhcp4.conf
如果一切正常,则可以启用/启动 kea-dhcp4.service。