backends.json 3.96 KB
Newer Older
1
# This is an example configuration file for the DHCPv6 server in Kea.
Francis Dupont's avatar
Francis Dupont committed
2
# It is a basic scenario with one IPv6 subnet configured. It demonstrates
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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": {
24
25
26
      "type": "memfile",
      "persist": true,
      "lfc-interval": 3600
27
28
29
30
  },

# 2. MySQL backend. Leases will be stored in MySQL database. Make sure it
# is up, running and properly initialized. See kea-admin documentation
Francis Dupont's avatar
Francis Dupont committed
31
# for details on how to initialize the database. The only strictly required
32
# parameters are type and name. If other parameters are not specified,
Francis Dupont's avatar
Francis Dupont committed
33
# Kea will assume the database is available on localhost, that user and
34
35
36
37
38
39
# 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",
40
#      "port": 3306,
41
42
43
44
45
46
47
#      "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
Francis Dupont's avatar
Francis Dupont committed
48
# for details on how to initialize the database. The only strictly required
49
# parameters are type and name. If other parameters are not specified,
Francis Dupont's avatar
Francis Dupont committed
50
# Kea will assume the database is available on localhost, that user and
51
52
53
54
55
56
# 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",
57
#      "port": 5432,
58
#      "user": "keatest",
59
60
#      "password": "secret1",
#      "connect-timeout": 3
61
62
63
64
#  },

# 4. CQL (Cassandra) backend. Leases will be stored in Cassandra database. Make
# sure it is up, running and properly initialized. See kea-admin documentation
Francis Dupont's avatar
Francis Dupont committed
65
# for details on how to initialize the database. The only strictly required
66
# parameters are type, keyspace and contact-points. At least one contact point
67
68
69
70
71
72
# 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",
73
#      "contact-points": "192.0.2.1,192.0.2.2,192.0.2.3",
74
#      "port": 9042
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#  },

# 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"
    }
  ]
},

99
# The following configures logging. It assumes that messages with at least
100
# informational level (info, warn, error and fatal) should be logged to stdout.
101
102
103
104
105
106
"Logging": {
    "loggers": [
        {
            "name": "kea-dhcp6",
            "output_options": [
                {
107
                    "output": "stdout"
108
109
110
111
112
113
114
115
116
                }
            ],
            "debuglevel": 0,
            "severity": "INFO"
        }
    ]
}

}