Commit 22a32284 authored by Tomek Mrugalski's avatar Tomek Mrugalski 🛰
Browse files

[5198] Changes after review

parent 87d46a65
......@@ -15,8 +15,8 @@
// do. Comments in this configuration file sometimes refer to sections for more
// details. These are section numbers in Kea User's Guide. The version matching
// your software should come with your Kea package, but it is also available
// on Kea webpage (http://kea.isc.org, click User's Guide, direct link for stable
// version is http://kea.isc.org/docs/kea-guide.html).
// on Kea web page (http://kea.isc.org, click User's Guide, direct link for
// stable version is http://kea.isc.org/docs/kea-guide.html).
{
// DHCPv4 configuration starts here. This section will be read by DHCPv4 server
......@@ -34,15 +34,15 @@
// that don't have IPv4 address yet, are received. However, if your
// traffic is always relayed, it is often better to use regular
// UDP sockets. If you want to do that, uncomment this line:
// "dhcp-socket-type": "raw"
// "dhcp-socket-type": "udp"
},
// Kea support control channel, which is a way to receive management commands
// while the server is running. This is a Unix domain socket that receives
// commands formatted in JSON, e.g. config-set (which sets new configuration),
// config-reload (which tells Kea to reload its configuration from file),
// statistic-get (to retrieve statistics) and many more. For detailed
// description, see Sections 8.8, 16 and 15.
// Kea support control channel, which is a way to receive management
// commands while the server is running. This is a Unix domain socket that
// receives commands formatted in JSON, e.g. config-set (which sets new
// configuration), config-reload (which tells Kea to reload its
// configuration from file), statistic-get (to retrieve statistics) and many
// more. For detailed description, see Sections 8.8, 16 and 15.
"control-socket": {
"socket-type": "unix",
"socket-name": "/tmp/kea4-ctrl-socket.sock"
......@@ -60,7 +60,6 @@
"type": "memfile"
},
// Kea allows storing host reservations in a database. If your network is
// small or you have few reservations, it's probably easier to keep them
// in the configuration file. If your network is large, it's usually better
......@@ -97,22 +96,24 @@
"rebind-timer": 1800,
"valid-lifetime": 3600,
// Similar to DHCPv4, many other parameters can be specified here:
// - option definitions (if you want to define vendor options, your own custom
// options or perhaps handle standard options that Kea
// does not support out of the box yet)
// Many additional parameters can be specified here:
// - option definitions (if you want to define vendor options, your own
// custom options or perhaps handle standard options
// that Kea does not support out of the box yet)
// - client classes
// - hooks
// - ddns information (how the DHCPv4 component can reach a DDNS daemon)
//
// See the examples in DHCPv4 for specific syntax.
// These are global options. They are going to be sent when a client requests
// them, unless overwritten with values in more specific scopes. The scope
// hierarchy is:
// - global
// - subnet
// - class
// - host
// Some of them have examples below, but there are other parameters.
// Consult Kea User's Guide to find out about them.
// These are global options. They are going to be sent when a client
// requests them, unless overwritten with values in more specific scopes.
// The scope hierarchy is:
// - global (most generic, can be overwritten by class, subnet or host)
// - class (can be overwritten by subnet or host)
// - subnet (can be overwritten by host)
// - host (most specific, overwrites any other scopes)
//
// Not all of those options make sense. Please configure only those that
// are actually useful in your network.
......@@ -154,7 +155,7 @@
},
// Domain search is also a popular option. It tells the client to
// attempt to resolve names within those specificed domains. For
// attempt to resolve names within those specified domains. For
// example, name "foo" would be attempted to be resolved as
// foo.mydomain.example.com and if it fails, then as foo.example.com
{
......@@ -163,14 +164,14 @@
},
// String options that have a comma in their values need to have
// it escaped (i.e. each comma is predeced by two backslashes).
// it escaped (i.e. each comma is preceded by two backslashes).
// That's because commas are reserved for separating fields in
// compound options. At the same time, we need to be conformant
// with JSON spec, that does not allow "\,". Therefore the
// slightly uncommon double backslashes notation is needed.
// Legal JSON escapes are \ followed by "\/bfnrt character
// or \u followed by 4 hexa-decimal numbers (currently Kea
// or \u followed by 4 hexadecimal numbers (currently Kea
// supports only \u0000 to \u00ff code points).
// CSV processing translates '\\' into '\' and '\,' into ','
// only so for instance '\x' is translated into '\x'. But
......@@ -196,9 +197,10 @@
// based on rebind-timer parameter).
],
// Other global parameters that can be defined here are option defintions
// (this is useful if you want to use vendor options, your own custom options
// or perhaps handle options that Kea does not handle out of the box yet).
// Other global parameters that can be defined here are option definitions
// (this is useful if you want to use vendor options, your own custom
// options or perhaps handle options that Kea does not handle out of the box
// yet).
// You can also define classes. If classes are defined, incoming packets
// may be assigned to specific classes. A client class can represent any
......@@ -216,7 +218,9 @@
// This is a test. It is an expression that is being evaluated on
// each incoming packet. It is supposed to evaluate to either
// true or false. If it's true, the packet is added to specified
// class.
// class. See Section 12 for a list of available expressions. There
// are several dozens. Section 8.2.14 for more details for DHCPv4
// classification and Section 9.2.19 for DHCPv6.
"test": "substring(option[60].hex,0,6) == 'Aastra'",
// If a client belongs to this class, you can define extra behavior.
......@@ -309,18 +313,23 @@
// Kea also support flexible identifier (flex-id), which lets you
// specify an expression that is evaluated for each incoming packet.
// Resulting value is then used for as an identifier.
//
// Note that reservations are subnet-specific in Kea. This is
// different than ISC DHCP. Keep that in mind when migrating
// your configurations.
"reservations": [
// This is a reservation for a specific hardware/MAC address. It's a
// rather simple reservation: just an address and nothing else.
// This is a reservation for a specific hardware/MAC address.
// It's a rather simple reservation: just an address and nothing
// else.
{
"hw-address": "1a:1b:1c:1d:1e:1f",
"ip-address": "192.0.2.201"
},
// This is a reservation for a specific client-id. It also shows
// the this client will get a reserved hostname. A hostname can be
// defined for any identifier type, not just client-id.
// the this client will get a reserved hostname. A hostname can
// be defined for any identifier type, not just client-id.
{
"client-id": "01:11:22:33:44:55:66",
"ip-address": "192.0.2.202",
......@@ -336,7 +345,7 @@
"ip-address": "192.0.2.203",
"option-data": [ {
"name": "domain-name-servers",
"data": "10.1.1.202,10.1.1.203"
"data": "10.1.1.202, 10.1.1.203"
} ]
},
......@@ -359,7 +368,7 @@
{
"name": "tftp-servers",
"space": "vendor-4491",
"data": "10.1.1.202,10.1.1.203"
"data": "10.1.1.202, 10.1.1.203"
}
]
},
......@@ -394,8 +403,8 @@
]
// There are many, many more parameters that DHCPv4 server is able to use.
// They were not added here to not overwhelm people with too much information
// at once.
// They were not added here to not overwhelm people with too much
// information at once.
},
// DHCPv6 configuration starts here. This section will be read by DHCPv6 server
......@@ -403,7 +412,7 @@
"Dhcp6": {
// Add names of your network interfaces to listen on.
"interfaces-config": {
// You typcially want to put specific interface names here, e.g. eth0
// You typically want to put specific interface names here, e.g. eth0
// but you can also specify unicast addresses (e.g. eth0/2001:db8::1) if
// you want your server to handle unicast traffic in addition to
// multicast. (DHCPv6 is a multicast based protocol).
......@@ -445,7 +454,6 @@
// },
// See Section 8.2.3 "Hosts storage" for details.
// Setup reclamation of the expired leases and leases affinity.
// Expired leases will be reclaimed every 10 seconds. Every 25
// seconds reclaimed leases, which have expired more than 3600
......@@ -524,14 +532,14 @@
},
// String options that have a comma in their values need to have
// it escaped (i.e. each comma is predeced by two backslashes).
// it escaped (i.e. each comma is preceded by two backslashes).
// That's because commas are reserved for separating fields in
// compound options. At the same time, we need to be conformant
// with JSON spec, that does not allow "\,". Therefore the
// slightly uncommon double backslashes notation is needed.
// Legal JSON escapes are \ followed by "\/bfnrt character
// or \u followed by 4 hexa-decimal numbers (currently Kea
// or \u followed by 4 hexadecimal numbers (currently Kea
// supports only \u0000 to \u00ff code points).
// CSV processing translates '\\' into '\' and '\,' into ','
// only so for instance '\x' is translated into '\x'. But
......@@ -579,6 +587,25 @@
// host reservations defined for them.
"pools": [ { "pool": "2001:db8:1::/80" } ],
// Kea supports prefix delegation (PD). This mechanism delegates
// whole prefixes, instead of single addresses. You need to specify
// a prefix and then size of the delegated prefixes that it will
// be split into. This example below tells Kea to use
// 2001:db8:1::/56 prefix as pool and split it into /64 prefixes.
// This will give you 256 (2^(64-56)) prefixes.
"pd-pools": [
{
"prefix": "2001:db8:8::",
"prefix-len": 56,
"delegated-len": 64
// Kea also supports excluded prefixes. This advanced option
// is explained in Section 9.2.9. Please make sure your
// excluded prefix matches the pool it is defined in.
// "excluded-prefix": "2001:db8:8:0:80::",
// "excluded-prefix-len": 72
}
],
"option-data": [
// You can specify additional options here that are subnet
// specific. Also, you can override global options here.
......@@ -589,6 +616,10 @@
],
// Host reservations can be defined for each subnet.
//
// Note that reservations are subnet-specific in Kea. This is
// different than ISC DHCP. Keep that in mind when migrating
// your configurations.
"reservations": [
// This is a simple host reservation. The host with DUID matching
// the specified value will get an address of 2001:db8:1::100.
......@@ -680,6 +711,15 @@
// "pools": [ { "pool": "2001:db8:4::/80" } ]
// }
]
// Client-clesses can be defined here. See "client-classes" in Dhcp4 for
// an example.
// Hook libraries can be defined here. See "hooks-libraries" example in
// Dhcp4.
// DDNS information (how the DHCPv6 component can reach a DDNS daemon)
},
// DHCP DDNS configuration starts here. This is a very simple configuration
......@@ -706,7 +746,13 @@
"name": "kea-dhcp4",
"output_options": [
{
// Specifies the output file.
// Specifies the output file. There are several special values
// supported:
// - stdout (prints on standard output)
// - stderr (prints on standard error)
// - syslog (logs to syslog)
// - syslog:name (logs to syslog using specified name)
// Any other value is considered a name of a time
"output": "@localstatedir@/log/kea-dhcp4.log"
// This governs whether the log output is flushed to disk after
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment