Interfaces Options configuration You can specify an interface (all traffic including Options can be configured either at the global broadcast), a specific address (unicast traffic) or level (will apply to clients in all subnets) or on use “*” to denote all traffic on all interfaces. subnet-level (will be sent only to clients in that subnet). Kea supports standard, custom, vendor specific and nested options. Subnets Change the subnet definition to match your network by adding and removing subnets. Host Reservations Directly connected subnets require the "interface" Kea 1.0 supports host reservations based on object, as shown in the example. MAC address (v4) or DUID (v6), with IPv4 address and hostname reservations. Kea 1.1 will also support reservations for IPv6 addresses, IPv6 Lease Database prefixes and host specific options. If you are using Kea can store leases in memfile (a flat CSV file) or Host Reservation, you may want to download the SQL databases (MySQL or PostgreSQL). The latest source. example configuration uses flat file lease storage If you have few reservations, defining them in the (memfile), which is the highest performance configuration file is convenient. Kea can also option. store host reservations in MySQL, with Postgres Kea 1.0 support coming soon. Quick Start Guide In order to configure MySql or PosgreSQL use "hosts-database": { Kea is a modern open-source DHCP server for the following guide: "type": "", and Unix variants. This guide will help “host”: “mysql- you get a server up and running quickly. To configure MySQL: server.example.com”, "name": "keadatabase", "lease-database": { "user": “kea”, Kea is licensed under the Mozilla Public License "type": "mysql", “password”: “secret1” version 2 (MPL 2.0). “host”: “mysql-server.example.com”, } "name": "keadatabase", "user": “kea”, password”: “secret1” ISC offers paid annual support Documentation } subscriptions, described on our The full Kea User’s Guide, the Kea Developer’s website at: www.isc.org/kea/ Guide, source code, and the open issue tracker To configure PostgreSQL: are all available at the Kea project wiki: "lease-database": { "type": "", The Kea user community offers free http://kea.isc.org “host”: “pqsql-server.example.com”, advice on Kea-users, and developers "name": "keadatabase", discuss proposed development on "user": “kea”, “password”: “secret1” Kea-dev. Both mailing lists are } available at https://lists.isc.org Installation Example configuration Example, continued 1. Install required dependencies: g++, make, The Kea installation comes with more than a dozen # **** begin optional section **** boost, one crypto library (OpenSSL or Botan), examples in [install-dir]/share/doc/kea/examples. # Subnet-specific options log4cplus. If you want to use databases, you may The configuration is a JSON file and consists of a "option-data": [ { "name": "domain-name-servers", optionally install MySQL or PostgreSQL. single object started with a curly bracket. The "data": "192.0.2.3" example configuration below is for a DHCPv4 server } ], 2. Download a the Kea 1.0 source tarball from two subnets, one of which is directly attached, a # **** end optional section **** ftp.isc.org/isc/kea/ or isc.org/downloads/ and global option, a subnet option and some host extract. reservations. # **** begin optional section **** "reservations": [ A number of OS package collections provide Kea { Items written in BOLD are required for a working "hw-address": "1a:1b:1c:1d: pre-built with all the prerequisite packages. See configuration. Lighter items are optional. 1e:1f", http://kea.isc.org/wiki/Install for a list. { "ip-address": "192.0.2.202" "Dhcp4": { }, { "hw-address": "0a:0b:0c:0d: 3. Go into the source directory and run the # interfaces 0e:0f", configure script: "interfaces-config": { "interfaces": [ "eth0", "ip-address": "192.0.2.100", $ ./configure [your extra parameters] "hostname": "alice-laptop" "eth3/10.0.0.1" ] } Parameters you may consider: --prefix, --with- }, ] dhcp-mysql, --with-dhcp-pgsql, --with-openssl, # where the lease database is stored # **** end optional section **** —with-botan-config "lease-database": { "type": "memfile", # adding another subnet, this one is 4. Build it: "name": "/tmp/kea-leases4.csv", directly connected $ make "lfc-interval": 1800 }, { }, "subnet": "10.1.2.0/24", 5. Install it (by default the installation prefix is /usr/ "pools": [ local/, so you likely need root privileges for that # **** begin optional section **** { "pool": "10.1.2.5 - step): # Global options 10.1.2.30" } ], # make install "option-data": [ { "interface": "eth0" "name": "domain-name-servers", } 6. Edit the configuration file which by default is "data": "192.0.2.1, 192.0.2.2" ] installed in [kea-install-dir]/etc/kea/kea.conf. See } ], } the following section for details. We used red to # **** end optional section **** } indicate where you should substitute names and # end addresses relevant to your own network. "valid-lifetime": 1800, # subnet definitions "subnet4": [ { 7. Start Kea: "subnet": "192.0.2.0/24", Kea is OPEN SOURCE # kea-dhcp4 -c /path/to/kea4/config- "pools": [ Contribute your ideas and patches at file.json { "pool": "192.0.2.10 - github.com/isc-projects/kea. 192.0.2.20" } ],