.. _intro:
-************
-Introduction
-************
+***********************
+Chapter 1. Introduction
+***********************
Kea is the next generation of DHCP software developed by ISC. It
supports both DHCPv4 and DHCPv6 protocols along with their extensions,
This guide covers Kea version KEAVERSION.
-Supported Platforms
-===================
+1.1 Supported Platforms
+=======================
Kea is officially supported on CentOS, Fedora, Ubuntu, Debian, and
FreeBSD systems. It is also likely to work on many other platforms.
.. _required-software:
-Required Software at Run-time
-=============================
+1.2 Required Software at Run-time
+=================================
Running Kea uses various extra software packages which may not be
provided in the default installation of some operating systems, nor in
the standard package collections. You may need to install this required
software separately. (For the build requirements, also see
-`??? <#build-requirements>`__.)
+`Section 3.3, "Building Requirements" <#build-requirements>`__.)
- Kea supports two cryptographic libraries: Botan and OpenSSL. Only one
of them is required to be installed during compilation. Kea uses the
- Botan library for C++ (http://botan.randombit.net/), version 1.9 or
+ Botan library for C++ (https://botan.randombit.net/), version 1.9 or
later. Note that support for Botan versions earlier than 2.0 will be
removed in Kea 1.6.0 and later. As an alternative to Botan, Kea can
- use the OpenSSL cryptographic library (http://www.openssl.org/),
+ use the OpenSSL cryptographic library (https://www.openssl.org/),
version 1.0.2 or later.
- Kea uses the log4cplus C++ logging library
- (http://log4cplus.sourceforge.net/). It requires log4cplus version
+ (https://sourceforge.net/p/log4cplus/wiki/Home/). It requires log4cplus version
1.0.3 or later.
-- Kea requires the Boost system library (http://www.boost.org/).
+- Kea requires the Boost system library (https://www.boost.org/).
Building with the header-only version of Boost is no longer
recommended.
-- In order to store lease information in a MySQL database, Kea requires
- MySQL headers and libraries. This is an optional dependency in that
+- To store lease information in a MySQL database, Kea requires
+ MySQL headers and libraries. This is an optional dependency;
Kea can be built without MySQL support.
-- In order to store lease information in a PostgreSQL database, Kea
+- To store lease information in a PostgreSQL database, Kea
requires PostgreSQL headers and libraries. This is an optional
- dependency in that Kea can be built without PostgreSQL support.
+ dependency; Kea can be built without PostgreSQL support.
-- In order to store lease information in a Cassandra database (CQL),
+- To store lease information in a Cassandra database (CQL),
Kea requires Cassandra headers and libraries. This is an optional
- dependency in that Kea can be built without Cassandra support.
+ dependency; Kea can be built without Cassandra support.
- Integration with RADIUS is provided in Kea via the hooks library
available to our paid support customers. Use of this library requires
the FreeRadius-client library to be present on the system where Kea
- is running. This is an optional dependency in that Kea can be built
+ is running. This is an optional dependency; Kea can be built
without RADIUS support.
- As of the 1.5.0 release, Kea provides a NETCONF interface with the
kea-netconf agent. This Kea module is built optionally and requires
Sysrepo software when used. Building Kea with NETCONF support
requires many dependencies to be installed, which are described in
- more detail in `??? <#netconf-install>`__.
+ more detail in `Section 20.2, “Installing NETCONF” <#netconf-install>`__.
.. _kea_software:
-Kea Software
-============
+1.3 Kea Software
+================
Kea is modular. Part of this modularity is accomplished using multiple
cooperating processes which, together, provide the server functionality.
The following software is included with Kea:
-- ``keactrl`` — Tool to start, stop, reconfigure, and report status for
+- ``keactrl`` — This tool starts, stops, reconfigures, and reports status for
the Kea servers.
- ``kea-dhcp4`` — The DHCPv4 server process. This process responds to
update messages to the DNS servers.
- ``kea-admin`` — A useful tool for database backend maintenance
- (creating a new database, checking versions, upgrading, etc.)
+ (creating a new database, checking versions, upgrading, etc.).
- ``kea-lfc`` — This process removes redundant information from the
files used to provide persistent storage for the memfile database
- ``kea-ctrl-agent`` — Kea Control Agent (CA) is a daemon that exposes
a RESTful control interface for managing Kea servers.
-- ``kea-netconf`` - Kea netconf is an agent that provides a
+- ``kea-netconf`` - Kea-netconf is an agent that provides a
YANG/NETCONF interface for the Kea environment.
- ``kea-shell`` — This simple text client uses the REST interface to
.. _quickstart:
-***********
-Quick Start
-***********
+**********************
+Chapter 2. Quick Start
+**********************
This section describes the basic steps needed to get Kea up and running.
For further details, full customizations, and troubleshooting, see the
.. _quick-start:
-Quick Start Guide for DHCPv4 and DHCPv6 Services
-================================================
+2.1 Quick Start Guide for DHCPv4 and DHCPv6 Services
+====================================================
1. Install required run-time and build dependencies. See
- `??? <#build-requirements>`__ for details.
+ `Section 3.3, “Building Requirements” <#build-requirements>`__ for details.
2. Download the Kea source tarball from the `ISC.org downloads
- page <https://www.isc.org/downloads/>`__ or the `ISC FTP
- server <http://ftp.isc.org/isc/kea/>`__.
+ page <https://www.isc.org/download/>`__ or the `ISC FTP
+ server <ftp://ftp.isc.org/isc/kea/>`__.
3. Extract the tarball. For example:
10. If the server has been started successfully, test that it is
responding to DHCP queries and that the client receives a
configuration from the server; for example, use the `ISC DHCP
- client <http://www.isc.org/downloads/DHCP/>`__.
+ client <https://www.isc.org/download/>`__.
11. Stop running the server(s):
Knowledgebase <https://kb.isc.org/docs>`__.
The details of ``keactrl`` script usage can be found in
-`??? <#keactrl>`__.
+`Chapter 6, "Managing Kea with keactrl" <#keactrl>`__.
.. _quick-start-direct-run:
-Running the Kea Servers Directly
-================================
+2.2 Running the Kea Servers Directly
+====================================
-The Kea servers can be started directly, without the need to use the
+The Kea servers can be started directly, without the need to use
``keactrl``. To start the DHCPv4 server run the following command:
::