mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-31 05:55:28 +00:00
[4844] Editing pass over first seven chapters of the Kea guide
This commit is contained in:
@@ -16,17 +16,19 @@
|
||||
the several supported databases. As future versions of Kea
|
||||
are released, the structure of those databases will change.
|
||||
For example, Kea currently only stores lease information
|
||||
and host reservations: in the future, additional
|
||||
data - such as subnet definitions - will also be stored.
|
||||
and host reservations. Future versions of Kea will store
|
||||
additional data such as subnet definitions: the database
|
||||
structure will need to be updated to accomdate the extra
|
||||
information.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A given version of Kea expects a particular structure in
|
||||
the database. It ensures this by checking the version of the
|
||||
the database and checks for this by examining the version of
|
||||
database it is using. Separate version numbers are maintained for
|
||||
backend databases, independent of the version of Kea itself. It
|
||||
is possible that the backend database version will stay the same
|
||||
through several Kea revisions. Likewise, it is possible that the
|
||||
through several Kea revisions: similarly, it is possible that the
|
||||
version of backend database may go up several revisions during a
|
||||
Kea upgrade. Versions for each database are independent, so an
|
||||
increment in the MySQL database version does not imply an increment
|
||||
@@ -70,9 +72,10 @@
|
||||
<listitem>
|
||||
<simpara>
|
||||
<command>lease-init</command> —
|
||||
Initializes a new lease database. Useful during first
|
||||
Initializes a new lease database. This is useful during a new
|
||||
Kea installation. The database is initialized to the
|
||||
latest version supported by the version of the software.
|
||||
latest version supported by the version of the software being
|
||||
installed.
|
||||
</simpara>
|
||||
</listitem>
|
||||
|
||||
@@ -97,9 +100,10 @@
|
||||
<simpara>
|
||||
<command>lease-dump</command> —
|
||||
Dumps the contents of the lease database (for MySQL, PostgreSQL or
|
||||
CQL backends) to CSV text file. The first line of the file contains
|
||||
the column names. This is meant to be used as a diagnostic tool
|
||||
that provides a portable, human-readable form of lease data.
|
||||
CQL backends) to a CSV (comma separated values) text file. The first
|
||||
line of the file contains the column names. This is meant to be
|
||||
used as a diagnostic tool, so provides a portable, human-readable
|
||||
form of the lease data.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
@@ -118,16 +122,14 @@
|
||||
<listitem>
|
||||
<simpara>
|
||||
<command>mysql</command> —
|
||||
Lease information is stored in a MySQL relational
|
||||
database.
|
||||
Lease information is stored in a MySQL relational database.
|
||||
</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara>
|
||||
<command>pgsql</command> —
|
||||
Lease information is stored in a PostgreSQL relational
|
||||
database.
|
||||
Lease information is stored in a PostgreSQL relational database.
|
||||
</simpara>
|
||||
</listitem>
|
||||
|
||||
@@ -142,7 +144,7 @@
|
||||
|
||||
Additional parameters may be needed, depending on your setup
|
||||
and specific operation: username, password and database name or
|
||||
the directory where specific files are located. See appropriate
|
||||
the directory where specific files are located. See the appropriate
|
||||
manual page for details (<command>man 8 kea-admin</command>).
|
||||
</para>
|
||||
</section>
|
||||
@@ -185,7 +187,7 @@
|
||||
|
||||
<row>
|
||||
<entry>Data format</entry>
|
||||
<entry>coma separated file</entry>
|
||||
<entry>CSV file</entry>
|
||||
<entry>SQL RMDB</entry>
|
||||
<entry>SQL RMDB</entry>
|
||||
<entry>NoSQL database (CQL)</entry>
|
||||
@@ -224,14 +226,14 @@
|
||||
<title>memfile</title>
|
||||
|
||||
<para>
|
||||
Memfile backend is able to store lease information, but is not able to
|
||||
store host reservation details. There are no plans to add the
|
||||
reservations storage capability to memfile. Host reservations can be
|
||||
defined in the configuration file.
|
||||
The memfile backend is able to store lease information, but is not able to
|
||||
store host reservation details: these must be stored in the configuration
|
||||
file. (There are no plans to add a host reservations storage capability to
|
||||
this backend.)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
There are no special initialization steps necessary
|
||||
No special initialization steps are necessary
|
||||
for the memfile backend. During the first run, both
|
||||
<command>kea-dhcp4</command> and <command>kea-dhcp6</command>
|
||||
will create an empty lease file if one is not
|
||||
@@ -267,17 +269,12 @@
|
||||
|
||||
<para>
|
||||
MySQL is able to store leases, host reservations and options defined on
|
||||
a per host basis.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The MySQL database must be properly set up if you want Kea to
|
||||
store information in MySQL. This section can be safely ignored
|
||||
a per host basis. This section can be safely ignored
|
||||
if you chose to store the data in other backends.
|
||||
</para>
|
||||
|
||||
<section id="mysql-database-create">
|
||||
<title>First Time Creation of Kea Database</title>
|
||||
<title>First Time Creation of the MySQL Database</title>
|
||||
|
||||
<para>
|
||||
If you are setting the MySQL database for the first time,
|
||||
@@ -418,7 +415,7 @@ $ <userinput>kea-admin lease-upgrade mysql -u <replaceable>database-user</replac
|
||||
</para>
|
||||
|
||||
<section id="pgsql-database-create">
|
||||
<title>Manually Create the PostgreSQL Database and the Kea User</title>
|
||||
<title>First Time Creation of the PostgreSQL Database</title>
|
||||
|
||||
<para>
|
||||
The first task is to create both the lease database and the
|
||||
@@ -458,7 +455,6 @@ postgres=#
|
||||
<screen>
|
||||
postgres=#<userinput> CREATE USER <replaceable>user-name</replaceable> WITH PASSWORD '<replaceable>password</replaceable>';</userinput>
|
||||
CREATE ROLE
|
||||
postgres=#
|
||||
postgres=#<userinput> GRANT ALL PRIVILEGES ON DATABASE <replaceable>database-name</replaceable> TO <replaceable>user-name</replaceable>;</userinput>
|
||||
GRANT
|
||||
postgres=#
|
||||
@@ -594,8 +590,8 @@ $ <userinput>kea-admin lease-upgrade pgsql -u <replaceable>database-user</replac
|
||||
<para>
|
||||
Cassandra, or Cassandra Query Language (CQL), is the newest backend
|
||||
added to Kea. Since it was added recently and has not undergone as much
|
||||
testing as other backends, it is considered experimental. Please use
|
||||
with caution. CQL backend is currently able to store leases only. The
|
||||
testing as other backends, it is considered experimental: please use
|
||||
with caution. The CQL backend is currently able to store leases only. The
|
||||
ability to store host reservations will likely be added some time in the
|
||||
future.
|
||||
</para>
|
||||
@@ -607,7 +603,7 @@ $ <userinput>kea-admin lease-upgrade pgsql -u <replaceable>database-user</replac
|
||||
</para>
|
||||
|
||||
<section id="cql-database-create">
|
||||
<title>First Time Creation of Kea Database</title>
|
||||
<title>First Time Creation of the Cassandra Database</title>
|
||||
|
||||
<para>
|
||||
If you are setting up the CQL database for the first time, you need to
|
||||
@@ -713,19 +709,19 @@ $ <userinput>kea-admin lease-upgrade cql -n <replaceable>database-name</replacea
|
||||
</section> <!-- end of CQL sections -->
|
||||
|
||||
<section>
|
||||
<title>Using read only databases with host reservations</title>
|
||||
<para>If read only database is used for storing host reservations,
|
||||
<title>Using Read-Only Databases with Host Reservations</title>
|
||||
<para>If a read-only database is used for storing host reservations,
|
||||
Kea must be explicitly configured to operate on the database in
|
||||
the read only mode.
|
||||
read-only mode.
|
||||
Sections <xref linkend="read-only-database-configuration4"/> and
|
||||
<xref linkend="read-only-database-configuration6"/> describe when
|
||||
such configuration may be reqired and how to configure Kea to
|
||||
operate using read only host database.
|
||||
operate using a read-only host database.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Limitations related to the use of the SQL databases</title>
|
||||
<title>Limitations Related to the use of SQL Databases</title>
|
||||
|
||||
<para>
|
||||
The lease expiration time is stored in the SQL database for each lease
|
||||
@@ -738,6 +734,8 @@ $ <userinput>kea-admin lease-upgrade cql -n <replaceable>database-name</replacea
|
||||
maximum signed 32-bit number. This effectively means that the current
|
||||
Kea version can't store the leases which expiration time is later than
|
||||
2147483647 seconds since the beginning of the epoch (around year 2038).
|
||||
This will be fixed when the database support for longer timestamps
|
||||
is available.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<!ENTITY mdash "—" >
|
||||
]>
|
||||
<chapter id="kea-config">
|
||||
<title>Kea configuration</title>
|
||||
<title>Kea Configuration</title>
|
||||
|
||||
<para>Kea is designed to allow different methods by which it can be
|
||||
configured, each method being implemented by a component known as a
|
||||
@@ -12,7 +12,7 @@
|
||||
available, that allowing configuration by means of a JSON file.</para>
|
||||
|
||||
<section id="json-backend">
|
||||
<title>JSON configuration backend</title>
|
||||
<title>JSON Configuration Backend</title>
|
||||
<para>JSON is the default configuration backend.
|
||||
It assumes that the servers are started from the command line
|
||||
(either directly or using a script, e.g. <filename>keactrl</filename>).
|
||||
@@ -20,11 +20,11 @@
|
||||
configuration file is specified upon startup using the -c parameter.</para>
|
||||
|
||||
<section id="json-format">
|
||||
<title>JSON syntax</title>
|
||||
<title>JSON Syntax</title>
|
||||
<para>Configuration files for DHCPv4, DHCPv6 and DDNS modules are defined
|
||||
in an extended JSON format. Basic JSON is defined in <ulink
|
||||
url="http://tools.ietf.org/html/rfc4627">RFC 4627</ulink>. Kea components
|
||||
use a slightly modified JSON, in that they allow shell-style
|
||||
use a slightly modified form of JSON in that they allow shell-style
|
||||
comments in the file: lines with the hash (#) character in the first column
|
||||
are comment lines and are ignored.</para>
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
Logging object to configure logging parameters; it will ignore the Dhcp6
|
||||
object.</para>
|
||||
|
||||
<para>For example, a very simple configuration for both DHCPv4 and DHCPv6
|
||||
could look like this:
|
||||
<para>A very simple configuration for both DHCPv4 and
|
||||
DHCPv6 could look like this:
|
||||
<screen>
|
||||
# The whole configuration starts here.
|
||||
{
|
||||
@@ -56,8 +56,7 @@
|
||||
"subnet4": [{
|
||||
"pools": [ { "pool": "192.0.2.1-192.0.2.200" } ],
|
||||
"subnet": "192.0.2.0/24"
|
||||
}],
|
||||
...
|
||||
}]
|
||||
},
|
||||
# DHCPv4 specific configuration ends here.
|
||||
|
||||
@@ -73,8 +72,7 @@
|
||||
"subnet6": [{
|
||||
"pools": [ { "pool": "2001:db8::/80" } ],
|
||||
"subnet": "2001:db8::/64"
|
||||
}],
|
||||
...
|
||||
}]
|
||||
},
|
||||
# DHCPv6 specific configuration ends here.
|
||||
|
||||
@@ -84,8 +82,7 @@
|
||||
"loggers": [{
|
||||
"name": "*",
|
||||
"severity": "DEBUG"
|
||||
}],
|
||||
...
|
||||
}]
|
||||
}
|
||||
# Logger parameters end here.
|
||||
|
||||
@@ -103,7 +100,7 @@
|
||||
DHCPv6, only subnet6 parameters will be mentioned. It is implied that
|
||||
the remaining elements (the global map that holds Dhcp6, Logging and possibly
|
||||
DhcpDdns) are present, but they are omitted for clarity. Usually, locations
|
||||
where extra parameters may appear are denoted with an ellipsis.</para>
|
||||
where extra parameters may appear are denoted by an ellipsis.</para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -13,22 +13,30 @@
|
||||
<para>
|
||||
Some operating systems or software package vendors may provide
|
||||
ready-to-use, pre-built software packages for Kea. Installing a
|
||||
pre-built package means you do not need to install build-only
|
||||
prerequisites and do not need to <emphasis>make</emphasis> the software.
|
||||
pre-built package means you do not need to install the software
|
||||
required only to build Kea and do not need to <emphasis>make</emphasis>
|
||||
the software.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
FreeBSD ports, NetBSD pkgsrc, and Debian <emphasis>testing</emphasis>
|
||||
package collections provide all the prerequisite packages.
|
||||
FreeBSD ports, NetBSD pkgsrc, and Debian
|
||||
<emphasis>testing</emphasis> package collections provide all the
|
||||
prerequisite packages.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="install-hierarchy">
|
||||
<title>Install Hierarchy</title>
|
||||
<title>Installation Hierarchy</title>
|
||||
<para>
|
||||
The following is the directory layout of the complete Kea installation
|
||||
(all directories paths are relative to the installation directory):
|
||||
The following is the directory layout of the complete Kea installation.
|
||||
(All directory paths are relative to the installation directory):
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<simpara>
|
||||
<filename>bin/</filename> —
|
||||
utility programs.
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
<filename>etc/kea/</filename> —
|
||||
@@ -142,7 +150,7 @@ Debian and Ubuntu:
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
The development tools: automake, libtool, pkg-config.
|
||||
The development tools automake, libtool, pkg-config.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
@@ -151,8 +159,8 @@ Debian and Ubuntu:
|
||||
The MySQL client and the client development libraries, when using
|
||||
the --with-dhcp-mysql configuration flag to build the Kea MySQL
|
||||
database backend. In this case an instance of the MySQL server
|
||||
running locally or on some other machine, reachable over the
|
||||
network from the machine running Kea, is required. Note that
|
||||
running locally or on a machine reachable over a network
|
||||
is required. Note that
|
||||
running the unit tests requires a local MySQL server.
|
||||
</para>
|
||||
</listitem>
|
||||
@@ -171,23 +179,24 @@ Debian and Ubuntu:
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
googletest (version 1.6 or later), when using --with-gtest configuration option.
|
||||
googletest (version 1.6 or later), when using the --with-gtest configuration
|
||||
option to build the unit tests.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Documentation generating tools: elinks, docbook-xsl, libxslt and Doxygen,
|
||||
when generating documentation using the --enable-generate-docs
|
||||
configuration option.
|
||||
The documentation generation tools elinks, docbook-xsl, libxslt and Doxygen,
|
||||
if using the --enable-generate-docs configuration option
|
||||
to create the documentation.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<para>
|
||||
Visit the user-contributed wiki at <ulink
|
||||
url="http://kea.isc.org/wiki/SystemSpecificNotes" />
|
||||
Visit the user-contributed wiki at
|
||||
<ulink url="http://kea.isc.org/wiki/SystemSpecificNotes" />
|
||||
for system-specific installation tips.
|
||||
</para>
|
||||
|
||||
@@ -196,11 +205,11 @@ Debian and Ubuntu:
|
||||
<section id="install">
|
||||
<title>Installation from Source</title>
|
||||
<para>
|
||||
Kea is open source software written in C++.
|
||||
It is freely available in source code form from ISC as a
|
||||
downloadable tar file or via Kea Git code revision control
|
||||
service. (It may also be available in pre-compiled ready-to-use
|
||||
packages from operating system vendors.)
|
||||
Kea is open source software written in C++. It is freely available in
|
||||
source code form from ISC as a downloadable tar file. A copy of the Kea
|
||||
source code repository is accessible from Github (<ulink
|
||||
url="https://github.com/isc-projects/kea"/>). Kea may also be available
|
||||
in pre-compiled ready-to-use packages from operating system vendors.
|
||||
</para>
|
||||
|
||||
<section>
|
||||
@@ -224,15 +233,15 @@ Debian and Ubuntu:
|
||||
<para>
|
||||
When building from source code retrieved via Git, additional
|
||||
software will be required: automake (v1.11 or later),
|
||||
libtoolize, and autoconf (2.59 or later).
|
||||
libtoolize, and autoconf (v2.59 or later).
|
||||
These may need to be installed.
|
||||
</para>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
The latest development code is available on Github (see
|
||||
<ulink url="https://github.com/isc-projects/kea"/>). The Kea development
|
||||
is public and the leading development is done in the <quote>master</quote>
|
||||
<ulink url="https://github.com/isc-projects/kea"/>). The Kea source
|
||||
is public and development is done in the <quote>master</quote>
|
||||
branch.
|
||||
</para>
|
||||
<para>
|
||||
@@ -243,7 +252,7 @@ Debian and Ubuntu:
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The code checked out from the git repository doesn't include the
|
||||
The code checked out from the git repository does not include the
|
||||
generated configure script, Makefile.in files, nor their
|
||||
related build files.
|
||||
They can be created by running <command>autoreconf</command>
|
||||
@@ -257,24 +266,22 @@ Debian and Ubuntu:
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The write access to Kea repository is only granted to ISC staff. If you
|
||||
Write access to the Kea repository is only granted to ISC staff. If you
|
||||
are a developer planning to contribute to Kea, please fork our Github
|
||||
repository and use the "pull request" mechanism to request integration of
|
||||
your code into our repository. Please consult
|
||||
<ulink url="https://help.github.com/articles/fork-a-repo/"/> for help
|
||||
your code. Please consult
|
||||
<ulink url="https://help.github.com/articles/fork-a-repo/"/> for help on
|
||||
how to fork a Github repository.
|
||||
<ulink url="http://git.kea.isc.org/~tester/kea/doxygen/">
|
||||
Kea Developer's Guide</ulink> contains information and guidelines for
|
||||
the contributors about the process of integrating the code via
|
||||
pull requests. It also contains the requirements for the contributed
|
||||
code to be accepted by ISC.
|
||||
The <ulink url="http://git.kea.isc.org/~tester/kea/doxygen/">Kea
|
||||
Developer's Guide</ulink> contains more information about the process, as
|
||||
well as describing the requirements for contributed code to be accepted by ISC.
|
||||
</para>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section id="configure">
|
||||
<title>Configure before the build</title>
|
||||
<title>Configure Before the Build</title>
|
||||
<para>
|
||||
Kea uses the GNU Build System to discover build environment
|
||||
details.
|
||||
@@ -304,41 +311,42 @@ Debian and Ubuntu:
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>--with-boost-libs</term>
|
||||
<listitem>
|
||||
<simpara>Specify Boost libraries to link with (this option
|
||||
exists only to provide a way to enforce such a list:
|
||||
usually this should not be used).
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>--with-boost-lib-dir</term>
|
||||
<listitem>
|
||||
<simpara>Specify the path to Boost libraries to link with
|
||||
(usually there should be no reason to specify this option).
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>--with-botan-config</term>
|
||||
<listitem>
|
||||
<simpara>Specify the path to the botan-config
|
||||
script to build with Botan for the crypto code.
|
||||
script to build with Botan for cryptographic functions.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>--with-gtest</term>
|
||||
<term>--with-dhcp-mysql</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Build Kea with code to allow it to store leases (and access
|
||||
host reservations) in a MySQL database.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>--with-dhcp-pgsql</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Build Kea with code to allow it to store leases (and access
|
||||
host reservations) in a PostgreSQL database.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>--with-gtest-source</term>
|
||||
<listitem>
|
||||
<simpara>Enable the building of the C++ Unit Tests using the
|
||||
Google Test framework. Optionally this can define the
|
||||
path to the gtest header files and library. (If the framework
|
||||
is not already installed on your system, it can be downloaded
|
||||
Google Test framework. This option specifies the path to the
|
||||
gtest source. (If the framework
|
||||
is not installed on your system, it can be downloaded
|
||||
from <ulink url="https://code.google.com/p/googletest"/>.)
|
||||
</simpara>
|
||||
</listitem>
|
||||
@@ -356,19 +364,10 @@ Debian and Ubuntu:
|
||||
<varlistentry>
|
||||
<term>--with-openssl</term>
|
||||
<listitem>
|
||||
<simpara>Replace Botan by OpenSSL for the crypto library.
|
||||
The default is to try to find a working Botan then
|
||||
OpenSSL only if Botan is not found.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>--without-werror</term>
|
||||
<listitem>
|
||||
<simpara>Disable the default use of the
|
||||
<option>-Werror</option> compiler flag so that
|
||||
compiler warnings do not result in build failures.
|
||||
<simpara>Replace Botan by the OpenSSL the cryptographic library.
|
||||
By default <command>configure</command> searches for a valid
|
||||
Botan installation:
|
||||
if one is not found, it searches for OpenSSL.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -376,9 +375,9 @@ Debian and Ubuntu:
|
||||
</variablelist>
|
||||
<note>
|
||||
<para>
|
||||
For additional instructions concerning the building and installation of
|
||||
Kea for various databases, see <xref linkend="dhcp-install-configure"/>.
|
||||
For additional instructions concerning the configuration backends, see
|
||||
For instructions concerning the installation and configuration
|
||||
of database backends for Kea, see <xref linkend="dhcp-install-configure"/>.
|
||||
For information concerning the configuration backends, see
|
||||
<xref linkend="dhcp-config-backend" />.
|
||||
</para>
|
||||
</note>
|
||||
@@ -399,8 +398,8 @@ Debian and Ubuntu:
|
||||
|
||||
<para>
|
||||
If you have some problems with building Kea using the header-only
|
||||
Boost error code or you'd like to use the Boost system library
|
||||
(e.g., located in /usr/pkg/lib):
|
||||
Boost code or you'd like to use the Boost system library
|
||||
(assumed for the sake of this example to be located in /usr/pkg/lib):
|
||||
|
||||
<screen>$ <userinput>./configure \
|
||||
--with-boost-libs=-lboost_system \
|
||||
@@ -408,15 +407,15 @@ Debian and Ubuntu:
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If the configure fails, it may be due to missing or old
|
||||
If <command>configure</command> fails, it may be due to missing or old
|
||||
dependencies.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<userinput>./configure</userinput> when it succeeds displays a report
|
||||
with the building parameters. This report is saved into
|
||||
<filename>config.report</filename> and embedded into executable
|
||||
binaries, e.g., <userinput>kea-dhcp4</userinput>.
|
||||
If <command>configure</command> succeeds, it displays a report
|
||||
with the parameters used to build the code. This report is saved into
|
||||
the file <filename>config.report</filename> and is also embedded into
|
||||
the executable binaries, e.g., <userinput>kea-dhcp4</userinput>.
|
||||
</para>
|
||||
|
||||
</section>
|
||||
@@ -424,9 +423,8 @@ Debian and Ubuntu:
|
||||
<section>
|
||||
<title>Build</title>
|
||||
<para>
|
||||
After the configure step is complete, build the executables
|
||||
from the C++ code and prepare the Python scripts by running the command:
|
||||
|
||||
After the configure step is complete, build the executables
|
||||
from the C++ code and prepare the Python scripts by running the command:
|
||||
<screen>$ <userinput>make</userinput></screen>
|
||||
</para>
|
||||
</section>
|
||||
@@ -448,7 +446,7 @@ Debian and Ubuntu:
|
||||
</note>
|
||||
<para>
|
||||
If required, run <command>ldconfig</command> as root with
|
||||
<filename>/usr/local/lib</filename> (or with ${prefix}/lib if
|
||||
<filename>/usr/local/lib</filename> (or with <replaceable>prefix</replaceable>/lib if
|
||||
configured with --prefix) in
|
||||
<filename>/etc/ld.so.conf</filename> (or the relevant linker
|
||||
cache configuration file for your OS):
|
||||
@@ -472,7 +470,7 @@ Debian and Ubuntu:
|
||||
|
||||
<section id="dhcp-config-backend">
|
||||
<title>Selecting the Configuration Backend</title>
|
||||
<para>Kea 0.9 has introduced configuration backends that are
|
||||
<para>Kea 0.9 introduced configuration backends that are
|
||||
switchable during the compilation phase. Only one backend, JSON,
|
||||
is currently supported.
|
||||
</para>
|
||||
@@ -483,10 +481,10 @@ Debian and Ubuntu:
|
||||
<term>JSON</term>
|
||||
<listitem>
|
||||
<simpara>JSON is the new default configuration backend
|
||||
that causes Kea to read JSON configuration files from
|
||||
that allows Kea to read JSON configuration files from
|
||||
disk. It does not require any framework and thus is
|
||||
considered more lightweight. It will allow dynamic
|
||||
on-line reconfiguration, but will lack remote capabilities
|
||||
on-line reconfiguration, but lacks remote capabilities
|
||||
(i.e. no RESTful API).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -497,19 +495,20 @@ Debian and Ubuntu:
|
||||
<section id="dhcp-install-configure">
|
||||
<title>DHCP Database Installation and Configuration</title>
|
||||
<para>
|
||||
Kea stores its leases in a lease database. The software has been written in
|
||||
a way that makes it possible to choose which database product should be used to
|
||||
store the lease information. At present, Kea supports three database backends: MySQL,
|
||||
PostgreSQL and Memfile. To limit external dependencies, both MySQL and PostgreSQL
|
||||
support are disabled by default and only Memfile
|
||||
is available. Support for the optional external database backend must be explicitly included when
|
||||
Kea is built. This section covers the building of Kea with MySQL and/or PostgreSQL
|
||||
and the creation of the lease database.
|
||||
Kea stores its leases in a lease database. The software has been
|
||||
written in a way that makes it possible to choose which database product
|
||||
should be used to store the lease information. At present, Kea supports
|
||||
four database backends: MySQL, PostgreSQL, Cassandra and Memfile. To
|
||||
limit external dependencies, MySQL, PostgreSQL and Cassandra support are
|
||||
disabled by default and only Memfile is available. Support for the
|
||||
optional external database backend must be explicitly included when Kea
|
||||
is built. This section covers the building of Kea with one of the
|
||||
optional backends and the creation of the lease database.
|
||||
</para>
|
||||
|
||||
<note>
|
||||
<simpara>
|
||||
When unit tests are built with Kea (--with-gtest configuration option is specified),
|
||||
When unit tests are built with Kea (the --with-gtest configuration option is specified),
|
||||
the databases must be manually pre-configured for the unit tests to run.
|
||||
The details of this configuration can be found in the
|
||||
<ulink url="http://git.kea.isc.org/~tester/kea/doxygen">Kea Developer's
|
||||
@@ -526,10 +525,11 @@ Debian and Ubuntu:
|
||||
<para>
|
||||
Build and install Kea as described in <xref linkend="installation"/>, with
|
||||
the following modification. To enable the MySQL database code, at the
|
||||
"configure" step (see <xref linkend="configure"/>), do:
|
||||
"configure" step (see <xref linkend="configure"/>), the --with-dhcp-mysql switch
|
||||
should be specified:
|
||||
<screen><userinput>./configure [other-options] --with-dhcp-mysql</userinput></screen>
|
||||
Or specify the location of the MySQL configuration program
|
||||
"mysql_config" if MySQL was not installed in the default location:
|
||||
If MySQL was not installed in the default location, the location of the MySQL
|
||||
configuration program "mysql_config" should be included with the switch, i.e.
|
||||
<screen><userinput>./configure [other-options] --with-dhcp-mysql=<replaceable>path-to-mysql_config</replaceable></userinput></screen>
|
||||
</para>
|
||||
<para>
|
||||
@@ -547,11 +547,11 @@ Debian and Ubuntu:
|
||||
<para>
|
||||
Build and install Kea as described in <xref linkend="installation"/>, with
|
||||
the following modification. To enable the PostgreSQL database code, at the
|
||||
"configure" step (see <xref linkend="configure"/>), do:
|
||||
"configure" step (see <xref linkend="configure"/>), the --with-dhcp-pgsql switch
|
||||
should be specified:
|
||||
<screen><userinput>./configure [other-options] --with-dhcp-pgsql</userinput></screen>
|
||||
Or specify the location of the PostgreSQL configuration
|
||||
program "pg_config" if PostgreSQL was not installed in
|
||||
the default location:
|
||||
If PostgreSQL was not installed in the default location, the location of the PostgreSQL
|
||||
configuration program "pg_config" should be included with the switch, i.e.
|
||||
<screen><userinput>./configure [other-options] --with-dhcp-pgsql=<replaceable>path-to-pg_config</replaceable></userinput></screen>
|
||||
</para>
|
||||
<para>
|
||||
@@ -564,13 +564,13 @@ Debian and Ubuntu:
|
||||
<title>Building with CQL (Cassandra) support</title>
|
||||
<para>
|
||||
Install Cassandra according to the instructions for your system. The
|
||||
Cassandra project webpage contains useful pointers: <ulink
|
||||
url="http://cassandra.apache.org/download/" />.
|
||||
Cassandra project website contains useful pointers: <ulink
|
||||
url="http://cassandra.apache.org" />.
|
||||
</para>
|
||||
<para>
|
||||
Download and compile cpp-driver from DataStax. For details regarding
|
||||
dependencies for building cpp-driver, see the project homepage
|
||||
<ulink url="https://github.com/datastax/cpp-driver" />. As of June
|
||||
<ulink url="https://github.com/datastax/cpp-driver" />. In June
|
||||
2016, the following commands were used:
|
||||
<screen>
|
||||
$ <userinput>git clone https://github.com/datastax/cpp-driver</userinput>
|
||||
@@ -582,15 +582,15 @@ $ <userinput>make</userinput>
|
||||
</para>
|
||||
<para>
|
||||
As of June 2016, cpp-driver does not include cql_config script
|
||||
yet. There is a work in progress to contribute such a script to
|
||||
cpp-driver project. Until such contribution is accepted, there are
|
||||
intermediate steps that need to be conducted. The cql_config
|
||||
script and cql_config_defines.sh are temporarily stored in
|
||||
yet. Work is in progress to contribute such a script to the
|
||||
cpp-driver project but, until that is complete,
|
||||
intermediate steps that need to be conducted. A cql_config script is present in the
|
||||
tools/ directory of the Kea sources. Before using it, please
|
||||
edit cql_config_defines.sh: change CPP_DRIVER_PATH to the directory,
|
||||
where cpp-driver sources are located. If cpp-driver sources already
|
||||
edit cql_config_defines.sh in the same directory and change the
|
||||
environment variable CPP_DRIVER_PATH to point to the directory,
|
||||
where cpp-driver sources are located. (If the cpp-driver sources already
|
||||
provide cql_config script please use that rather than the version
|
||||
from Kea sources.
|
||||
from Kea sources.)
|
||||
</para>
|
||||
<para>
|
||||
Build and install Kea as described in <xref linkend="installation"/>, with
|
||||
|
@@ -55,13 +55,13 @@
|
||||
|
||||
<listitem>
|
||||
<simpara>
|
||||
Kea supports two crypto libraries: Botan and OpenSSL. Only one of them
|
||||
is required to be installed during compilation. Kea uses the Botan
|
||||
crypto library for C++ (<ulink url="http://botan.randombit.net/"/>),
|
||||
version 1.8, 1.9 or 1.10. As an alternative to Botan, Kea can use the
|
||||
OpenSSL crypto library (<ulink url="http://www.openssl.org/"/>),
|
||||
version 1.0.*. Support for later versions of Botan and OpenSSL will
|
||||
be added in future releases of Kea.
|
||||
Kea supports two cryptographic libraries: Botan and OpenSSL. Only one of
|
||||
them is required to be installed during compilation. If using Botan, Kea
|
||||
requires the Botan cryptographic library for C++ (<ulink
|
||||
url="http://botan.randombit.net/"/>), version 1.8, 1.9 or 1.10. If
|
||||
OpenSSL is used, (<ulink url="http://www.openssl.org/"/>), then Kea
|
||||
requires the OpenSSL C++ library version 1.0.*. Support for later
|
||||
versions of Botan and OpenSSL will be added in future releases of Kea.
|
||||
</simpara>
|
||||
</listitem>
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
<simpara>
|
||||
Kea uses the log4cplus C++ logging library
|
||||
(<ulink url="http://log4cplus.sourceforge.net/"/>).
|
||||
It requires at least log4cplus version 1.0.3.
|
||||
It requires log4cplus version 1.0.3 or later.
|
||||
</simpara>
|
||||
</listitem>
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
<listitem>
|
||||
<simpara>
|
||||
<command>kea-dhcp4</command> —
|
||||
DHCPv4 server process.
|
||||
The DHCPv4 server process.
|
||||
This process responds to DHCPv4 queries from clients.
|
||||
</simpara>
|
||||
</listitem>
|
||||
@@ -131,7 +131,7 @@
|
||||
<listitem>
|
||||
<simpara>
|
||||
<command>kea-dhcp6</command> —
|
||||
DHCPv6 server process.
|
||||
The DHCPv6 server process.
|
||||
This process responds to DHCPv6 queries from clients.
|
||||
</simpara>
|
||||
</listitem>
|
||||
@@ -139,9 +139,9 @@
|
||||
<listitem>
|
||||
<simpara>
|
||||
<command>kea-dhcp-ddns</command> —
|
||||
DHCP-DDNS process.
|
||||
The DHCP Dynamic DNS process.
|
||||
This process acts as an intermediary between the DHCP servers
|
||||
and DNS server. It receives name update requests from the DHCP
|
||||
and DNS servers. It receives name update requests from the DHCP
|
||||
servers and sends DNS Update messages to the DNS servers.
|
||||
</simpara>
|
||||
</listitem>
|
||||
@@ -149,7 +149,7 @@
|
||||
<listitem>
|
||||
<simpara>
|
||||
<command>kea-admin</command> —
|
||||
A tool useful for database backend maintenance (creating new
|
||||
A useful tool for database backend maintenance (creating a new
|
||||
database, checking versions, upgrading etc.)
|
||||
</simpara>
|
||||
</listitem>
|
||||
@@ -159,17 +159,16 @@
|
||||
<command>kea-lfc</command> —
|
||||
This process removes redundant information from the files used
|
||||
to provide persistent storage for the memfile data base backend.
|
||||
The service is written to run as a stand alone process. While it
|
||||
can be started externally it should be started by the Kea DHCP
|
||||
servers.
|
||||
While it can be run standalone, it is normally run as and when
|
||||
required by the Kea DHCP servers.
|
||||
</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara>
|
||||
<command>perfdhcp</command> —
|
||||
DHCP benchmarking tool which simulates multiple clients to
|
||||
test both DHCPv4 and DHCPv6 servers performance.
|
||||
A DHCP benchmarking tool which simulates multiple clients to
|
||||
test both DHCPv4 and DHCPv6 server performance.
|
||||
</simpara>
|
||||
</listitem>
|
||||
|
||||
|
@@ -139,8 +139,7 @@ kea_verbose=no
|
||||
|
||||
<section id="keactrl-commands">
|
||||
<title>Commands</title>
|
||||
<para>The following commands are supported by <command>keactrl</command>
|
||||
to perform specific operations on the Kea servers:
|
||||
<para>The following commands are supported by <command>keactrl</command>:
|
||||
<itemizedlist>
|
||||
<listitem><simpara>
|
||||
<command>start</command> - starts selected servers.
|
||||
|
@@ -7,16 +7,16 @@
|
||||
]>
|
||||
|
||||
<chapter id="quickstart">
|
||||
<title>Quick start</title>
|
||||
<title>Quick Start</title>
|
||||
|
||||
<para>
|
||||
This quickly covers the standard steps for installing and deploying Kea.
|
||||
This section describes the basic steps needed to get Kea up and running.
|
||||
For further details, full customizations, and troubleshooting, see the
|
||||
respective chapters in the Kea guide.
|
||||
</para>
|
||||
|
||||
<section id="quick-start">
|
||||
<title>Quick start guide for DHCPv4 and DHCPv6 services</title>
|
||||
<title>Quick Start Guide for DHCPv4 and DHCPv6 Services</title>
|
||||
|
||||
<orderedlist>
|
||||
|
||||
@@ -54,8 +54,9 @@ $ <userinput>./configure [your extra parameters]</userinput></screen>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Install it (by default the installation prefix is <filename>/usr/local/</filename>,
|
||||
so you likely need root privileges for that step):
|
||||
<para>Install it (by default it will be placed in
|
||||
<filename>/usr/local/</filename>,
|
||||
so it is likely that you will need root privileges for this step):
|
||||
<screen># <userinput>make install</userinput></screen>
|
||||
</para>
|
||||
</listitem>
|
||||
@@ -64,7 +65,8 @@ $ <userinput>./configure [your extra parameters]</userinput></screen>
|
||||
<para>Edit the configuration file which by default is installed in
|
||||
<filename>[kea-install-dir]/etc/kea/kea.conf</filename> and contains
|
||||
configuration for all Kea services. Configuration choices for DHCPv4
|
||||
and DHCPv6 services are described in <xref linkend="dhcp4-configuration"/> and <xref linkend="dhcp6-configuration"/>, respectively.</para>
|
||||
and DHCPv6 services are described in <xref linkend="dhcp4-configuration"/> and <xref linkend="dhcp6-configuration"/>:w
|
||||
respectively.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
@@ -81,10 +83,11 @@ $ <userinput>./configure [your extra parameters]</userinput></screen>
|
||||
<listitem>
|
||||
<para>Verify that Kea server(s) are running:
|
||||
<screen># <userinput>keactrl status</userinput></screen>
|
||||
If the server status is "inactive" may indicate a configuration
|
||||
error. Please check a log file (by default located in
|
||||
<filename>[kea-install-dir]/var/kea/kea.log</filename>) for the
|
||||
details of the error.
|
||||
A server status of "inactive" may indicate a configuration
|
||||
error. Please check the log file (by default named
|
||||
<filename>[kea-install-dir]/var/kea/kea-dhcp4.log</filename> or
|
||||
<filename>[kea-install-dir]/var/kea/kea-dhcp6.log</filename>)
|
||||
for the details of the error.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
@@ -99,15 +102,15 @@ $ <userinput>./configure [your extra parameters]</userinput></screen>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Stop running server(s):
|
||||
Stop running the server(s):
|
||||
<screen># <userinput>keactrl stop</userinput></screen>
|
||||
</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
<para>
|
||||
For more system specific installation procedures, you may want to visit
|
||||
<ulink url="http://kea.isc.org/wiki/SystemSpecificNotes">System specific notes</ulink>,
|
||||
available on <ulink url="http://kea.isc.org/">Kea homepage</ulink>.
|
||||
For instructions specific to your system, please read the
|
||||
<ulink url="http://kea.isc.org/wiki/SystemSpecificNotes">system specific notes</ulink>,
|
||||
available on the <ulink url="http://kea.isc.org/">Kea web site</ulink>.
|
||||
</para>
|
||||
|
||||
<para>The details of <command>keactrl</command> script usage can be found
|
||||
@@ -115,12 +118,12 @@ $ <userinput>./configure [your extra parameters]</userinput></screen>
|
||||
</section>
|
||||
|
||||
<section id="quick-start-direct-run">
|
||||
<title>Running Kea servers directly</title>
|
||||
<para>Kea servers can be started directly (without a need to use
|
||||
<command>keactrl</command>). To start DHCPv4 server run the following
|
||||
<title>Running the Kea Servers Directly</title>
|
||||
<para>The Kea servers can be started directly, without the need to use the
|
||||
<command>keactrl</command>. To start the DHCPv4 server run the following
|
||||
command:
|
||||
<screen># <userinput>kea-dhcp4 -c /path/to/your/kea4/config/file.json</userinput></screen>
|
||||
And, to start the DHCPv6 server run the following command:
|
||||
Similarly, to start the DHCPv6 server run the following command:
|
||||
<screen># <userinput>kea-dhcp6 -c /path/to/your/kea6/config/file.json</userinput></screen>
|
||||
</para>
|
||||
</section>
|
||||
|
Reference in New Issue
Block a user