123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <?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 "—" >
- ]>
- <chapter id="kea-config">
- <title>Kea configuration</title>
- <para>Depending on configuration backend chosen (see <xref
- linkend="dhcp-config-backend"/>), configuration mechanisms are
- different. The following sections describe details of specific configuration
- backends. Note that only one configuration backend can be used and its
- selection is determined during compilation time.</para>
- <section id="bundy-backend">
- <title>Bundy configuration backend</title>
- <para>This legacy configuration backend allows Kea to use former BIND10
- framework. That framework and this Kea configuration backend is no longer
- supported by ISC. It is currently developed as part of Bundy project (see
- <ulink url="http://bundy-dns.de">Bundy homepage</ulink>). See Bundy
- project documentation regarding configuration.</para>
- </section>
- <section id="json-backend">
- <title>JSON configuration backend</title>
- <para>JSON is the default configuration backend and the only one supported
- as of 0.9 release. It assumes that the servers are started from command
- line (either directly or using a script, see TODO for details). JSON
- backend uses certain signals to influence certain behaviors. The
- configuration file is specified upon startup using -c parameter.</para>
- <section id="json-format">
- <title>JSON syntax</title>
- <para>Configuration files for DHCPv4, DHCPv6 and DDNS modules are
- defined in extended JSON format. The basic JSON is defined in <ulink
- url="http://tools.ietf.org/html/rfc4627">RFC 4627</ulink>. Kea
- components use extended JSON, which extends basic format by allowing
- bash-style comments in the file. Comment lines must have hash (#) in the
- first column.</para>
- <para>Configuration file consists of a single object (often colloquially
- called a map) started with a curly bracket. It consists "Dhcp4",
- "Dhcp6", "DhcpDdns" and/or "Logging" objects. It is possible to define
- additional elements, but they will be ignored. That principle was chosen
- to ease configuration management. For example, it is possible to define
- Dhcp4, Dhcp6 and Logging elements in one configuration file that can be
- used to start both DHCPv4 and DHCPv6 components. When starting, DHCPv4
- component will use Dhcp4 object to configure itself and Logging to
- configure logging parameters, while ignoring Dhcp6 object.</para>
- <para>For example, a very simple configuration for Dhcp6 could look
- like this:
- <screen>
- {
- # DHCPv6 specific configuration starts here.
- "Dhcp6": {
- # These are DHCPv6-specific parameters. They will be explained in later sections.
- "interfaces": [ "eth0" ],
- "preferred-lifetime": 3000,
- "valid-lifetime": 4000,
- "renew-timer": 1000,
- "rebind-timer": 2000,
- # The following list defines subnets. Each subnet consists of at
- # least subnet and pool entries.
- "subnet6": [{
- "pool": [ "2001:db8:1::/80" ],
- "subnet": "2001:db8:1::/64"
- }]
- },
- # DHCPv6 specific configuration ends here.
- # Logger parameters (that could be shared among several components) start here.
- "Logging": {
- # These are Logger-specific parameters. They will be explained in later sections.
- "loggers": [{
- "name": "*",
- "severity": "DEBUG"
- }]
- }
- # Logger parameters end here.
- }
- </screen>
- </para>
- <para>
- More examples are available in the Kea source code in the
- <filename>doc/examples</filename> directory.
- </para>
-
- </section>
-
- <!-- @todo Add a reference here after #3422 is done -->
- </section>
- </chapter>
|