跳转至内容

Kea

来自 ArchWiki

Kea DHCPInternet Systems Consortium (ISC) 目前提供的 动态主机配置协议 服务器。

注意 旧版本的 dhcpd 已经停止维护 (end of life)

安装

安装 kea 软件包。如需更多文档,请安装 kea-docs

可选依赖项包括:

配置

配置文件位于 /etc/kea 目录下。配置文件的内容使用 JSON 结构。对于以下示例中未包含的特殊配置,请参考 Kea 官方文档

IPv4 DHCP

要为 IPv4 使用 DHCP,必须修改配置文件 /etc/kea/kea-dhcp4.conf,并激活且启动 kea-dhcp4.service 服务。

提示 以下子网为 私有网络保留地址,不会与互联网上的主机冲突
  • 192.168.0.0/16 – 子网 192.168.0.0,网络掩码 255.255.0.0
  • 172.16.0.0/12 – 子网 172.16.0.0,网络掩码 255.240.0.0
  • 10.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/24192.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 网络)
  • DNS 服务器:
    • 网络 1 运行自己的 DNS 服务器,IP 为: 192.168.0.1
    • 网络 2 使用上游 Google DNS: 8.8.8.88.8.4.4
  • 网关:
    • 网络 1: 192.168.0.254/24
    • 网络 2: 192.168.1.254/24
  • DHCP 服务器的静态 IP 为:
    • 网络 1: 网络接口 eth0192.168.0.253
    • 网络 2: 网络接口 eth0.100192.168.1.253
  • Kea 应提供的 IP 地址:
    • 网络 1: 从 192.168.0.100/24192.168.0.199/24
    • 网络 2: 从 192.168.1.2/24192.168.1.252/24
  • 定义了一些静态 IP:
    • 网络 1: 有两部特殊电话使用静态租约 192.168.0.10192.168.0.11
  • 您希望为 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

© . This site is unofficial and not affiliated with Arch Linux.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.