1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
// This is an example configuration file for the DHCPv6 server in Kea.
// It is a basic scenario with one IPv6 subnet configured. It demonstrates
// how to configure Kea to use various backends to store leases:
// - memfile
// - MySQL
// - PostgreSQL
// - CQL (Cassandra) backend
{ "Dhcp6":
{
// Kea is told to listen on ethX interface only.
"interfaces-config": {
"interfaces": [ "ethX" ]
},
// We need to specify lease type. Exactly one lease-database section
// should be present. Make sure you uncomment only one.
// 1. memfile backend. Leases information will be stored in flat CSV file.
// This is the easiest backend to use as it does not require any extra
// dependencies or services running.
"lease-database": {
"type": "memfile",
"persist": true,
"lfc-interval": 3600
},
// 2. MySQL backend. Leases will be stored in MySQL database. Make sure it
// is up, running and properly initialized. See kea-admin documentation
// for details on how to initialize the database. The only strictly required
// parameters are type and name. If other parameters are not specified,
// Kea will assume the database is available on localhost, that user and
// password is not necessary to connect and that timeout is 5 seconds.
// Kea must be compiled with --with-dhcp-mysql option to use this backend.
// "lease-database": {
// "type": "mysql",
// "name": "keatest",
// "host": "localhost",
// "port": 3306,
// "user": "keatest",
// "password": "secret1",
// "connect-timeout": 3
// },
// 3. PostgreSQL backend. Leases will be stored in PostgreSQL database. Make
// sure it is up, running and properly initialized. See kea-admin documentation
// for details on how to initialize the database. The only strictly required
// parameters are type and name. If other parameters are not specified,
// Kea will assume the database is available on localhost, that user and
// password is not necessary to connect and that timeout is 5 seconds.
// Kea must be compiled with --with-dhcp-pgsql option to use this backend.
// "lease-database": {
// "type": "pgsql",
// "name": "keatest",
// "host": "localhost",
// "port": 5432,
// "user": "keatest",
// "password": "secret1",
// "connect-timeout": 3
// },
// 4. CQL (Cassandra) backend. Leases will be stored in Cassandra
// database. Make sure it is up, running and properly initialized. See
// kea-admin documentation for details on how to initialize the
// database. The only strictly required parameters are type, keyspace
// and contact-points. At least one contact point must be specified, but
// more than one is required for redundancy. Make sure you specify the
// contact points without spaces. Kea must be compiled with --with-cql
// option to use this backend.
// "lease-database": {
// "type": "cql",
// "keyspace": "keatest",
// "contact-points": "192.0.2.1,192.0.2.2,192.0.2.3",
// "port": 9042
// },
// Addresses will be assigned with preferred and valid lifetimes
// being 3000 and 4000, respectively. Client is told to start
// renewing after 1000 seconds. If the server does not respond
// after 2000 seconds since the lease was granted, client is supposed
// to start REBIND procedure (emergency renewal that allows switching
// to a different server).
"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": [
{
"pools": [ { "pool": "2001:db8:1::/80" } ],
"subnet": "2001:db8:1::/64",
"interface": "ethX"
}
]
},
// The following configures logging. It assumes that messages with at
// least informational level (info, warn, error and fatal) should be
// logged to stdout.
"Logging": {
"loggers": [
{
"name": "kea-dhcp6",
"output_options": [
{
"output": "stdout"
}
],
"debuglevel": 0,
"severity": "INFO"
}
]
}
}
|