# This is an example configuration file for DHCPv6 server in Kea. # It attempts to showcase some of the more advanced features. # Topology wise, it's a basic scenario with one IPv6 subnet configured. # It is assumed that one subnet (2001:db8:1::/64) is available directly # over ethX interface. # # The following features are currently showcased here: # 1. Configuration of MAC/hardware address sources in DHCPv6 { "Dhcp6": { # Kea is told to listen on ethX network interface only. "interfaces-config:" { "interfaces": [ "ethX" ] }, # We need to specify lease type. As of May 2014, three backends are supported: # memfile, mysql and pgsql. We'll just use memfile, because it doesn't require # any prior set up. "lease-database": { "type": "memfile" }, # Kea 0.9.1 introduced MAC/hardware addresses support in DHCPv6. There is # no single reliable method of getting MAC address information in DHCPv6. # Kea supports several methods. Depending on your network set up, some # methods may be more preferable than others, hence the configuration # parameter. 'mac-sources' is a list of methods. Allowed parameters are: # any, raw, duid, ipv6-link-local, client-link-addr-option, rfc6939 (which # is an alias for client-link-addr-option), remote-id, rfc4649 (which is an # alias for remote-id, subscriber-id, rfc4580 (which is an alias for # subscriber-id) and docsis. # # Note that the order matters. Methods are attempted one by one in the order # specified until hardware address is obtained. If you don't care which method # is used, using 'any' is marginally faster than enumerating them all. # # If mac-sources are not specified, a default value of 'any' is used. "mac-sources": [ "client-link-addr-option", "duid", "ipv6-link-local" ], # 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 repond # 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": "ethX" } ] }, # The following configures logging. Kea will log all debug messages # to /var/log/kea-debug.log file. "Logging": { "loggers": [ { "name": "kea-dhcp6", "output_options": [ { "output": "/var/log/kea-debug.log" } ], "debuglevel": 99, "severity": "DEBUG" } ] } }