// This is an example configuration file for DHCPv6 server in Kea. // It provides parameters controlling processing of expired leases, // a.k.a. leases reclamation. { "Dhcp6": { // Kea is told to listen on eth0 interface only. "interfaces-config": { "interfaces": [ "eth0" ] }, // We need to specify the database used to store leases. As of // June 2022, three database backends are supported: MySQL, // PostgreSQL and the in-memory database, Memfile. // We'll use memfile because it doesn't require any prior set up. // Note, we're setting the maximum number of row read errors to 100, // (defaults to 0, meaning unlimited). "lease-database": { "type": "memfile", "lfc-interval": 3600, "max-row-errors": 100 }, // The following parameters control processing expired leases. Expired leases // will be reclaimed periodically according to the "reclaim-timer-wait-time" // parameter. Reclaimed leases will be held in the database for 1800s to // facilitate lease affinity. After this period the leases will be removed. // The frequency of removal is controlled by the // "flush-reclaimed-timer-wait-time" parameter. The lease reclamation // routine will process at most 500 leases or will last for at most // 100ms, during a single run. If there are still some unreclaimed // leases after 10 attempts, a warning message is issued. // If both "flush-reclaimed-timer-wait-time" and "hold-reclaimed-time" are not // 0, when the client sends a release message the lease is expired instead of // being deleted from lease storage. "expired-leases-processing": { "reclaim-timer-wait-time": 5, "hold-reclaimed-time": 1800, "flush-reclaimed-timer-wait-time": 10, "max-reclaim-leases": 500, "max-reclaim-time": 100, "unwarned-reclaim-cycles": 10 }, // Addresses will be assigned with preferred and valid lifetimes // being 3000 and 4000, respectively. Client is told to start // renewing after 1000 seconds. If the server does not respond // after 2000 seconds since the lease was granted, client is supposed // to start REBIND procedure (emergency renewal that allows switching // to a different server). "preferred-lifetime": 3000, "valid-lifetime": 4000, "renew-timer": 1000, "rebind-timer": 2000, // The following list defines subnets. Each subnet consists of at // least subnet and pool entries. "subnet6": [ { "id": 1, "pools": [ { "pool": "2001:db8:1::/80" } ], "subnet": "2001:db8:1::/64", "interface": "eth0" } ], // The following configures logging. It assumes that messages with at // least informational level (info, warn, error and fatal) should be // logged to stdout. "loggers": [ { "name": "kea-dhcp6", "output_options": [ { "output": "stdout" } ], "debuglevel": 0, "severity": "INFO" } ] } }