media.readthedocs.orgcontents 1 introduction 3 1.1 supported platforms. . . . . . . . . . . . . . ....
TRANSCRIPT
-
Kea Administrator Reference ManualDocumentation
Release 1.9.5-git
Internet Systems Consortium
Feb 24, 2021
-
Contents
1 Introduction 31.1 Supported platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Regularly tested platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.2 Best effort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.3 Community maintained . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.4 Unsupported platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Required Software at Run-Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Kea Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Quick Start 72.1 Quick Start Guide using tarball . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Quick Start Guide using Native Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Quick Start Guide for DHCPv4 and DHCPv6 Services . . . . . . . . . . . . . . . . . . . . . . . . . 82.4 Running the Kea Servers Directly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Installation 113.1 Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2 Installation Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.3 Build Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.4 Installation From Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4.1 Download Tar File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.4.2 Retrieve From Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.4.3 Configure Before the Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.4.4 Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.4.5 Install . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.4.6 Cross-Building . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.5 DHCP Database Installation and Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.5.1 Building with MySQL Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.5.2 Building with PostgreSQL support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.5.3 Building with CQL (Cassandra) Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.6 Hammer Building Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.7 Running Kea From a Non-root Account on Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4 Kea Database Administration 214.1 Databases and Database Version Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.2 The kea-admin Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.3 Supported Backends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
i
-
4.3.1 Memfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.3.1.1 Upgrading Memfile Lease Files from an Earlier Version of Kea . . . . . . . . . . . 22
4.3.2 MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.3.2.1 First-Time Creation of the MySQL Database . . . . . . . . . . . . . . . . . . . . . 234.3.2.2 Upgrading a MySQL Database from an Earlier Version of Kea . . . . . . . . . . . 244.3.2.3 Simple MySQL tweak to gain performance . . . . . . . . . . . . . . . . . . . . . . 25
4.3.3 PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.3.3.1 First-Time Creation of the PostgreSQL Database . . . . . . . . . . . . . . . . . . . 254.3.3.2 Initialize the PostgreSQL Database Using kea-admin . . . . . . . . . . . . . . . . 274.3.3.3 Upgrading a PostgreSQL Database from an Earlier Version of Kea . . . . . . . . . 27
4.3.4 Cassandra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.3.4.1 First-Time Creation of the Cassandra Database . . . . . . . . . . . . . . . . . . . . 284.3.4.2 Upgrading a Cassandra Database from an Earlier Version of Kea . . . . . . . . . . 28
4.3.5 Using Read-Only Databases with Host Reservations . . . . . . . . . . . . . . . . . . . . . . 294.3.6 Limitations Related to the Use of SQL Databases . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.6.1 Year 2038 Issue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5 Kea Configuration 315.1 JSON Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1.1 JSON Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.1.2 Comments and User Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.1.3 Simplified Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 Kea Configuration Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.2.1 Applicability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.2.2 CB Capabilities and Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.2.3 CB Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.2.4 Configuration Sharing and Server Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6 Managing Kea with keactrl 396.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396.2 Command Line Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396.3 The keactrl Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396.4 Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416.5 Overriding the Server Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7 The Kea Control Agent 457.1 Overview of the Kea Control Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457.3 Secure Connections (version before 1.9.5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477.4 Secure Connections (since version 1.9.5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497.5 Starting the Control Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507.6 Connecting to the Control Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
8 The DHCPv4 Server 518.1 Starting and Stopping the DHCPv4 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518.2 DHCPv4 Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528.2.2 Lease Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.2.2.1 Memfile - Basic Storage for Leases . . . . . . . . . . . . . . . . . . . . . . . . . . 558.2.2.2 Lease Database Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568.2.2.3 Cassandra-Specific Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.2.3 Hosts Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598.2.3.1 DHCPv4 Hosts Database Configuration . . . . . . . . . . . . . . . . . . . . . . . 598.2.3.2 Using Read-Only Databases for Host Reservations with DHCPv4 . . . . . . . . . . 60
8.2.4 Interface Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
ii
-
8.2.5 Issues with Unicast Responses to DHCPINFORM . . . . . . . . . . . . . . . . . . . . . . . 638.2.6 IPv4 Subnet Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648.2.7 IPv4 Subnet Prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648.2.8 Configuration of IPv4 Address Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658.2.9 Sending T1 (Option 58) and T2 (Option 59) . . . . . . . . . . . . . . . . . . . . . . . . . . 668.2.10 Standard DHCPv4 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678.2.11 Custom DHCPv4 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758.2.12 DHCPv4 Private Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788.2.13 DHCPv4 Vendor-Specific Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808.2.14 Nested DHCPv4 Options (Custom Option Spaces) . . . . . . . . . . . . . . . . . . . . . . 838.2.15 Unspecified Parameters for DHCPv4 Option Configuration . . . . . . . . . . . . . . . . . . 848.2.16 Stateless Configuration of DHCPv4 Clients . . . . . . . . . . . . . . . . . . . . . . . . . . 858.2.17 Client Classification in DHCPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.2.17.1 Setting Fixed Fields in Classification . . . . . . . . . . . . . . . . . . . . . . . . . 868.2.17.2 Using Vendor Class Information in Classification . . . . . . . . . . . . . . . . . . 878.2.17.3 Defining and Using Custom Classes . . . . . . . . . . . . . . . . . . . . . . . . . 888.2.17.4 Required Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
8.2.18 DDNS for DHCPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898.2.18.1 DHCP-DDNS Server Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . 928.2.18.2 When Does the kea-dhcp4 Server Generate a DDNS Request? . . . . . . . . . . . . 928.2.18.3 kea-dhcp4 Name Generation for DDNS Update Requests . . . . . . . . . . . . . . 948.2.18.4 Sanitizing Client Host Name and FQDN Names . . . . . . . . . . . . . . . . . . . 95
8.2.19 Next Server (siaddr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968.2.20 Echoing Client-ID (RFC 6842) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978.2.21 Using Client Identifier and Hardware Address . . . . . . . . . . . . . . . . . . . . . . . . . 978.2.22 Authoritative DHCPv4 Server Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998.2.23 DHCPv4-over-DHCPv6: DHCPv4 Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998.2.24 Sanity Checks in DHCPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008.2.25 Storing Extended Lease Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1018.2.26 Multi-Threading Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1018.2.27 Multi-Threading Settings in Different Backends . . . . . . . . . . . . . . . . . . . . . . . . 1028.2.28 IPv6-only Preferred Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028.2.29 Lease Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
8.3 Host Reservation in DHCPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048.3.1 Address Reservation Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058.3.2 Conflicts in DHCPv4 Reservations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068.3.3 Reserving a Hostname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068.3.4 Including Specific DHCPv4 Options in Reservations . . . . . . . . . . . . . . . . . . . . . 1078.3.5 Reserving Next Server, Server Hostname, and Boot File Name . . . . . . . . . . . . . . . . 1088.3.6 Reserving Client Classes in DHCPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1098.3.7 Storing Host Reservations in MySQL, PostgreSQL, or Cassandra . . . . . . . . . . . . . . . 1108.3.8 Fine-Tuning DHCPv4 Host Reservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1108.3.9 Global Reservations in DHCPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158.3.10 Pool Selection with Client Class Reservations . . . . . . . . . . . . . . . . . . . . . . . . . 1178.3.11 Subnet Selection with Client Class Reservations . . . . . . . . . . . . . . . . . . . . . . . . 1178.3.12 Multiple Reservations for the Same IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
8.4 Shared Networks in DHCPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1208.4.1 Local and Relayed Traffic in Shared Networks . . . . . . . . . . . . . . . . . . . . . . . . . 1238.4.2 Client Classification in Shared Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1258.4.3 Host Reservations in Shared Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.5 Server Identifier in DHCPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1278.6 How the DHCPv4 Server Selects a Subnet for the Client . . . . . . . . . . . . . . . . . . . . . . . . 128
8.6.1 Using a Specific Relay Agent for a Subnet . . . . . . . . . . . . . . . . . . . . . . . . . . . 1288.6.2 Segregating IPv4 Clients in a Cable Network . . . . . . . . . . . . . . . . . . . . . . . . . 129
iii
-
8.7 Duplicate Addresses (DHCPDECLINE Support) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1308.8 Statistics in the DHCPv4 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1308.9 Management API for the DHCPv4 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1338.10 User Contexts in IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1358.11 Supported DHCP Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.11.1 Known RFC Violations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1368.12 DHCPv4 Server Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1368.13 Kea DHCPv4 Server Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1378.14 Configuration Backend in DHCPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
8.14.1 Supported Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1378.14.2 Enabling Configuration Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
9 The DHCPv6 Server 1419.1 Starting and Stopping the DHCPv6 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1419.2 DHCPv6 Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
9.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1429.2.2 Lease Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
9.2.2.1 Memfile - Basic Storage for Leases . . . . . . . . . . . . . . . . . . . . . . . . . . 1449.2.2.2 Lease Database Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1459.2.2.3 Cassandra-Specific Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
9.2.3 Hosts Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1479.2.3.1 DHCPv6 Hosts Database Configuration . . . . . . . . . . . . . . . . . . . . . . . 1489.2.3.2 Using Read-Only Databases for Host Reservations with DHCPv6 . . . . . . . . . . 149
9.2.4 Interface Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1509.2.5 IPv6 Subnet Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1519.2.6 IPv6 Subnet Prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1519.2.7 Unicast Traffic Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1529.2.8 Configuration of IPv6 Address Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1529.2.9 Subnet and Prefix Delegation Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1549.2.10 Prefix Exclude Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1549.2.11 Standard DHCPv6 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1559.2.12 Common Softwire46 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
9.2.12.1 Softwire46 Container Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1619.2.12.2 S46 Rule Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1629.2.12.3 S46 BR Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1629.2.12.4 S46 DMR Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1639.2.12.5 S46 IPv4/IPv6 Address Binding Option . . . . . . . . . . . . . . . . . . . . . . . . 1639.2.12.6 S46 Port Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
9.2.13 Custom DHCPv6 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1639.2.14 DHCPv6 Vendor-Specific Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669.2.15 Nested DHCPv6 Options (Custom Option Spaces) . . . . . . . . . . . . . . . . . . . . . . 1679.2.16 Unspecified Parameters for DHCPv6 Option Configuration . . . . . . . . . . . . . . . . . . 1699.2.17 Controlling the Values Sent for T1 and T2 Times . . . . . . . . . . . . . . . . . . . . . . . 1699.2.18 IPv6 Subnet Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1709.2.19 Rapid Commit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1719.2.20 DHCPv6 Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1719.2.21 Relay-Supplied Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1729.2.22 Client Classification in DHCPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
9.2.22.1 Defining and Using Custom Classes . . . . . . . . . . . . . . . . . . . . . . . . . 1739.2.22.2 Required Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
9.2.23 DDNS for DHCPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1759.2.23.1 DHCP-DDNS Server Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . 1789.2.23.2 When Does the kea-dhcp6 Server Generate a DDNS Request? . . . . . . . . . . . . 1799.2.23.3 kea-dhcp6 Name Generation for DDNS Update Requests . . . . . . . . . . . . . . 180
iv
-
9.2.23.4 Sanitizing Client FQDN Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1819.2.24 DHCPv4-over-DHCPv6: DHCPv6 Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1829.2.25 Sanity Checks in DHCPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849.2.26 Storing Extended Lease Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849.2.27 Multi-Threading Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1859.2.28 Multi-Threading Settings in Different Backends . . . . . . . . . . . . . . . . . . . . . . . . 1869.2.29 Lease Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
9.3 Host Reservation in DHCPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1879.3.1 Address/Prefix Reservation Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1899.3.2 Conflicts in DHCPv6 Reservations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1899.3.3 Reserving a Hostname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1909.3.4 Including Specific DHCPv6 Options in Reservations . . . . . . . . . . . . . . . . . . . . . 1919.3.5 Reserving Client Classes in DHCPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1929.3.6 Storing Host Reservations in MySQL, PostgreSQL, or Cassandra . . . . . . . . . . . . . . . 1939.3.7 Fine-Tuning DHCPv6 Host Reservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1939.3.8 Global Reservations in DHCPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1989.3.9 Pool Selection with Client Class Reservations . . . . . . . . . . . . . . . . . . . . . . . . . 1999.3.10 Subnet Selection with Client Class Reservations . . . . . . . . . . . . . . . . . . . . . . . . 2009.3.11 Multiple Reservations for the same IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
9.4 Shared Networks in DHCPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2039.4.1 Local and Relayed Traffic in Shared Networks . . . . . . . . . . . . . . . . . . . . . . . . . 2069.4.2 Client Classification in Shared Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2089.4.3 Host Reservations in Shared Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
9.5 Server Identifier in DHCPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2109.6 DHCPv6 Data Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2139.7 Stateless DHCPv6 (Information-Request Message) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2139.8 Support for RFC 7550 (now part of RFC 8415) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2149.9 Using a Specific Relay Agent for a Subnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2149.10 Segregating IPv6 Clients in a Cable Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2159.11 MAC/Hardware Addresses in DHCPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2169.12 Duplicate Addresses (DECLINE Support) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2179.13 Statistics in the DHCPv6 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2189.14 Management API for the DHCPv6 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2229.15 User Contexts in IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2239.16 Supported DHCPv6 Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2249.17 DHCPv6 Server Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2259.18 Kea DHCPv6 Server Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2259.19 Configuration Backend in DHCPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
9.19.1 Supported Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2269.19.2 Enabling Configuration Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
10 Database Connectivity 229
11 Lease Expiration 23111.1 Lease Reclamation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23111.2 Lease Reclamation Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23211.3 Configuring Lease Reclamation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23211.4 Configuring Lease Affinity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23411.5 Reclaiming Expired Leases via Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
12 Congestion Handling 23712.1 What is Congestion? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23712.2 Configuring Congestion Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
13 The DHCP-DDNS Server 241
v
-
13.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24113.1.1 DNS Server Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24113.1.2 Conflict Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24213.1.3 Dual-Stack Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
13.2 Starting and Stopping the DHCP-DDNS Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24213.3 Configuring the DHCP-DDNS Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
13.3.1 Global Server Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24313.3.2 Management API for the D2 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24413.3.3 TSIG Key List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24513.3.4 Forward DDNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
13.3.4.1 Adding Forward DDNS Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . 24713.3.4.1.1 Adding Forward DNS Servers . . . . . . . . . . . . . . . . . . . . . . . 247
13.3.5 Reverse DDNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24813.3.5.1 Adding Reverse DDNS Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
13.3.5.1.1 Adding Reverse DNS Servers . . . . . . . . . . . . . . . . . . . . . . . . 24913.3.6 User Contexts in DDNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25013.3.7 Example DHCP-DDNS Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 250
13.4 DHCP-DDNS Server Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25213.5 Supported Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
14 The LFC Process 25314.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25314.2 Command-Line Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
15 Client Classification 25515.1 Client Classification Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25515.2 Built-in Client Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25715.3 Using Expressions in Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
15.3.1 Logical operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26015.3.2 Substring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26015.3.3 Concat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26015.3.4 Ifelse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26015.3.5 Hexstring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
15.4 Configuring Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26115.5 Using Static Host Reservations In Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26215.6 Configuring Subnets With Class Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26215.7 Configuring Pools With Class Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26415.8 Using Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26515.9 Classes and Hooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26515.10 Debugging Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
16 Hooks Libraries 26716.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26716.2 Installing Hook Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26816.3 Configuring Hooks Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26916.4 Available Hooks Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27016.5 user_chk: Checking User Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27316.6 legal_log: Forensic Logging Hooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
16.6.1 Log File Naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27416.6.2 DHCPv4 Log Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27516.6.3 DHCPv6 Log Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27616.6.4 Configuring the Forensic Log Hooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27816.6.5 Database Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
16.7 flex_id: Flexible Identifiers for Host Reservations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
vi
-
16.8 flex_option Flexible Option for Option value settings . . . . . . . . . . . . . . . . . . . . . . . . . . 28316.9 host_cmds: Host Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
16.9.1 The subnet-id Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28516.9.2 The reservation-add Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28616.9.3 The reservation-get Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28716.9.4 The reservation-get-all Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28816.9.5 The reservation-get-page command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28916.9.6 The reservation-get-by-hostname Command . . . . . . . . . . . . . . . . . . . . . . . . . . 29116.9.7 The reservation-get-by-id Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29216.9.8 The reservation-del Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
16.10 lease_cmds: Lease Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29416.10.1 The lease4-add, lease6-add Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29516.10.2 The lease6-bulk-apply Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29716.10.3 The lease4-get, lease6-get Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29916.10.4 The lease4-get-all, lease6-get-all Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 30116.10.5 The lease4-get-page, lease6-get-page Commands . . . . . . . . . . . . . . . . . . . . . . . 30216.10.6 The lease4-get-by-*, lease6-get-by-* Commands . . . . . . . . . . . . . . . . . . . . . . . 30416.10.7 The lease4-del, lease6-del Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30416.10.8 The lease4-update, lease6-update Commands . . . . . . . . . . . . . . . . . . . . . . . . . 30516.10.9 The lease4-wipe, lease6-wipe Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 30616.10.10The lease4-resend-ddns, lease6-resend-ddns Commands . . . . . . . . . . . . . . . . . . . 306
16.11 subnet_cmds: Subnet Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30716.11.1 The subnet4-list Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30816.11.2 The subnet6-list Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30816.11.3 The subnet4-get Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30916.11.4 The subnet6-get Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31016.11.5 The subnet4-add Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31016.11.6 The subnet6-add Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31116.11.7 The subnet4-update Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31216.11.8 The subnet6-update Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31316.11.9 The subnet4-del Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31316.11.10The subnet6-del Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31416.11.11The network4-list, network6-list Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 31516.11.12The network4-get, network6-get Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 31516.11.13The network4-add, network6-add Commands . . . . . . . . . . . . . . . . . . . . . . . . . 31616.11.14The network4-del, network6-del Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 31716.11.15The network4-subnet-add, network6-subnet-add Commands . . . . . . . . . . . . . . . . . 31816.11.16The network4-subnet-del, network6-subnet-del Commands . . . . . . . . . . . . . . . . . . 319
16.12 BOOTP Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32016.12.1 BOOTP Hooks Limitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
16.13 class_cmds: Class Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32116.13.1 The class-add Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32116.13.2 The class-update Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32216.13.3 The class-del Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32216.13.4 The class-list Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32316.13.5 The class-get Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
16.14 cb_cmds: Configuration Backend Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32416.14.1 Commands Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32416.14.2 Control Commands for DHCP Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32516.14.3 Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32516.14.4 remote-server4-del, remote-server6-del commands . . . . . . . . . . . . . . . . . . . . . . 32616.14.5 remote-server4-get, remote-server6-get commands . . . . . . . . . . . . . . . . . . . . . . 32716.14.6 remote-server4-get-all, remote-server6-get-all commands . . . . . . . . . . . . . . . . . . . 32816.14.7 remote-server4-set, remote-server6-set commands . . . . . . . . . . . . . . . . . . . . . . . 328
vii
-
16.14.8 The remote-global-parameter4-del, remote-global-parameter6-del Commands . . . . . . . . 32916.14.9 The remote-global-parameter4-get, remote-global-parameter6-get Commands . . . . . . . . 32916.14.10The remote-global-parameter4-get-all, remote-global-parameter6-get-all Commands . . . . 33116.14.11The remote-global-parameter4-set, remote-global-parameter6-set Commands . . . . . . . . 33216.14.12The remote-network4-del, remote-network6-del Commands . . . . . . . . . . . . . . . . . 33316.14.13The remote-network4-get, remote-network6-get Commands . . . . . . . . . . . . . . . . . 33316.14.14The remote-network4-list, remote-network6-list Commands . . . . . . . . . . . . . . . . . 33416.14.15The remote-network4-set, remote-network6-set Commands . . . . . . . . . . . . . . . . . . 33516.14.16The remote-option-def4-del, remote-option-def6-del Commands . . . . . . . . . . . . . . . 33616.14.17The remote-option-def4-get, remote-option-def6-get Commands . . . . . . . . . . . . . . . 33716.14.18The remote-option-def4-get-all, remote-option-def6-get-all Commands . . . . . . . . . . . 33716.14.19The remote-option-def4-set, remote-option-def6-set Commands . . . . . . . . . . . . . . . 33816.14.20The remote-option4-global-del, remote-option6-global-del Commands . . . . . . . . . . . . 33816.14.21The remote-option4-global-get, remote-option6-global-get Commands . . . . . . . . . . . . 33916.14.22The remote-option4-global-get-all, remote-option6-global-get-all Commands . . . . . . . . 33916.14.23The remote-option4-global-set, remote-option6-global-set Commands . . . . . . . . . . . . 34016.14.24The remote-option4-network-del, remote-option6-network-del Commands . . . . . . . . . . 34116.14.25The remote-option4-network-set, remote-option6-network-set Commands . . . . . . . . . . 34216.14.26The remote-option6-pd-pool-del Command . . . . . . . . . . . . . . . . . . . . . . . . . . 34216.14.27The remote-option6-pd-pool-set Command . . . . . . . . . . . . . . . . . . . . . . . . . . 34316.14.28The remote-option4-pool-del, remote-option6-pool-del Commands . . . . . . . . . . . . . . 34316.14.29The remote-option4-pool-set, remote-option6-pool-set Commands . . . . . . . . . . . . . . 34416.14.30The remote-option4-subnet-del, remote-option6-subnet-del Commands . . . . . . . . . . . 34516.14.31The remote-option4-subnet-set, remote-option6-subnet-set Commands . . . . . . . . . . . . 34516.14.32The remote-subnet4-del-by-id, remote-subnet6-del-by-id Commands . . . . . . . . . . . . . 34616.14.33The remote-subnet4-del-by-prefix, remote-subnet6-del-by-prefix Commands . . . . . . . . 34616.14.34The remote-subnet4-get-by-id, remote-subnet6-get-by-id Commands . . . . . . . . . . . . . 34716.14.35The remote-subnet4-get-by-prefix, remote-subnet6-get-by-prefix Commands . . . . . . . . 34716.14.36The remote-subnet4-list, remote-subnet6-list Commands . . . . . . . . . . . . . . . . . . . 34816.14.37The remote-subnet4-set, remote-subnet6-set Commands . . . . . . . . . . . . . . . . . . . 349
16.15 ha: High Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35016.15.1 Supported Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35116.15.2 Clocks on Active Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35216.15.3 Server States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35216.15.4 Scope Transition in a Partner-Down Case . . . . . . . . . . . . . . . . . . . . . . . . . . . 35516.15.5 Load-Balancing Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35616.15.6 Load Balancing with Advanced Classification . . . . . . . . . . . . . . . . . . . . . . . . . 35916.15.7 Hot-Standby Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36116.15.8 Passive-Backup Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36216.15.9 Lease Information Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36316.15.10Controlling Lease-Page Size Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36416.15.11Timeouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36516.15.12Pausing the HA State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36616.15.13Control Agent Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36816.15.14Controlled Shutdown and Maintenance of DHCP servers . . . . . . . . . . . . . . . . . . . 36916.15.15Upgrading from Older HA Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37016.15.16Control Commands for High Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
16.15.16.1The ha-sync Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37016.15.16.2The ha-scopes Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37116.15.16.3The ha-continue Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37116.15.16.4The ha-heartbeat Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37216.15.16.5The status-get Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37316.15.16.6The ha-maintenance-start Command . . . . . . . . . . . . . . . . . . . . . . . . . 37516.15.16.7The ha-maintenance-cancel Command . . . . . . . . . . . . . . . . . . . . . . . . 375
viii
-
16.15.16.8The ha-maintenance-notify Command . . . . . . . . . . . . . . . . . . . . . . . . 37516.15.16.9The ha-reset Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
16.16 stat_cmds: Supplemental Statistics Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37616.16.1 The stat-lease4-get, stat-lease6-get Commands . . . . . . . . . . . . . . . . . . . . . . . . 377
16.17 radius: RADIUS Server Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37916.17.1 Compilation and Installation of the RADIUS Hook . . . . . . . . . . . . . . . . . . . . . . 38016.17.2 RADIUS Hook Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
16.18 host_cache: Caching Host Reservations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38816.18.1 The cache-flush Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38816.18.2 The cache-clear Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38916.18.3 The cache-size Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38916.18.4 The cache-write Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38916.18.5 The cache-load Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38916.18.6 The cache-get Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39016.18.7 The cache-get-by-id Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39016.18.8 The cache-insert Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39016.18.9 The cache-remove Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
16.19 lease_query: Leasequery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39216.19.1 DHCPv4 Leasequery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39216.19.2 DHCPv4 Leasequery Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39316.19.3 DHCPv6 Leasequery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39316.19.4 DHCPv6 Leasequery Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
16.20 Run Script Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39616.21 User Contexts in Hooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
17 Statistics 40717.1 Statistics Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40717.2 Statistics Lifecycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40817.3 Commands for Manipulating Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
17.3.1 The statistic-get Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40817.3.2 The statistic-reset Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40917.3.3 The statistic-remove Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40917.3.4 The statistic-get-all Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40917.3.5 The statistic-reset-all Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41017.3.6 The statistic-remove-all Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41017.3.7 The statistic-sample-age-set Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41017.3.8 The statistic-sample-age-set-all Command . . . . . . . . . . . . . . . . . . . . . . . . . . . 41117.3.9 The statistic-sample-count-set Command . . . . . . . . . . . . . . . . . . . . . . . . . . . 41117.3.10 The statistic-sample-count-set-all Command . . . . . . . . . . . . . . . . . . . . . . . . . . 411
17.4 Time Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
18 Management API 41318.1 Data Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41418.2 Using the Control Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41518.3 Commands Supported by Both the DHCPv4 and DHCPv6 Servers . . . . . . . . . . . . . . . . . . . 416
18.3.1 The build-report Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41618.3.2 The config-get Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41618.3.3 The config-reload Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41618.3.4 The config-test Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41718.3.5 The config-write Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41718.3.6 The leases-reclaim Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41818.3.7 The libreload Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41818.3.8 The list-commands Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41818.3.9 The config-set Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
ix
-
18.3.10 The shutdown Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41918.3.11 The dhcp-disable Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42018.3.12 The dhcp-enable Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42018.3.13 The status-get Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42118.3.14 The server-tag-get Command: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42118.3.15 The config-backend-pull Command: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42118.3.16 The version-get Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
18.4 Commands Supported by the D2 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42218.5 Commands Supported by the Control Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
19 Logging 42319.1 Logging Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
19.1.1 Loggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42319.1.1.1 The name (string) Logger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42419.1.1.2 The severity (string) Logger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42719.1.1.3 The debuglevel (integer) Logger . . . . . . . . . . . . . . . . . . . . . . . . . . . 42819.1.1.4 The output_options (list) Logger . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
19.1.1.4.1 The output (string) Option . . . . . . . . . . . . . . . . . . . . . . . . . 42819.1.1.4.2 The flush (true of false) Option . . . . . . . . . . . . . . . . . . . . . . . 42819.1.1.4.3 The maxsize (integer) Option . . . . . . . . . . . . . . . . . . . . . . . . 42819.1.1.4.4 The maxver (integer) Option . . . . . . . . . . . . . . . . . . . . . . . . 42919.1.1.4.5 The pattern (string) Option . . . . . . . . . . . . . . . . . . . . . . . . . 429
19.1.2 Logging Message Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42919.1.2.1 Example Logger Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
19.1.3 Logging During Kea Startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
20 The Kea Shell 43320.1 Overview of the Kea Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43320.2 Shell Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
21 YANG/NETCONF Support 43521.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43521.2 Installing NETCONF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
21.2.1 Installing NETCONF on Ubuntu 18.04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43521.2.2 Installing NETCONF on CentOS 7.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
21.3 Quick Sysrepo Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43621.4 Supported YANG Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43821.5 Using the NETCONF Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43821.6 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43821.7 A kea-netconf Configuration Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44021.8 Starting and Stopping the NETCONF Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44221.9 A Step-by-Step NETCONF Agent Operation Example . . . . . . . . . . . . . . . . . . . . . . . . . 442
21.9.1 Setup of NETCONF Agent Operation Example . . . . . . . . . . . . . . . . . . . . . . . . 44321.9.2 Error Handling in NETCONF Operation Example . . . . . . . . . . . . . . . . . . . . . . . 44521.9.3 NETCONF Operation Example with Two Pools . . . . . . . . . . . . . . . . . . . . . . . . 44621.9.4 NETCONF Operation Example with Two Subnets . . . . . . . . . . . . . . . . . . . . . . . 44721.9.5 NETCONF Operation Example with Logging . . . . . . . . . . . . . . . . . . . . . . . . . 447
22 Monitoring Kea With Stork 44922.1 Kea Statistics in Grafana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
23 API Reference 45123.1 build-report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45323.2 cache-clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45323.3 cache-flush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
x
-
23.4 cache-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45423.5 cache-get-by-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45523.6 cache-insert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45523.7 cache-load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45723.8 cache-remove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45723.9 cache-size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45823.10 cache-write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45923.11 class-add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45923.12 class-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46023.13 class-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46123.14 class-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46123.15 class-update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46223.16 config-backend-pull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46323.17 config-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46323.18 config-reload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46423.19 config-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46523.20 config-test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46523.21 config-write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46623.22 dhcp-disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46723.23 dhcp-enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46723.24 ha-continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46823.25 ha-heartbeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46923.26 ha-maintenance-cancel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46923.27 ha-maintenance-notify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47023.28 ha-maintenance-start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47023.29 ha-reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47123.30 ha-scopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47223.31 ha-sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47223.32 lease4-add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47323.33 lease4-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47423.34 lease4-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47423.35 lease4-get-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47523.36 lease4-get-by-client-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47623.37 lease4-get-by-hostname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47723.38 lease4-get-by-hw-address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47823.39 lease4-get-page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47923.40 lease4-resend-ddns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48023.41 lease4-update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48123.42 lease4-wipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48123.43 lease6-add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48223.44 lease6-bulk-apply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48323.45 lease6-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48423.46 lease6-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48523.47 lease6-get-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48623.48 lease6-get-by-duid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48723.49 lease6-get-by-hostname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48823.50 lease6-get-page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48923.51 lease6-resend-ddns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49023.52 lease6-update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49123.53 lease6-wipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49123.54 leases-reclaim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49223.55 libreload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49323.56 list-commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49323.57 network4-add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
xi
-
23.58 network4-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49523.59 network4-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49623.60 network4-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49723.61 network4-subnet-add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49823.62 network4-subnet-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49823.63 network6-add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49923.64 network6-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50023.65 network6-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50123.66 network6-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50223.67 network6-subnet-add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50323.68 network6-subnet-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50323.69 remote-global-parameter4-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50423.70 remote-global-parameter4-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50523.71 remote-global-parameter4-get-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50623.72 remote-global-parameter4-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50723.73 remote-global-parameter6-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50823.74 remote-global-parameter6-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50923.75 remote-global-parameter6-get-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51023.76 remote-global-parameter6-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51123.77 remote-network4-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51223.78 remote-network4-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51323.79 remote-network4-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51423.80 remote-network4-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51523.81 remote-network6-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51523.82 remote-network6-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51623.83 remote-network6-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51723.84 remote-network6-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51823.85 remote-option-def4-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51923.86 remote-option-def4-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52023.87 remote-option-def4-get-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52123.88 remote-option-def4-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52223.89 remote-option-def6-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52323.90 remote-option-def6-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52423.91 remote-option-def6-get-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52523.92 remote-option-def6-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52623.93 remote-option4-global-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52723.94 remote-option4-global-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52823.95 remote-option4-global-get-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52923.96 remote-option4-global-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53023.97 remote-option4-network-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53123.98 remote-option4-network-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53223.99 remote-option4-pool-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53323.100remote-option4-pool-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53423.101remote-option4-subnet-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53523.102remote-option4-subnet-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53623.103remote-option6-global-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53723.104remote-option6-global-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53723.105remote-option6-global-get-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53823.106remote-option6-global-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53923.107remote-option6-network-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54023.108remote-option6-network-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54123.109remote-option6-pd-pool-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54223.110remote-option6-pd-pool-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54323.111remote-option6-pool-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
xii
-
23.112remote-option6-pool-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54523.113remote-option6-subnet-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54623.114remote-option6-subnet-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54723.115remote-server4-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54823.116remote-server4-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54923.117remote-server4-get-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55023.118remote-server4-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55123.119remote-server6-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55223.120remote-server6-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55323.121remote-server6-get-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55423.122remote-server6-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55523.123remote-subnet4-del-by-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55623.124remote-subnet4-del-by-prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55623.125remote-subnet4-get-by-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55723.126remote-subnet4-get-by-prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55823.127remote-subnet4-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55923.128remote-subnet4-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56023.129remote-subnet6-del-by-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56123.130remote-subnet6-del-by-prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56223.131remote-subnet6-get-by-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56323.132remote-subnet6-get-by-prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56423.133remote-subnet6-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56523.134remote-subnet6-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56623.135reservation-add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56723.136reservation-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56823.137reservation-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56923.138reservation-get-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57023.139reservation-get-by-hostname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57023.140reservation-get-by-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57123.141reservation-get-page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57223.142server-tag-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57223.143shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57323.144stat-lease4-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57423.145stat-lease6-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57423.146statistic-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57523.147statistic-get-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57623.148statistic-remove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57723.149statistic-remove-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57823.150statistic-reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57823.151statistic-reset-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57923.152statistic-sample-age-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58023.153statistic-sample-age-set-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58023.154statistic-sample-count-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58123.155statistic-sample-count-set-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58223.156status-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58323.157subnet4-add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58423.158subnet4-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58423.159subnet4-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58523.160subnet4-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58623.161subnet4-update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58723.162subnet6-add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58823.163subnet6-del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58823.164subnet6-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58923.165subnet6-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
xiii
-
23.166subnet6-update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59123.167version-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
24 Manual Pages 59324.1 kea-dhcp4 - DHCPv4 server in Kea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
24.1.1 Synopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59324.1.2 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59324.1.3 Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59324.1.4 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59424.1.5 Mailing Lists and Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59424.1.6 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59424.1.7 See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
24.2 kea-dhcp6 - DHCPv6 server in Kea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59424.2.1 Synopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59424.2.2 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59424.2.3 Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59524.2.4 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59524.2.5 Mailing Lists and Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59524.2.6 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59524.2.7 See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
24.3 kea-ctrl-agent - Control Agent process in Kea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59624.3.1 Synopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59624.3.2 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59624.3.3 Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59624.3.4 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59624.3.5 Mailing Lists and Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59724.3.6 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59724.3.7 See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
24.4 keactrl - Shell script for managing Kea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59724.4.1 Synopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59724.4.2 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59724.4.3 Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59724.4.4 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59724.4.5 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59824.4.6 Mailing Lists and Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59824.4.7 See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
24.5 kea-admin - Shell script for managing Kea databases . . . . . . . . . . . . . . . . . . . . . . . . . . 59824.5.1 Synopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59824.5.2 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59924.5.3 Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59924.5.4 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59924.5.5 Mailing Lists and Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60024.5.6 See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
24.6 kea-dhcp-ddns - DHCP-DDNS process in Kea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60024.6.1 Synopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60024.6.2 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60024.6.3 Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60024.6.4 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60024.6.5 Mailing Lists and Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60124.6.6 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60124.6.7 See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
24.7 kea-lfc - Lease File Cleanup process in Kea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60124.7.1 Synopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60124.7.2 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
xiv
-
24.7.3 Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60124.7.4 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60224.7.5 Mailing Lists and Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60224.7.6 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60224.7.7 See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
24.8 kea-shell - Text client for Control Agent process . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60324.8.1 Synopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60324.8.2 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60324.8.3 Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60324.8.4 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60324.8.5 Mailing Lists and Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60424.8.6 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60424.8.7 See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
24.9 kea-netconf - NETCONF agent for Kea environment . . . . . . . . . . . . . . . . . . . . . . . . . . 60424.9.1 Synopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60424.9.2 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60424.9.3 Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60424.9.4 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60524.9.5 Mailing Lists and Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60524.9.6 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60524.9.7 See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
24.10 perfdhcp - DHCP benchmarking tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60524.10.1 Synopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60524.10.2 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60524.10.3 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60624.10.4 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60724.10.5 DHCPv4-Only Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60924.10.6 DHCPv6-Only Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60924.10.7 Template-Related Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60924.10.8 Options Controlling a Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61024.10.9 Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61024.10.10Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61024.10.11Exit Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61024.10.12Usage Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61024.10.13Mailing Lists and Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61124.10.14History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61124.10.15See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
25 Kea Messages Manual 61325.1 ALLOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61325.2 ASIODNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62325.3 BOOTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62625.4 COMMAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62725.5 CTRL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63025.6 DATABASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63125.7 DCTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63225.8 DHCP4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63525.9 DHCP6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65325.10 DHCPSRV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67225.11 DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70025.12 EVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71025.13 FLEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71425.14 HA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71425.15 HOOKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726
xv
-
25.16 HOSTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73025.17 HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73625.18 LEASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73925.19 LFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74125.20 LOGIMPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74225.21 LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74225.22 MYSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74425.23 NETCONF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75925.24 STAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76225.25 USER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
26 Kea Flow Diagrams 76526.1 Main Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76526.2 DHCPv4 Packet Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76526.3 DHCP Request Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76826.4 DHCPv4 Subnet Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76826.5 DHCPv4 Special Case of Double-booting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76826.6 DHCPv4 Allocate Lease . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76826.7 Lease States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76826.8 Checking for Host Reservations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76826.9 Building the Options List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
27 Acknowledgments 781
28 Indices and Tables 783
xvi
-
Kea Administrator Reference Manual Documentation, Release 1.9.5-git
Kea is an open source implementation of the Dynamic Host Con-figuration Protocol (DHCP) servers, developed and maintainedby Internet Systems Consortium (ISC).
This is the reference guide for Kea version 1.9.5-git. Links to themost up-to-date version of this document (in PDF, HTML, andplain text formats), along with other documents for Kea, can befound in ISC’s Knowledgebase.
Contents 1
https://kb.isc.org/docs/kea-administrator-reference-manual
-
Kea Administrator Reference Manual Documentation, Release 1.9.5-git
2 Contents
-
CHAPTER 1
Introduction
Kea is the next generation of DHCP software developed by ISC. It supports both DHCPv4 and DHCPv6 protocolsalong with their extensions, e.g. prefix delegation and dynamic updates to DNS.
This guide covers Kea version 1.9.5-git.
For information about supported platforms see Supported platforms.
1.1 Supported platforms
In general, this version of Kea will build and run on any POSIX-compliant system with a C++ compiler (with C++11support), the Botan cryptographic library, the log4cplus logging library and the Boost system library.
The Kea build has been checked with GCC g++ 4.8.5 and some later versions, and Clang 800.0.38 and some laterversions.
ISC regularly tests Kea on many operating systems and architectures, but lacks the resources to test all of them.Consequently, ISC is only able to offer support on a “best effort” basis for some.
1.1.1 Regularly tested platforms
As of January, 2020, Kea is officially supported on CentOS, Fedora, Ubuntu, Debian, and FreeBSD systems. Kea-1.9.5-git builds have been tested on:
• CentOS Linux — 7, 8
• Fedora — 31, 32
• Ubuntu — 16.04, 18.04, 20.04
• Debian GNU/Linux — 9, 10
There are currently no plans to port Kea to Windows systems.
3
-
Kea Administrator Reference Manual Documentation, Release 1.9.5-git
1.1.2 Best effort
The following are platforms on which Kea is known to build and run. ISC makes every effort to fix bugs on theseplatforms, but may be unable to do so quickly due to lack of hardware, less familiarity on the part of engineering staff,and other constraints.
• FreeBSD — 11.3, 12.0
• Alpine Linux — 3.10, 3.11, 3.12
• macOS — 10.13, 10.14
1.1.3 Community maintained
These systems may not all have the required dependencies for building Kea easily available, although it will be possiblein many cases to compile those directly from source. The community and interested parties may wish to help withmaintenance, and we welcome patch contributions, although we cannot guarantee that we will accept them. Allcontributions will be assessed against the risk of adverse effect on officially supported platforms.
Platforms past or close to their respective EOL dates, such as:
• Ubuntu 14.04, 18.10, 19.04, 19.10
• Fedora 30
• CentOS 6
• Debian 8 (Jessie)
• FreeBSD 10.x
1.1.4 Unsupported platforms
These are platforms on which Kea 1.7+ is known not to build or run:
• Windows (all versions)
• Windows Server (all versions)
• Any platform with OpenSSL 1.0.1 or earlier, which does not also have Botan as an alternative
• Any platform with log4cplus version 1.0.2 or earlier.
1.2 Required Software at Run-Time
Running Kea uses various extra software packages which may not be provided in the default installation of someoperating systems, nor in the standard package collections. You may need to install this required software separately.(For the build requirements, also see Build Requirements.)
• Kea supports two cryptographic libraries: Botan and OpenSSL. Only one of them is required to be installedduring compilation. Kea uses the Botan library for C++ (https://botan.randombit.net/), version 2.0 or later. Notethat support for Botan versions earlier than 2.0 was removed in Kea 1.7.0 and later. As an alternative to Botan,Kea can use the OpenSSL cryptographic library (https://www.openssl.org/), version 1.0.2 or later.
• Kea uses the log4cplus C++ logging library (https://sourceforge.net/p/log4cplus/wiki/Home/). It requireslog4cplus version 1.0.3 or later.
• Kea requires the Boost system library (https://www.boost.org/). Building with the header-only version of Boostis no longer recommended.
4 Chapter 1. Introduction
https://botan.randombit.net/https://www.openssl.org/https://sourceforge.net/p/log4cplus/wiki/Home/https://www.boost.org/
-
Kea Administrator Reference Manual Documentation, Release 1.9.5-git
Some optional features of Kea have additional dependencies.
• To store lease information in a MySQL database, Kea requires MySQL headers and libraries. This is an optionaldependency; Kea can be built without MySQL support.
• To store lease information in a PostgreSQ