首页 > 解决方案 > Kea DHCP postgresql,主机未添加到数据库中

问题描述

我用 postgresql 数据库配置 Kea DHCP。创建租约时,它会很好地添加到数据库中,但是当连接新主机时,不会在数据库中的“主机”表中创建任何内容

    "lease-database": {
        "type": "postgresql",
        "name": "dhcp",
        "user": "kea",
        "password": "toto",
        "host": "localhost",
        "port": 5432
     },

    "hosts-database": {
        "type": "postgresql",
        "name": "dhcp",
        "user": "kea",
        "password": "toto",
        "host": "localhost",
        "port": 5432
    },

其实我的租约很好:

address  |     hwaddr     | client_id | valid_lifetime |         expire         | subnet_id | fqdn_fwd | fqdn_rev | hostname | state | user_context
-----------+----------------+-----------+----------------+------------------------+-----------+----------+----------+----------+-------+--------------
 172491571 | \x506b8d5a2d9a | \x        |           4000 | 2018-12-26 11:41:27+00 |         1 | t        | t        | debian   |     0 |
 172491573 | \x506b8d708a62 | \x        |           4000 | 2018-12-26 12:07:31+00 |         1 | t        | t        | debian   |     0 |
 172491572 | \x506b8d2abde6 | \x        |           4000 | 2018-12-26 12:09:49+00 |         1 | t        | t        | debian   |     0 |

(3 rows)

但是我的数据库中没有任何主机。

 host_id | dhcp_identifier | dhcp_identifier_type | dhcp4_subnet_id | dhcp6_subnet_id | ipv4_address | hostname | dhcp4_client_classes | dhcp6_client_classes | dhcp4_next_server | dhcp4_server_hostname | dhcp4_boot_file_name | user_context | auth_key
---------+-----------------+----------------------+-----------------+-----------------+--------------+----------+----------------------+----------------------+-------------------+-----------------------+----------------------+--------------+----------
(0 rows)

我错过了配置中的一个元素以启用在 DB 中添加主机?

标签: postgresqldhcp

解决方案


来自https://gitlab.isc.org/isc-projects/kea/issues/370的回复:
“您误解了。主机数据库是主机预订。这是系统管理员可以输入预订的表,例如“带有 MAC 的设备子网 Y 上的地址 X 应该获得地址 Z 和选项 W”。如果您不插入任何内容,主机将从常规动态池中获得地址。应该是这种情况。正在分配(“租用”)的地址是记录在lease-database中,见lease4或lease6表。您可以使用SQL命令或使用主机命令钩子手动插入主机预订。该钩子通过易于使用的REST API接口扩展了Kea,允许您添加预订。Kea会理智检查您的数据,如果正确,会将它们插入到您配置的数据库中(就像您对主机数据库所做的那样)。”

如果它可以帮助某人


推荐阅读