intro.xml 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
  3. "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
  4. <!ENTITY mdash "&#x2014;" >
  5. <!ENTITY % version SYSTEM "version.ent">
  6. %version;
  7. ]>
  8. <chapter id="intro">
  9. <title>Introduction</title>
  10. <para>
  11. Kea is the next generation of DHCP software developed by ISC.
  12. It supports both DHCPv4 and DHCPv6 protocols along with their
  13. extensions, e.g. prefix delegation and dynamic updates to DNS.
  14. </para>
  15. <para>
  16. Kea was initially developed as a part of the BIND 10 framework.
  17. In early 2014, ISC made the decision to discontinue active
  18. development of BIND 10 and continue development of Kea as
  19. standalone DHCP software.
  20. </para>
  21. <para>
  22. This guide covers Kea version &__VERSION__;.
  23. </para>
  24. <section>
  25. <title>Supported Platforms</title>
  26. <para>
  27. Kea is officially supported on Red Hat Enterprise Linux,
  28. CentOS, Fedora and FreeBSD systems. It is also likely to work on many
  29. other platforms: Kea 1.3.0 builds have been tested on (in no
  30. particular order) Red Hat Enterprise Linux 6.4, Debian GNU/Linux 7,
  31. Ubuntu 12.04, Ubuntu 14.04, Ubuntu 16.04, Fedora 22, Fedora 25, CentOS Linux 7,
  32. FreeBSD 11.0 OS X 10.11, OS X 10.12, Debian 7.11
  33. </para>
  34. <para>There are currently no plans to port Kea to Windows platforms.</para>
  35. </section>
  36. <section id="required-software">
  37. <title>Required Software at Run-time</title>
  38. <para>
  39. Running Kea uses various extra software which may
  40. not be provided in the default installation of some operating systems,
  41. nor in the standard package collections. You may
  42. need to install this required software separately.
  43. (For the build requirements, also see
  44. <xref linkend="build-requirements"/>.)
  45. </para>
  46. <itemizedlist>
  47. <listitem>
  48. <simpara>
  49. Kea supports two crypto libraries: Botan and OpenSSL. Only one of them
  50. is required to be installed during compilation. Kea uses the Botan
  51. crypto library for C++ (<ulink url="http://botan.randombit.net/"/>),
  52. version 1.8 or later. As an alternative to Botan, Kea can use the
  53. OpenSSL crypto library (<ulink url="http://www.openssl.org/"/>),
  54. version 1.0.1 or later.
  55. </simpara>
  56. </listitem>
  57. <listitem>
  58. <simpara>
  59. Kea uses the log4cplus C++ logging library
  60. (<ulink url="http://log4cplus.sourceforge.net/"/>).
  61. It requires log4cplus version 1.0.3 or later.
  62. </simpara>
  63. </listitem>
  64. <listitem>
  65. <simpara>
  66. In order to store lease information in a MySQL database, Kea requires MySQL
  67. headers and libraries. This is an optional dependency in that Kea can be
  68. built without MySQL support.
  69. </simpara>
  70. </listitem>
  71. <listitem>
  72. <simpara>
  73. In order to store lease information in a PostgreSQL database, Kea requires PostgreSQL
  74. headers and libraries. This is an optional dependency in that Kea can be
  75. built without PostgreSQL support.
  76. </simpara>
  77. </listitem>
  78. <listitem>
  79. <simpara>
  80. In order to store lease information in a Cassandra database (CQL), Kea
  81. requires Cassandra headers and libraries. This is an optional dependency
  82. in that Kea can be built without Cassandra support.
  83. </simpara>
  84. </listitem>
  85. </itemizedlist>
  86. </section>
  87. <section id="kea_software">
  88. <title>Kea Software</title>
  89. <para>
  90. Kea is modular. Part of this modularity is
  91. accomplished using multiple cooperating processes which, together,
  92. provide the server functionality.
  93. The following software is included with Kea:
  94. </para>
  95. <para>
  96. <itemizedlist>
  97. <listitem>
  98. <simpara>
  99. <command>keactrl</command> &mdash;
  100. Tool to start, stop, reconfigure, and report status
  101. for the Kea servers.
  102. </simpara>
  103. </listitem>
  104. <listitem>
  105. <simpara>
  106. <command>kea-dhcp4</command> &mdash;
  107. The DHCPv4 server process.
  108. This process responds to DHCPv4 queries from clients.
  109. </simpara>
  110. </listitem>
  111. <listitem>
  112. <simpara>
  113. <command>kea-dhcp6</command> &mdash;
  114. The DHCPv6 server process.
  115. This process responds to DHCPv6 queries from clients.
  116. </simpara>
  117. </listitem>
  118. <listitem>
  119. <simpara>
  120. <command>kea-dhcp-ddns</command> &mdash;
  121. The DHCP Dynamic DNS process.
  122. This process acts as an intermediary between the DHCP servers
  123. and DNS servers. It receives name update requests from the DHCP
  124. servers and sends DNS Update messages to the DNS servers.
  125. </simpara>
  126. </listitem>
  127. <listitem>
  128. <simpara>
  129. <command>kea-admin</command> &mdash;
  130. A useful tool for database backend maintenance (creating a new
  131. database, checking versions, upgrading etc.)
  132. </simpara>
  133. </listitem>
  134. <listitem>
  135. <simpara>
  136. <command>kea-lfc</command> &mdash;
  137. This process removes redundant information from the files used
  138. to provide persistent storage for the memfile data base backend.
  139. While it can be run standalone, it is normally run as and when
  140. required by the Kea DHCP servers.
  141. </simpara>
  142. </listitem>
  143. <listitem>
  144. <simpara>
  145. <command>kea-ctrl-agent</command> &mdash;
  146. Kea Control Agent (CA) is a daemon exposes a RESTful control
  147. interface for managing Kea servers.
  148. </simpara>
  149. </listitem>
  150. <listitem>
  151. <simpara>
  152. <command>perfdhcp</command> &mdash;
  153. A DHCP benchmarking tool which simulates multiple clients to
  154. test both DHCPv4 and DHCPv6 server performance.
  155. </simpara>
  156. </listitem>
  157. </itemizedlist>
  158. </para>
  159. </section>
  160. <para>
  161. The tools and modules are covered in full detail in this guide.
  162. <!-- TODO point to these -->
  163. In addition, manual pages are also provided in the default installation.
  164. </para>
  165. <para>
  166. Kea also provides C++ libraries and programmer interfaces for
  167. DHCP. These include detailed developer documentation and
  168. code examples.
  169. <!-- TODO point to this -->
  170. </para>
  171. </chapter>