// This is an example configuration file for DHCPv6 server in Kea. // It's a basic scenario with one IPv6 subnet configured. It is // assumed that one subnet (2001:db8:1::/64 is available directly // over eth0 interface. { "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. "lease-database": { "type": "memfile", "lfc-interval": 3600 }, // 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": [ { "pools": [ { "pool": "2001:db8:1::/80" } ], "subnet": "2001:db8:1::/64", "interface": "eth0" } ], // Enable connectivity with kea-dhcp-ddns // (Required for dynamic DNS updates) "dhcp-ddns" : { "enable-updates" : true, "server-ip" : "3001::1", "server-port" : 3432, "sender-ip" : "3001::2", "sender-port" : 3433, "max-queue-size" : 2048, "ncr-protocol" : "UDP", "ncr-format" : "JSON" }, // Enable DDNS updates and configure DDNS update behavior "ddns-send-updates" : true, "ddns-override-no-update" : true, "ddns-override-client-update" : true, "ddns-replace-client-name" : "when-present", "ddns-generated-prefix" : "test.prefix", "ddns-qualifying-suffix" : "test.suffix.", "ddns-update-on-renew" : false, "ddns-use-conflict-resolution" : true, "hostname-char-set": "[^A-Za-z0-9.-]", "hostname-char-replacement": "x", // 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" } ] } }