backends.json 4.03 KB
Newer Older
1 2 3 4 5 6 7
// 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
8 9 10 11

{ "Dhcp6":

{
12
// Kea is told to listen on ethX interface only.
13 14 15 16
  "interfaces-config": {
    "interfaces": [ "ethX" ]
  },

17 18
// We need to specify lease type. Exactly one lease-database section
// should be present. Make sure you uncomment only one.
19

20 21 22
// 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.
23
  "lease-database": {
24 25 26
      "type": "memfile",
      "persist": true,
      "lfc-interval": 3600
27 28
  },

29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
// 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
//  },
45

46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
// 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
//  },
62

63 64 65 66 67 68 69 70
// 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.
71 72 73 74 75 76
//  "lease-database": {
//      "type": "cql",
//      "keyspace": "keatest",
//      "contact-points": "192.0.2.1,192.0.2.2,192.0.2.3",
//      "port": 9042
//  },
77

78 79 80 81 82 83
// 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).
84 85 86 87 88
  "preferred-lifetime": 3000,
  "valid-lifetime": 4000,
  "renew-timer": 1000,
  "rebind-timer": 2000,

89 90
// The following list defines subnets. Each subnet consists of at
// least subnet and pool entries.
91 92 93 94 95 96 97 98 99
  "subnet6": [
    {
      "pools": [ { "pool": "2001:db8:1::/80" } ],
      "subnet": "2001:db8:1::/64",
      "interface": "ethX"
    }
  ]
},

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

}