我对 kea-dhcp 很陌生。我正在尝试使用 kea-dhcp 2.0.1 版本。下面是我在“dhcp.conf”中提到的接口配置
"Dhcp4": {
"interfaces-config": {
"interfaces":[ "eth1", "eth2" ],
"dhcp-socket-type" : "raw"
},
当我尝试启动 dhcp 服务器时,出现以下错误
058 ERROR [kea-dhcp4.dhcp4/37797.139924860343616] DHCP4_PARSER_FAIL failed to create or run parser for configuration element interfaces-config: Failed to select interface: interface 'eth1' doesn't exist in the system (/tmp/kea-dhcp.conf:1:49) (/tmp/kea-dhcp.conf:1:34)
当我启动 dhcp 服务器时,“eth1”尚未创建,“eth2”接口已启动并具有有效的 IP,但 dhcp 服务器无法启动,因为“接口配置”中提到的第一个接口未创建。
我该如何解决这个问题?是否有任何选项可以让 dhcp 服务器检查所有提到的接口并尝试启动和侦听已创建和启动的接口?
答案1
KEA 的源存储库中记录了有关此确切问题的功能请求问题 3188:
支持热插拔网络接口开放
问题由 Jakub Okoński 于 1 个月前创建名称:功能请求关于:为此项目提出一个想法
我正在从以前的 ISC DHCP4 服务器迁移到 kea,并且我注意到行为上的差异。如果 Kea 启动时接口配置中声明的接口不存在,Kea 将拒绝启动。
Tomek Mrugalski @tomek 1 个月前 所有者
是的,这是我们在基亚遇到的问题。 @farnoy 并不是第一个(或第二个)对此抱怨的人。我已经链接了以前的门票。我确信如果我们挖掘得足够深的话还会有更多。
嗯是的,我们最终实现这一点的时间越来越近了。但和往常一样,不承诺具体日期。
这是一个缺失的功能。 KEA 开发人员已经意识到这一点并正在努力解决。因此,在解决此问题之前,无需进行任何神奇的配置即可使其正常工作。只有解决方法。
在各种解决方法中,如果可以更改所有可能的参数(例如租用文件位置等),也许可以考虑实例化 KEA,每个接口一个 KEA 守护进程。这样,一个实例可能会失败(并自动重新启动),而不会影响其他实例。
答案2
我已经在 git lab 中提出了这个问题的查询 https://gitlab.isc.org/isc-projects/kea/-/issues/3241
而且,在检查 kea-dhcp 服务器代码后,我了解到,如果在 dhcp 服务器时未创建接口配置中定义的任何接口,kea-dhcp 服务器将拒绝启动,并出现错误“系统中不存在接口”已开始。