Good afternoon! Sorry for my english. There is a problem with Kea Dhcp4 1.6.3 (1.8 is the same). After each reboot, the client (Ubuntu, Arch) gets a new ip address from KeaDhcp. As I understand it, this is due to the fact that Kea, after receiving DHCPRELEASE from the client, does not immediately release the address (although it adds a line with expire = 0 to the lease-database), but does it after a while. As an experiment, I limited the address pool to two ip. And with each reboot (interval ~ 20 seconds), the client received different addresses in a circle. Previously, Mikrotik was used as DHCP, there was no such problem. The client rebooted and, if the address was still free, he received it back. Is there any way to force Kea to immediately release such addresses?
I tried to change the settings described in the documentation in section "10. Lease Expiration", it didn't help. { "Dhcp4": { "loggers": [ { "name": "kea-dhcp4", "output_options": [ { "output": "/var/log/kea-debug.log", "maxver": 8, "maxsize": 204800, "flush": true, "pattern": "%d{%j %H:%M:%S.%q} %c %m\n" } ], "severity": "DEBUG", "debuglevel": 99 }, { "name": "kea-dhcp4.commands", "output_options": [ { "output": "syslog" } ], "severity": "DEBUG", "debuglevel": 99 }, { "name": "kea-dhcp4.http", "output_options": [ { "output": "syslog" } ], "severity": "DEBUG", "debuglevel": 99 }, { "name": "kea-dhcp4.callouts", "output_options": [ { "output": "syslog" } ], "severity": "DEBUG", "debuglevel": 99 }], "authoritative": false, "boot-file-name": "", "calculate-tee-times": true, "client-classes": [ { "boot-file-name": "", "name": "pxe", "next-server": "10.0.0.12", "only-if-required": true, "option-data": [ { "always-send": false, "code": 66, "csv-format": true, "data": "10.0.0.12", "name": "tftp-server-name", "space": "dhcp4" }, { "always-send": false, "code": 67, "csv-format": true, "data": "grldr", "name": "boot-file-name", "space": "dhcp4" } ], "option-def": [ ], "server-hostname": "", "test": "member('ALL')" }, { "boot-file-name": "", "name": "voip", "next-server": "10.0.0.10", "only-if-required": true, "option-data": [ { "always-send": false, "code": 66, "csv-format": true, "data": "10.0.0.10", "name": "tftp-server-name", "space": "dhcp4" }, { "always-send": false, "code": 67, "csv-format": true, "data": "grldr1", "name": "boot-file-name", "space": "dhcp4" } ], "option-def": [ ], "server-hostname": "", "test": "member('ALL')" } ], "control-socket": { "socket-name": "/tmp/kea-dhcp4-ctrl.sock", "socket-type": "unix" }, "decline-probation-period": 86400, "dhcp-ddns": { "enable-updates": false, "generated-prefix": "myhost", "max-queue-size": 1024, "ncr-format": "JSON", "ncr-protocol": "UDP", "override-client-update": false, "override-no-update": false, "qualifying-suffix": "", "replace-client-name": "never", "sender-ip": "0.0.0.0", "sender-port": 0, "server-ip": "127.0.0.1", "server-port": 53001 }, "dhcp-queue-control": { "capacity": 500, "enable-queue": false, "queue-type": "kea-ring4" }, "dhcp4o6-port": 0, "echo-client-id": true, "expired-leases-processing": { "flush-reclaimed-timer-wait-time": 5, "hold-reclaimed-time": 1800, "max-reclaim-leases": 100, "max-reclaim-time": 250, "reclaim-timer-wait-time": 10, "unwarned-reclaim-cycles": 5 }, "hooks-libraries": [ { "library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so" } ], "host-reservation-identifiers": [ "hw-address"], "interfaces-config": { "interfaces": [ "*" ], "re-detect": true }, "lease-database": { "name": "/var/lib/kea/dhcp4.leases", "persist": true, "type": "memfile" }, "match-client-id": false, "next-server": "0.0.0.0", "option-data": [ { "always-send": false, "code": 6, "csv-format": true, "data": "10.0.0.1", "name": "domain-name-servers", "space": "dhcp4" }, { "always-send": false, "code": 15, "csv-format": true, "data": "lab.winitlab.com", "name": "domain-name", "space": "dhcp4" }, { "always-send": false, "code": 119, "csv-format": false, "data": "057465636F6D046E6E6F76027275000A7465636F6D67726F757002727500", "name": "domain-search", "space": "dhcp4" } ], "option-def": [ ], "t1-percent": 0.5, "t2-percent": 0.875, "reservation-mode": "all", "sanity-checks": { "lease-checks": "warn" }, "server-hostname": "", "server-tag": "", "shared-networks": [ ], "subnet4": [ { "4o6-interface": "", "4o6-interface-id": "", "4o6-subnet": "", "authoritative": false, "calculate-tee-times": true, "id": 18, "match-client-id": false, "next-server": "1.1.1.1", "option-data": [ { "always-send": false, "code": 3, "csv-format": true, "data": "10.0.50.1", "name": "routers", "space": "dhcp4" }, { "always-send": false, "code": 6, "csv-format": true, "data": "10.200.0.1", "name": "domain-name-servers", "space": "dhcp4" }, { "always-send": false, "code": 15, "csv-format": true, "data": "bncvbn.nnn", "name": "domain-name", "space": "dhcp4" } ], "pools": [ { "option-data": [ ], "pool": "10.0.50.10-10.0.50.80" } ], "relay": { "ip-addresses": [ "10.0.50.1" ] }, "reservation-mode": "all", "reservations": [], "subnet": "10.0.50.0/24", "t1-percent": 0.5, "t2-percent": 0.875, "valid-lifetime": 86400 } ], "t1-percent": 0.5, "t2-percent": 0.875, "valid-lifetime": 4000 } }
_______________________________________________ ISC funds the development of this software with paid support subscriptions. Contact us at https://www.isc.org/contact/ for more information. To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users. Kea-users mailing list Kea-users@lists.isc.org https://lists.isc.org/mailman/listinfo/kea-users