安装和配置isc-kea

安装和配置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文档贡献者。本版为中文翻译,示例地址与命令保留原文。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容