我用一个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中添加主机?
答案 0 :(得分:0)
来自https://gitlab.isc.org/isc-projects/kea/issues/370的回复:
“您误解了。主机数据库是主机保留。这是系统管理员可以在其中输入保留的表,例如“子网Y上具有MAC地址X的设备应获得地址Z和选项W。”。如果不插入任何内容,则主机将从常规动态池中获取地址,实际情况就是这样:分配的地址(“租用”)记录在租约数据库中,请参见lease4或lease6表。
您可以使用SQL命令或使用主机命令挂钩手动插入主机保留。该挂钩通过易于使用的REST API接口扩展了Kea,该接口允许您添加保留。 Kea会仔细检查您的数据,如果正确,会将其插入到您已配置的数据库中(就像对hosts-database所做的一样。)
如果它可以帮助某人