intro.xml 6.55 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!ENTITY mdash  "&#x2014;" >
<!ENTITY % version SYSTEM "version.ent">
%version;
]>

  <chapter id="intro">
    <title>Introduction</title>
    <para>
12
      Kea is the next generation of DHCP software developed by ISC.
13 14 15 16 17
      It supports both DHCPv4 and DHCPv6 protocols along with their
      extensions, e.g. prefix delegation and dynamic updates to DNS.
    </para>

    <para>
18 19 20 21
      Kea was initially developed as a part of the BIND 10 framework.
      In early 2014, ISC made the decision to discontinue active
      development of BIND 10 and continue development of Kea as
      standalone DHCP software.
22 23 24 25 26 27 28 29 30
    </para>

    <para>
      This guide covers Kea version &__VERSION__;.
    </para>

    <section>
      <title>Supported Platforms</title>
      <para>
31
        Kea is officially supported on Red Hat Enterprise Linux,
32
	    CentOS, Fedora and FreeBSD systems. It is also likely to work on many
33 34 35 36 37
	    other platforms: Kea 1.1.0 builds have been tested on (in no
        particular order) Red Hat Enteprise Linux 6.4, Debian GNU/Linux 7,
        Ubuntu 12.04, Ubuntu 14.04, Ubuntu 16.04, Fedora Linux 19,
        Fedora 20, Fedora 22, CentOS Linux 7, NetBSD 6, FreeBSD 10.3,
        OpenBSD 5.7, OpenBSD 6.0, OS X 10.10, OS X 10.11.
38 39 40 41 42 43 44 45 46
      </para>
      <para>There are currently no plans to port Kea to Windows platforms.</para>
    </section>

    <section id="required-software">
      <title>Required Software at Run-time</title>

      <para>
        Running Kea uses various extra software which may
47 48
        not be provided in the default installation of some operating systems,
        nor in the standard package collections. You may
49 50 51 52 53
        need to install this required software separately.
        (For the build requirements, also see
        <xref linkend="build-requirements"/>.)
      </para>

54
      <itemizedlist>
55

56 57
        <listitem>
            <simpara>
58
        Kea supports two crypto libraries: Botan and OpenSSL. Only one of them
59 60
        is required to be installed during compilation. Kea uses the Botan
        crypto library for C++ (<ulink url="http://botan.randombit.net/"/>),
61 62 63 64
        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 with later releases of Kea.
65 66
            </simpara>
        </listitem>
67

68 69
        <listitem>
            <simpara>
70 71 72
        Kea uses the log4cplus C++ logging library
        (<ulink url="http://log4cplus.sourceforge.net/"/>).
        It requires at least log4cplus version 1.0.3.
73 74
            </simpara>
        </listitem>
75

76 77 78 79 80 81 82
        <listitem>
            <simpara>
	In order to store lease information in a MySQL database, Kea requires MySQL
    headers and libraries.  This is an optional dependency in that Kea can be
    built without MySQL support.
            </simpara>
        </listitem>
83

84 85
        <listitem>
            <simpara>
86
	In order to store lease information in a PostgreSQL database, Kea requires PostgreSQL
87
    headers and libraries.  This is an optional dependency in that Kea can be
88
    built without PostgreSQL support.
89 90 91 92 93
            </simpara>
        </listitem>

        <listitem>
            <simpara>
94 95 96
	In order 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.
97 98 99
            </simpara>
        </listitem>
      </itemizedlist>
100 101
    </section>

102 103
    <section id="kea_software">
      <title>Kea Software</title>
104 105 106 107
      <para>
        Kea is modular.  Part of this modularity is
        accomplished using multiple cooperating processes which, together,
        provide the server functionality.
108
        The following software is included with Kea:
109 110 111 112 113 114 115 116
      </para>

      <para>

        <itemizedlist>

          <listitem>
            <simpara>
117 118 119
              <command>keactrl</command> &mdash;
              Tool to start, stop, reconfigure, and report status
              for the Kea servers.
120 121 122 123 124
            </simpara>
          </listitem>

          <listitem>
            <simpara>
125
              <command>kea-dhcp4</command> &mdash;
126 127 128 129 130 131 132
              DHCPv4 server process.
              This process responds to DHCPv4 queries from clients.
            </simpara>
          </listitem>

          <listitem>
            <simpara>
133
              <command>kea-dhcp6</command> &mdash;
134 135 136 137 138 139 140
              DHCPv6 server process.
              This process responds to DHCPv6 queries from clients.
            </simpara>
          </listitem>

          <listitem>
            <simpara>
141
              <command>kea-dhcp-ddns</command> &mdash;
142 143 144 145 146 147 148
              DHCP-DDNS process.
              This process acts as an intermediary between the DHCP servers
              and DNS server. It receives name update requests from the DHCP
              servers and sends DNS Update messages to the DNS servers.
            </simpara>
          </listitem>

149 150 151 152 153 154 155 156
          <listitem>
            <simpara>
              <command>kea-admin</command> &mdash;
              A tool useful for database backend maintenance (creating new
              database, checking versions, upgrading etc.)
            </simpara>
          </listitem>

157 158 159 160 161 162 163 164 165 166 167
          <listitem>
            <simpara>
              <command>kea-lfc</command> &mdash;
              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.
            </simpara>
          </listitem>

168 169
          <listitem>
            <simpara>
170 171
              <command>perfdhcp</command> &mdash;
              DHCP benchmarking tool which simulates multiple clients to
172
              test both DHCPv4 and DHCPv6 servers performance.
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
            </simpara>
          </listitem>

        </itemizedlist>
      </para>

    </section>

    <para>
      The tools and modules are covered in full detail in this guide.
<!-- TODO point to these -->
      In addition, manual pages are also provided in the default installation.
    </para>

    <para>
188 189 190
      Kea also provides C++ libraries and programmer interfaces for
      DHCP.  These include detailed developer documentation and
      code examples.
191 192 193 194
<!-- TODO point to this -->
    </para>

  </chapter>