Kea is an open-source Dynamic Host Configuration Protocol (DHCP) server developed by the Internet Systems Consortium (ISC). You can use this service to manage and distribute IP addresses of hosts and services on your local network.
Note that Kea requires the PostgreSQL service to store DHCP data. For instructions on adding a PostgreSQL instance, see PostgreSQL.
To add a Kea service instance:
- In the Secure Edge Portal, navigate to Marketplace > Service Listing and select Kea.
- Enter a name for the service instance, and select the network for this instance.
- Specify a static IP Address for this service instance. It should belong to the same subnet as the local network CIDR, but must be outside the DHCP range. For example, if your local network uses 10.10.0.0/24, and the DHCP range is 10.10.0.15 - 10.10.0.253, select a static IP address from the range 10.10.0.1 - 10.10.0.14.
- The Kind field is visible only if you're adding the service to a cluster. Specify how to run the service in the cluster:
- Daemon: One instance of the service runs on all nodes in the cluster.
- Replica: One instance of the service runs on selected nodes using labels in the Run Services in Nodes dropdown.
- Singleton: One instance of the service runs only on the master node, or the newly elected master if the original fails.You must select the Singleton option for the Kea service to prevent multiple DHCP servers running on the same network.
- Continue to the Configuration tab and select an option for the DHCPv4 configuration: either a new or a previously uploaded configuration.ImportantThe Kea DHCPv4 configuration filename must be kea-dhcp4.conf
- Kea DDNS: Enable this option to use Kea Dynamic DNS (DDNS) to update DNS mapping based on DHCP lease change events. Then upload either a new or previously uploaded configuration.ImportantThe Kea DDNS configuration filename must be kea-dhcp-ddns.confIf you are using PowerDNS image version “powerdns-4.5.4-1” (iotium/powerdns:4.5.4-1amd64), make sure to update the DDNS port configuration in the kea-dhcp-ddns.conf file as shown below. The authoritative server in the latest version listens on port 5300 for dynamic DNS updates.
{ "DhcpDdns": { // Specify a catalog of forward DNS servers (i.e., DNS servers that maintain name-to-address // mapping) so that the DDNS server can compare the FQDN in the DNS update requests against // the domain of each DNS server in the catalog. "forward-ddns": { "ddns-domains": [{ // Specify the domain for which forward DNS entries are to be updated. "name": "example.org.", // Specify the DNS servers that are serving this domain. "dns-servers": [{"ip-address": "20.4.0.3", "port": 5300 }] }] }, // Ignore the reverse update portions of DNS update requests "reverse-ddns": {"ddns-domains": []}, // Specify settings for the logging system. "loggers": [{ // Configure logging for the DDNS server "name": "kea-dhcp-ddns", // Specify where the log messages are sent "output_options": [{"output": "stdout"}], // Specify the category of messages to log. // Setting this to DEBUG will log *all* messages. "severity": "DEBUG", // When severity is set to DEBUG, you can specify the verbosity of the messages, // with 0 being least verbose and 99 being most verbose. "debuglevel": 99 }], //------------------------------------------------------------------------------------------- // DON'T CHANGE ANY OF THE SETTINGS BELOW! // These are required for the proper functioning of Kea service. //------------------------------------------------------------------------------------------- "ip-address": "127.0.0.1", "port": 53001, "dns-server-timeout": 5000, "control-socket": { "socket-type": "unix", "socket-name": "/tmp/kea-ddns-socket.sock" } } }
- Continue to the Service tab. Select the Kea image version.
- Continue to the Remote Logging tab. Enable Remote Logging if you want to send service logs to a remote destination of your choice using Fluent Bit, an open-source log processor and forwarder.
- Select Fluent Bit Version: Select the Fluent Bit image version.
- Upload either a new Fluent Bit configuration or a previously uploaded one.ImportantThe Fluent Bit configuration filename must be fluent-bit.conf.
- Select Submit to finalize your changes.