Kea Administrator Reference Manual
From: https://kea.readthedocs.io/en/latest/index.html
Kea Administrator Reference Manual
Kea is an open source implementation of the Dynamic Host Configuration Protocol (DHCP) servers, developed and maintained by Internet Systems Consortium (ISC).
This is the reference guide for Kea version 2.3.9-git. Links to the most up-to-date version of this document (in PDF, HTML, and plain text formats) can be found on Read the Docs. Other useful Kea information can be found in our Knowledgebase.
- Introduction
- 1. Supported Platforms
- 1.1. Regularly Tested Platforms
- 1.2. Best-Effort
- 1.3. Community-Maintained
- 1.4. Unsupported Platforms
- 2. Required Software at Runtime
- 3. Kea Software
- Quick Start
- 1. Quick Start Guide Using tarball
- 2. Quick Start Guide Using Native Packages
- 3. Quick Start Guide for DHCPv4 and DHCPv6 Services
- 4. Running the Kea Servers Directly
- Installation
- 3.1. Packages
- 3.1.1. Installation From Cloudsmith Packages
- 3.1.2. Caveats When Upgrading Kea Packages
- 3.2. Installation Hierarchy
- 3.3. Build Requirements
- 3.4. Installation From Source
- 3.4.1. Download Tar File
- 3.4.2. Retrieve From Git
- 3.4.3. Configure Before the Build
- 3.4.4. Build
- 3.4.5. Install
- 3.4.6. Cross-Building
- 3.5. DHCP Database Installation and Configuration
- 3.5.1. Building with MySQL Support
- 3.5.2. Building with PostgreSQL support
- 3.6. Hammer Building Tool
- 3.7. Running Kea From a Non-root Account on Linux
- 3.8. Deprecated Features
- 3.8.1. Sysrepo 0.x or 1.x
- 3.8.2. libreload command
- Kea Database Administration
- 1. Databases and Schema Versions
- 2. The kea-admin Tool
- 3. Supported Backends
- 3.1. Memfile
- 3.1.1. Upgrading Memfile Lease Files From an Earlier Version of Kea
- 3.2. MySQL
- 3.2.1. MySQL 5.7 vs MySQL 8 vs MariaDB 10 and 11
- 3.2.2. First-Time Creation of the MySQL Database
- 3.2.3. Upgrading a MySQL Database From an Earlier Version of Kea
- 3.2.4. Improved Performance With MySQL
- 3.3. PostgreSQL
- 3.3.1. First-Time Creation of the PostgreSQL Database
- 3.3.2. Initialize the PostgreSQL Database Using kea-admin
- 3.3.3. Upgrading a PostgreSQL Database From an Earlier Version of Kea
- 3.3.4. PostgreSQL without OpenSSL support
- 3.3.5. Improved Performance With PostgreSQL
- 3.4. Using Read-Only Databases With Host Reservations
- 3.5. Limitations Related to the Use of SQL Databases
- 3.5.1. Year 2038 Issue
- Kea Configuration
- 1. JSON Configuration
- 1.1. JSON Syntax
- 1.2. Comments and User Context
- 1.3. Simplified Notation
- 2. Kea Configuration Backend
- 2.1. Applicability
- 2.2. CB Capabilities and Limitations
- 2.3. CB Components
- 2.4. Configuration Sharing and Server Tags
- 2.5. Configuration Files Inclusion
- Managing Kea with keactrl
- 1. Overview
- 2. Command Line Options
- 3. The keactrl Configuration File
- 4. Commands
- 5. Overriding the Server Selection
- 6. Native Packages and systemd
- The Kea Control Agent
- 1. Overview of the Kea Control Agent
- 2. Configuration
- 3. Secure Connections
- 4. Starting and Stopping the Control Agent
- 5. Connecting to the Control Agent
- The DHCPv4 Server
- 1. Starting and Stopping the DHCPv4 Server
- 2. DHCPv4 Server Configuration
- 2.1. Introduction
- 2.2. Lease Storage
- 2.2.1. Memfile - Basic Storage for Leases
- 2.2.2. Why Is Lease File Cleanup Necessary?
- 2.2.3. Lease Database Configuration
- 2.2.4. Tuning Database Timeouts
- 2.3. Hosts Storage
- 2.3.1. DHCPv4 Hosts Database Configuration
- 2.3.2. Using Read-Only Databases for Host Reservations With DHCPv4
- 2.3.3. Tuning Database Timeouts for Hosts Storage
- 2.4. Interface Configuration
- 2.5. Issues With Unicast Responses to DHCPINFORM
- 2.6. IPv4 Subnet Identifier
- 2.7. IPv4 Subnet Prefix
- 2.8. Configuration of IPv4 Address Pools
- 2.9. Sending T1 (Option 58) and T2 (Option 59)
- 2.10. Standard DHCPv4 Options
- 2.11. Custom DHCPv4 Options
- 2.12. DHCPv4 Private Options
- 2.13. DHCPv4 Vendor-Specific Options
- 2.14. Nested DHCPv4 Options (Custom Option Spaces)
- 2.15. Unspecified Parameters for DHCPv4 Option Configuration
- 2.16. Support for Long Options
- 2.17. Stateless Configuration of DHCPv4 Clients
- 2.18. Client Classification in DHCPv4
- 2.18.1. Setting Fixed Fields in Classification
- 2.18.2. Using Vendor Class Information in Classification
- 2.18.3. Defining and Using Custom Classes
- 2.18.4. Required Classification
- 2.19. DDNS for DHCPv4
- 2.19.1. DHCP-DDNS Server Connectivity
- 2.19.2. When Does the kea-dhcp4 Server Generate a DDNS Request?
- 2.19.3. kea-dhcp4 Name Generation for DDNS Update Requests
- 2.19.4. Sanitizing Client Host Name and FQDN Names
- 2.20. Next Server (siaddr)
- 2.21. Echoing Client-ID (RFC 6842)
- 2.22. Using Client Identifier and Hardware Address
- 2.23. Authoritative DHCPv4 Server Behavior
- 2.24. DHCPv4-over-DHCPv6: DHCPv4 Side
- 2.25. Sanity Checks in DHCPv4
- 2.26. Storing Extended Lease Information
- 2.27. Multi-Threading Settings
- 2.28. Multi-Threading Settings With Different Database Backends
- 2.29. IPv6-Only Preferred Networks
- 2.30. Lease Caching
- 2.31. Temporary Allocation on DHCPDISCOVER
- 3. Host Reservations in DHCPv4
- 3.1. Address Reservation Types
- 3.2. Conflicts in DHCPv4 Reservations
- 3.3. Reserving a Hostname
- 3.4. Including Specific DHCPv4 Options in Reservations
- 3.5. Reserving Next Server, Server Hostname, and Boot File Name
- 3.6. Reserving Client Classes in DHCPv4
- 3.7. Storing Host Reservations in MySQL or PostgreSQL
- 3.8. Fine-Tuning DHCPv4 Host Reservation
- 3.9. Global Reservations in DHCPv4
- 3.10. Pool Selection with Client Class Reservations
- 3.11. Subnet Selection with Client Class Reservations
- 3.12. Multiple Reservations for the Same IP
- 3.13. Host Reservations as Basic Access Control
- 4. Shared Networks in DHCPv4
- 4.1. Local and Relayed Traffic in Shared Networks
- 4.2. Client Classification in Shared Networks
- 4.3. Host Reservations in Shared Networks
- 5. Server Identifier in DHCPv4
- 6. How the DHCPv4 Server Selects a Subnet for the Client
- 6.1. Using a Specific Relay Agent for a Subnet
- 6.2. Segregating IPv4 Clients in a Cable Network
- 7. Duplicate Addresses (DHCPDECLINE Support)
- 8. Statistics in the DHCPv4 Server
- 9. Management API for the DHCPv4 Server
- 10. User Contexts in IPv4
- 11. Supported DHCP Standards
- 11.1. Known RFC Violations
- 12. DHCPv4 Server Limitations
- 13. Kea DHCPv4 Server Examples
- 14. Configuration Backend in DHCPv4
- 14.1. Supported Parameters
- 14.2. Enabling the Configuration Backend
- 15. Kea DHCPv4 Compatibility Configuration Parameters
- 15.1. Lenient Option Parsing
- 15.2. Ignore DHCP Server Identifier
- 15.3. Ignore RAI Link Selection
- 15.4. Exclude First Last Addresses in Subnets Bigger Than /24
- 16. Address Allocation Strategies in DHCPv4
- 16.1. Allocators Comparison
- 16.2. Iterative Allocator
- 16.3. Random Allocator
- 16.4. Free Lease Queue Allocator
- The DHCPv6 Server
- 1. Starting and Stopping the DHCPv6 Server
- 2. DHCPv6 Server Configuration
- 2.1. Introduction
- 2.2. Lease Storage
- 2.2.1. Memfile - Basic Storage for Leases
- 2.2.2. Why Is Lease File Cleanup Necessary?
- 2.2.3. Lease Database Configuration
- 2.2.4. Tuning Database Timeouts
- 2.3. Hosts Storage
- 2.3.1. DHCPv6 Hosts Database Configuration
- 2.3.2. Using Read-Only Databases for Host Reservations with DHCPv6
- 2.3.3. Tuning Database Timeouts for Hosts Storage
- 2.4. Interface Configuration
- 2.5. IPv6 Subnet Identifier
- 2.6. IPv6 Subnet Prefix
- 2.7. Unicast Traffic Support
- 2.8. Configuration of IPv6 Address Pools
- 2.9. Subnet and Prefix Delegation Pools
- 2.10. Prefix Exclude Option
- 2.11. Standard DHCPv6 Options
- 2.12. Common Softwire46 Options
- 2.12.1. Softwire46 Container Options
- 2.12.2. S46 Rule Option
- 2.12.3. S46 BR Option
- 2.12.4. S46 DMR Option
- 2.12.5. S46 IPv4/IPv6 Address Binding Option
- 2.12.6. S46 Port Parameters
- 2.13. Custom DHCPv6 Options
- 2.14. DHCPv6 Vendor-Specific Options
- 2.15. Nested DHCPv6 Options (Custom Option Spaces)
- 2.16. Unspecified Parameters for DHCPv6 Option Configuration
- 2.17. Controlling the Values Sent for T1 and T2 Times
- 2.18. IPv6 Subnet Selection
- 2.19. Rapid Commit
- 2.20. DHCPv6 Relays
- 2.21. Relay-Supplied Options
- 2.22. Client Classification in DHCPv6
- 2.22.1. Defining and Using Custom Classes
- 2.22.2. Required Classification
- 2.23. DDNS for DHCPv6
- 2.23.1. DHCP-DDNS Server Connectivity
- 2.23.2. When Does the kea-dhcp6 Server Generate a DDNS Request?
- 2.23.3. kea-dhcp6 Name Generation for DDNS Update Requests
- 2.23.4. Sanitizing Client FQDN Names
- 2.24. DHCPv4-over-DHCPv6: DHCPv6 Side
- 2.25. Sanity Checks in DHCPv6
- 2.26. Storing Extended Lease Information
- 2.27. Multi-Threading Settings
- 2.28. Multi-Threading Settings With Different Database Backends
- 2.29. Lease Caching
- 3. Host Reservations in DHCPv6
- 3.1. Address/Prefix Reservation Types
- 3.2. Conflicts in DHCPv6 Reservations
- 3.3. Reserving a Hostname
- 3.4. Including Specific DHCPv6 Options in Reservations
- 3.5. Reserving Client Classes in DHCPv6
- 3.6. Storing Host Reservations in MySQL or PostgreSQL
- 3.7. Fine-Tuning DHCPv6 Host Reservation
- 3.8. Global Reservations in DHCPv6
- 3.9. Pool Selection with Client Class Reservations
- 3.10. Subnet Selection with Client Class Reservations
- 3.11. Multiple Reservations for the Same IP
- 3.12. Host Reservations as Basic Access Control
- 4. Shared Networks in DHCPv6
- 4.1. Local and Relayed Traffic in Shared Networks
- 4.2. Client Classification in Shared Networks
- 4.3. Host Reservations in Shared Networks
- 5. Server Identifier in DHCPv6
- 6. DHCPv6 Data Directory
- 7. Stateless DHCPv6 (INFORMATION-REQUEST Message)
- 8. Support for RFC 7550 (now part of RFC 8415)
- 9. Using a Specific Relay Agent for a Subnet
- 10. Segregating IPv6 Clients in a Cable Network
- 11. MAC/Hardware Addresses in DHCPv6
- 12. Duplicate Addresses (DHCPDECLINE Support)
- 13. Statistics in the DHCPv6 Server
- 14. Management API for the DHCPv6 Server
- 15. User Contexts in IPv6
- 16. Supported DHCPv6 Standards
- 17. DHCPv6 Server Limitations
- 18. Kea DHCPv6 Server Examples
- 19. Configuration Backend in DHCPv6
- 19.1. Supported Parameters
- 19.2. Enabling the Configuration Backend
- 20. Kea DHCPv6 Compatibility Configuration Parameters
- 20.1. Lenient Option Parsing
- 21. Address Allocation Strategies in DHCPv6
- 21.1. Allocators Comparison
- 21.2. Iterative Allocator
- 21.3. Random Allocator
- 21.4. Free Lease Queue Allocator (Prefix Delegation Only)
- Database Connectivity
- Lease Expiration
- 1. Lease Reclamation
- 2. Lease Reclamation Configuration Parameters
- 3. Configuring Lease Reclamation
- 4. Configuring Lease Affinity
- 5. Reclaiming Expired Leases via Command
- Congestion Handling
- 1. What is Congestion?
- 2. Configuring Congestion Handling
- The DHCP-DDNS Server
- 1. Overview
- 1.1. DNS Server Selection
- 1.2. Conflict Resolution
- 1.3. Dual-Stack Environments
- 2. Starting and Stopping the DHCP-DDNS Server
- 3. Configuring the DHCP-DDNS Server
- 3.1. Global Server Parameters
- 3.2. Management API for the D2 Server
- 3.3. TSIG Key List
- 3.4. Forward DDNS
- 3.4.1. Adding Forward DDNS Domains
- 3.4.1.1. Adding Forward DNS Servers
- 3.5. Reverse DDNS
- 3.5.1. Adding Reverse DDNS Domains
- 3.5.1.1. Adding Reverse DNS Servers
- 3.5.2. Per-DNS-Server TSIG Keys
- 3.6. User Contexts in DDNS
- 3.7. Example DHCP-DDNS Server Configuration
- 4. DHCP-DDNS Server Statistics
- 4.1. NCR Statistics
- 4.2. DNS Update Statistics
- 4.3. Per-TSIG-Key DNS Update Statistics
- 5. DHCP-DDNS Server Limitations
- 6. Supported Standards
- The LFC Process
- 1. Overview
- 2. Command-Line Options
- Client Classification
- 1. Client Classification Overview
- 1.1. Classification Steps
- 2. Built-in Client Classes
- 3. Using Expressions in Classification
- 3.1. Logical Operators
- 3.2. Substring
- 3.3. Concat
- 3.4. Split
- 3.5. Ifelse
- 3.6. Hexstring
- 4. Configuring Classes
- 5. Using Static Host Reservations in Classification
- 6. Configuring Subnets With Class Information
- 7. Configuring Pools With Class Information
- 8. Using Classes
- 9. Classes and Hooks
- 10. Debugging Expressions
- Hook Libraries
- 1. Introduction
- 2. Installing Hook Packages
- 3. Configuring Hook Libraries
- 3.1. Order of Configuration:
- 3.2. User Contexts in Hooks
- 4. Available Hook Libraries
- 5. libdhcp_bootp.so: Support for BOOTP Clients
- 5.1. BOOTP Hooks Limitations
- 6. libdhcp_cb_cmds.so: Configuration Backend Commands
- 6.1. Command Structure
- 6.2. Control Commands for DHCP Servers
- 6.3. Metadata
- 6.4. The remote-server4-del, remote-server6-del Commands
- 6.5. The remote-server4-get, remote-server6-get Commands
- 6.6. The remote-server4-get-all, remote-server6-get-all Commands
- 6.7. The remote-server4-set, remote-server6-set Commands
- 6.8. The remote-global-parameter4-del, remote-global-parameter6-del Commands
- 6.9. The remote-global-parameter4-get, remote-global-parameter6-get Commands
- 6.10. The remote-global-parameter4-get-all, remote-global-parameter6-get-all Commands
- 6.11. The remote-global-parameter4-set, remote-global-parameter6-set Commands
- 6.12. The remote-network4-del, remote-network6-del Commands
- 6.13. The remote-network4-get, remote-network6-get Commands
- 6.14. The remote-network4-list, remote-network6-list Commands
- 6.15. The remote-network4-set, remote-network6-set Commands
- 6.16. The remote-option-def4-del, remote-option-def6-del Commands
- 6.17. The remote-option-def4-get, remote-option-def6-get Commands
- 6.18. The remote-option-def4-get-all, remote-option-def6-get-all Commands
- 6.19. The remote-option-def4-set, remote-option-def6-set Commands
- 6.20. The remote-option4-global-del, remote-option6-global-del Commands
- 6.21. The remote-option4-global-get, remote-option6-global-get Commands
- 6.22. The remote-option4-global-get-all, remote-option6-global-get-all Commands
- 6.23. The remote-option4-global-set, remote-option6-global-set Commands
- 6.24. The remote-option4-network-del, remote-option6-network-del Commands
- 6.25. The remote-option4-network-set, remote-option6-network-set Commands
- 6.26. The remote-option6-pd-pool-del Command
- 6.27. The remote-option6-pd-pool-set Command
- 6.28. The remote-option4-pool-del, remote-option6-pool-del Commands
- 6.29. The remote-option4-pool-set, remote-option6-pool-set Commands
- 6.30. The remote-option4-subnet-del, remote-option6-subnet-del Commands
- 6.31. The remote-option4-subnet-set, remote-option6-subnet-set Commands
- 6.32. The remote-subnet4-del-by-id, remote-subnet6-del-by-id Commands
- 6.33. The remote-subnet4-del-by-prefix, remote-subnet6-del-by-prefix Commands
- 6.34. The remote-subnet4-get-by-id, remote-subnet6-get-by-id Commands
- 6.35. The remote-subnet4-get-by-prefix, remote-subnet6-get-by-prefix Commands
- 6.36. The remote-subnet4-list, remote-subnet6-list Commands
- 6.37. The remote-subnet4-set, remote-subnet6-set Commands
- 6.38. The remote-class4-del, remote-class6-del Commands
- 6.39. The remote-class4-get, remote-class6-get Commands
- 6.40. The remote-class4-get-all, remote-class6-get-all Commands
- 6.41. The remote-class4-set, remote-class6-set Commands
- 7. libdhcp_class_cmds.so: Class Commands
- 7.1. The class-add Command
- 7.2. The class-update Command
- 7.3. The class-del Command
- 7.4. The class-list Command
- 7.5. The class-get Command
- 8. libdhcp_ddns_tuning.so: DDNS Tuning
- 8.1. Procedural Host-Name Generation
- 8.1.1. DHCPv4 Host-Name Generation
- 8.1.2. DHCPv6 Host-Name Generation
- 8.2. Skipping DDNS Updates
- 9. libdhcp_flex_id.so: Flexible Identifier for Host Reservations
- 9.1. The replace-client-id Flag
- 9.2. The ignore-iaid Flag
- 10. libdhcp_flex_option.so: Flexible Option Actions for Option Value Settings
- 11. libddns_gss_tsig.so: Sign DNS Updates With GSS-TSIG
- 12. libdhcp_ha.so: High Availability Outage Resilience for Kea Servers
- 12.1. Supported Configurations
- 12.2. Clocks on Active Servers
- 12.3. HTTPS Support
- 12.4. Server States
- 12.5. Scope Transition in a Partner-Down Case
- 12.6. Load-Balancing Configuration
- 12.7. Load Balancing With Advanced Classification
- 12.8. Hot-Standby Configuration
- 12.9. Passive-Backup Configuration
- 12.10. Lease Information Sharing
- 12.11. Controlling Lease-Page Size Limit
- 12.12. Timeouts
- 12.13. Pausing the HA State Machine
- 12.14. Control Agent Configuration
- 12.15. Multi-Threaded Configuration (HA+MT)
- 12.16. Parked-Packet Limit
- 12.17. Controlled Shutdown and Maintenance of DHCP Servers
- 12.18. Upgrading From Older HA Versions
- 12.19. Control Commands for High Availability
- 12.19.1. The ha-sync Command
- 12.19.2. The ha-scopes Command
- 12.19.3. The ha-continue Command
- 12.19.4. The ha-heartbeat Command
- 12.19.5. The status-get Command
- 12.19.6. The ha-maintenance-start Command
- 12.19.7. The ha-maintenance-cancel Command
- 12.19.8. The ha-maintenance-notify Command
- 12.19.9. The ha-reset Command
- 12.19.10. The ha-sync-complete-notify Command
- 13. libdhcp_host_cache.so: Host Cache Reservations for Improved Performance
- 13.1. The cache-flush Command
- 13.2. The cache-clear Command
- 13.3. The cache-size Command
- 13.4. The cache-write Command
- 13.5. The cache-load Command
- 13.6. The cache-get Command
- 13.7. The cache-get-by-id Command
- 13.8. The cache-insert Command
- 13.9. The cache-remove Command
- 14. libdhcp_host_cmds.so: Host Commands
- 14.1. The subnet-id Parameter
- 14.2. The operation-target Parameter
- 14.3. The reservation-add Command
- 14.4. The reservation-get Command
- 14.5. The reservation-get-all Command
- 14.6. The reservation-get-page Command
- 14.7. The reservation-get-by-hostname Command
- 14.8. The reservation-get-by-id Command
- 14.9. The reservation-del Command
- 14.10. The reservation-update Command
- 14.11. General Mentions
- 15. libdhcp_lease_cmds.so: Lease Commands for Easier Lease Management
- 15.1. The lease4-add, lease6-add Commands
- 15.2. The lease6-bulk-apply Command
- 15.3. The lease4-get, lease6-get Commands
- 15.4. The lease4-get-all, lease6-get-all Commands
- 15.5. The lease4-get-page, lease6-get-page Commands
- 15.6. The lease4-get-by-*, lease6-get-by-* Commands
- 15.7. The lease4-del, lease6-del Commands
- 15.8. The lease4-update, lease6-update Commands
- 15.9. The lease4-wipe, lease6-wipe Commands
- 15.10. The lease4-resend-ddns, lease6-resend-ddns Commands
- 15.11. The lease4-write, lease6-write Commands
- 16. libdhcp_lease_query.so: Leasequery Support
- 16.1. DHCPv4 Leasequery
- 16.2. DHCPv4 Leasequery Configuration
- 16.3. DHCPv6 Leasequery
- 16.4. DHCPv6 Leasequery Configuration
- 16.5. DHCPv4 Bulk Leasequery
- 16.6. DHCPv6 Bulk Leasequery
- 16.7. Bulk Leasequery Configuration
- 16.8. Updating Existing Leases in SQL Lease Backends
- 17. libdhcp_legal_log.so: Forensic Logging
- 17.1. Log File Naming
- 17.2. Configuring the Forensic Logging Hooks
- 17.3. DHCPv4 Log Entries
- 17.4. DHCPv6 Log Entries
- 17.5. Database Backend
- 18. libdhcp_limits.so: Limits to Manage Lease Allocation and Packet Processing
- 18.1. Configuration
- 18.2. Lease Limiting
- 18.3. Rate Limiting
- 19. libdhcp_mysql_cb.so: Configuration Backend for MySQL
- 20. libdhcp_pgsql_cb.so: Configuration Backend for PostgreSQL
- 21. libdhcp_radius.so: RADIUS Server Support
- 21.1. Compilation and Installation of the RADIUS Hook
- 21.2. RADIUS Hook Configuration
- 22. libca_rbac.so: Role-Based Access Control
- 22.1. Role-Based Access Control (RBAC) Overview
- 22.2. Role-Based Access Control Configuration
- 22.2.1. Role Assignment
- 22.2.2. Role Configuration
- 22.2.3. API Commands
- 22.2.4. Access Control Lists
- 22.2.5. Response Filters
- 22.2.6. Global Parameters
- 22.3. Sample Configuration
- 22.4. Accept/Reject Algorithm
- 22.5. Custom Hook Commands and Command Redefinition
- 22.6. Extensive Example
- 23. libdhcp_run_script.so: Run Script Support for External Hook Scripts
- 24. libdhcp_stat_cmds.so: Statistics Commands for Supplemental Lease Statistics
- 24.1. The stat-lease4-get, stat-lease6-get Commands
- 25. libdhcp_subnet_cmds.so: Subnet Commands to Manage Subnets and Shared Networks
- 25.1. The subnet4-list Command
- 25.2. The subnet6-list Command
- 25.3. The subnet4-get Command
- 25.4. The subnet6-get Command
- 25.5. The subnet4-add Command
- 25.6. The subnet6-add Command
- 25.7. The subnet4-update Command
- 25.8. The subnet6-update Command
- 25.9. The subnet4-del Command
- 25.10. The subnet6-del Command
- 25.11. The subnet4-delta-add Command
- 25.12. The subnet6-delta-add Command
- 25.13. The subnet4-delta-del Command
- 25.14. The subnet6-delta-del Command
- 25.15. The network4-list, network6-list Commands
- 25.16. The network4-get, network6-get Commands
- 25.17. The network4-add, network6-add Commands
- 25.18. The network4-del, network6-del Commands
- 25.19. The network4-subnet-add, network6-subnet-add Commands
- 25.20. The network4-subnet-del, network6-subnet-del Commands
- 26. libdhcp_user_chk.so: User Check
- Statistics
- 1. Statistics Overview
- 2. Statistics Lifecycle
- 3. Commands for Manipulating Statistics
- 3.1. The statistic-get Command
- 3.2. The statistic-reset Command
- 3.3. The statistic-remove Command
- 3.4. The statistic-get-all Command
- 3.5. The statistic-reset-all Command
- 3.6. The statistic-remove-all Command
- 3.7. The statistic-sample-age-set Command
- 3.8. The statistic-sample-age-set-all Command
- 3.9. The statistic-sample-count-set Command
- 3.10. The statistic-sample-count-set-all Command
- 4. Time Series
- Management API
- 1. Data Syntax
- 2. Control Agent Command Response Format
- 3. Using the Control Channel
- 4. Commands Supported by Both the DHCPv4 and DHCPv6 Servers
- 4.1. The build-report Command
- 4.2. The config-get Command
- 4.3. The config-reload Command
- 4.4. The config-test Command
- 4.5. The config-write Command
- 4.6. The leases-reclaim Command
- 4.7. The libreload Command
- 4.8. The list-commands Command
- 4.9. The config-set Command
- 4.10. The shutdown Command
- 4.11. The dhcp-disable Command
- 4.12. The dhcp-enable Command
- 4.13. The status-get Command
- 4.14. The server-tag-get Command:
- 4.15. The config-backend-pull Command:
- 4.16. The version-get Command
- 5. Commands Supported by the D2 Server
- 6. Commands Supported by the Control Agent
- Logging
- 1. Logging Configuration
- 1.1. Loggers
- 1.1.1. The name (string) Logger
- 1.1.2. The severity (string) Logger
- 1.1.3. The debuglevel (integer) Logger
- 1.1.4. The output_options (list) Logger
- 1.1.4.1. The output (string) Option
- 1.1.4.2. The flush (boolean) Option
- 1.1.4.3. The maxsize (integer) Option
- 1.1.4.4. The maxver (integer) Option
- 1.1.4.5. The pattern (string) Option
- 1.2. Logging Message Format
- 1.2.1. Example Logger Configurations
- 1.3. Logging During Kea Startup
- 2. Logging Levels
- The Kea Shell
- 1. Overview of the Kea Shell
- 2. Shell Usage
- 3. TLS Support
- Integration With External Systems
- 1. YANG/NETCONF
- 1.1. Overview
- 1.2. Installing NETCONF
- 1.2.1. Installing libyang From Sources
- 1.2.2. Installing sysrepo From Sources
- 1.2.3. Installing libyang-cpp From Sources
- 1.2.4. Installing sysrepo-cpp From Sources
- 1.3. Compiling With NETCONF
- 1.4. Quick Sysrepo Overview
- 1.5. Supported YANG Models
- 1.6. Using the NETCONF Agent
- 1.7. Configuration
- 1.8. A kea-netconf Configuration Example
- 1.9. Starting and Stopping the NETCONF Agent
- 1.10. A Step-by-Step NETCONF Agent Operation Example
- 1.10.1. Setup of NETCONF Agent Operation Example
- 1.10.2. Example of Error Handling in NETCONF Operation
- 1.10.3. NETCONF Operation Example with Two Pools
- 1.10.4. NETCONF Operation Example with Two Subnets
- 1.10.5. NETCONF Operation Example With Logging
- 1.10.6. Migrating YANG Data From a Prior Sysrepo Version
- 2. GSS-TSIG
- 2.1. GSS-TSIG Overview
- 2.2. GSS-TSIG Compilation
- 2.3. GSS-TSIG Deployment
- 2.3.1. Kerberos 5 Setup
- 2.3.2. BIND 9 with GSS-TSIG Configuration
- 2.3.3. Windows Active Directory Configuration
- 2.3.4. GSS-TSIG Troubleshooting
- 2.4. Using GSS-TSIG
- 2.4.1. GSS-TSIG Automatic Key Removal
- 2.4.2. GSS-TSIG Configuration for Deployment
- 2.5. GSS-TSIG Statistics
- 2.6. GSS-TSIG Commands
- 2.6.1. The gss-tsig-get-all Command
- 2.6.2. The gss-tsig-get Command
- 2.6.3. The gss-tsig-list Command
- 2.6.4. The gss-tsig-key-get Command
- 2.6.5. The gss-tsig-key-expire Command
- 2.6.6. The gss-tsig-key-del Command
- 2.6.7. The gss-tsig-purge-all Command
- 2.6.8. The gss-tsig-purge Command
- 2.6.9. The gss-tsig-rekey-all Command
- 2.6.10. The gss-tsig-rekey Command
- Monitoring Kea With Stork
- 1. Kea Statistics in Grafana
- Kea Security
- 1. TLS/HTTPS Support
- 1.1. Building Kea with TLS/HTTPS Support
- 1.2. TLS/HTTPS Configuration
- 1.3. OpenSSL Tuning
- 2. Securing a Kea Deployment
- 2.1. Component-Based Design
- 2.2. Limiting Application Permissions
- 2.3. Securing Kea Administrative Access
- 2.4. Securing Database Connections
- 2.5. Information Leakage Through Logging
- 2.6. Cryptography Components
- 2.7. TSIG Signatures
- 2.8. Raw Socket Support
- 2.9. Remote Administrative Access
- 2.10. Authentication for Kea's RESTful API
- 3. Kea Security Processes
- 3.1. Vulnerability Handling
- 3.2. Code Quality and Testing
- 3.3. Fuzz Testing
- 3.4. Release Integrity
- 3.5. Bus Factor
Appendices
API Reference
Manual Pages
Kea Messages Manual
Configuration Templates
Kea Flow Diagrams
Kea Configuration File Syntax (BNF)
Acknowledgments