Kea
外观
Kea DHCP 是 Internet Systems Consortium (ISC) 当前的 动态主机配置协议 服务器。
安装
可选依赖项包括
配置
配置文件位于 /etc/kea 目录下。配置文件内容使用 JSON 结构。对于以下示例中尚未包含的特殊配置,请参考 Kea 文档。
IPv4 DHCP
要使用 IPv4 的 DHCP,必须修改配置文件 /etc/kea/kea-dhcp4.conf,并激活和启动服务 kea-dhcp4.service。
提示 以下子网 保留 给私有网络,不会与 Internet 上的主机冲突
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 拥有自己的 DNS 服务器,IP 地址为:
192.168.0.1 - 网络 2 使用上游的 Google DNS:
8.8.8.8&8.8.4.4
- 网络 1 拥有自己的 DNS 服务器,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: 有两部固定 IP 的特殊电话
192.168.0.10&&192.168.0.11
- 网络 1: 有两部固定 IP 的特殊电话
- 您希望为 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"
}
]
}
]
}
}
注意 此示例使用 Google 公共 DNS。请将其替换为您信任的 DNS 解析器。请参阅 域名解析#第三方 DNS 服务。
用法
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。