How to setup Kea DHCPv6 Server with Ubuntu 23.10

In this article I will show you how to install and configure Kea DHCPv6 server on Ubuntu 23.10. Kea DHCP server is the successor of ISC DHCP server which recently got obsolete and is no longer maintained by ISC consortium.

Install kea dhcpv6 server

sudo apt update

sudo apt install kea-dhcp6-server

rename /etc/kea/kea-dhcp6.conf to kea-dhcp6.conf.bak 

sudo mv /etc/kea/kea-dhcp6.conf /etc/kea/kea-dhcp6.conf.bak

Create a new, empty configfile by using your favorite texteditor

sudo nano /etc/kea/kea-dhcp6.conf 

Copy/paste the content below and adjust the italic options as required

{
  “Dhcp6”: {
  “interfaces-config”: {
  “interfaces”: [ “ethx” ]
    },
 
    “control-socket”: {
        “socket-type”: “unix”,
        “socket-name”: “/run/kea/kea6-ctrl-socket”
    },
 
“lease-database”: {
    “type”: “memfile”,
        “persist”: true,
        “name”: “/var/lib/kea/kea-leases6.csv”,
    “lfc-interval”: 3600
},
 
    “renew-timer”: 15840,
    “rebind-timer”: 27720,
    “valid-lifetime”: 31680,
    “reservation-mode”: “out-of-pool”,
 
    “dhcp-ddns”: {
       “enable-updates”: true
    },
 
    “ddns-qualifying-suffix”: “smoky020.nl“,
    “ddns-override-client-update”: true,
    “ddns-override-no-update”: true,
    “ddns-replace-client-name”: “always”,
    “ddns-update-on-renew”: true,
 
“option-data”: [
      {
        “name”: “dns-servers”,
        “data”: “ip address“,
            “always-send”: true
      },
        {
        “name”: “domain-search”,
            “data”: “smoky020.nl“,
            “always-send”: true
        }
],
 
    “loggers”: [ {
    “name”: “kea-dhcp6”,
    “output_options”: [ {
    “output”: “stdout”
    }
    ],
        “severity”: “DEBUG”,
        “debuglevel”: 0
    }
    ],
 
“subnet6”: [
      {
        “id”: 1,
        “subnet”: “subnet/64“,
            “interface”: “ethx“,
            “pools”: [
            {
               “pool”: “ip start-ip end
            }
        ],
 
“reservations”: [
        {
            “duid”: “duid“,
            “ip-addresses”: [ “ip address” ],
            “hostname”: “hostname-v6
        },
        {
            “duid”: “duid“,
            “ip-addresses”:  [ “ip address” ],
            “hostname”: “hostname-v6
        }
        ]
     }
     ]
  }
}

Save the .conf and restart kea dhcpv6 server

sudo systemctl restart kea-dhcp6-server

Leave a Reply