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 119 120 121
|
// This is an example configuration file for the DHCPv4 server in Kea.
// It is a basic scenario with one IPv4 subnet configured. It demonstrates
// how to configure Kea to use various backends to store leases:
// - memfile
// - MySQL
// - PostgreSQL
{ "Dhcp4":
{
// Kea is told to listen on eth0 interface only.
"interfaces-config": {
"interfaces": [ "eth0" ]
},
// 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 the "-D mysql" option to use this backend.
// "lease-database": {
// "type": "mysql",
// "name": "keatest",
// "host": "localhost",
// "port": 3306,
// "user": "keatest",
// "password": "1234",
// "reconnect-wait-time": 3000, // expressed in ms
// "max-reconnect-tries": 3,
// "on-fail": "stop-retry-exit",
// "retry-on-startup": false,
// "connect-timeout": 3
// },
// Since Kea.2.7.4, the libdhcp_mysql.so hook library must be loaded in order to
// store leases in the MySQL Lease Database Backend.
// Specify the lease backend hook library location.
// {
// // the MySQL lease backend hook library required for lease storage.
// "library": "/opt/lib/kea/hooks/libdhcp_mysql.so"
// },
// 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 the "-D postgresql" option to use this backend.
// "lease-database": {
// "type": "postgresql",
// "name": "keatest",
// "host": "localhost",
// "port": 5432,
// "user": "keatest",
// "password": "1234",
// "reconnect-wait-time": 3000, // expressed in ms
// "max-reconnect-tries": 3,
// "on-fail": "stop-retry-exit",
// "retry-on-startup": false,
// "connect-timeout": 3
// },
// Since Kea.2.7.4, the libdhcp_pgsql.so hook library must be loaded in order to
// store leases in the PostgreSQL Lease Database Backend.
// Specify the lease backend hook library location.
// {
// // the PostgreSQL lease backend hook library required for lease storage.
// "library": "/opt/lib/kea/hooks/libdhcp_pgsql.so"
// },
// Addresses will be assigned with a lifetime of 4000 seconds.
"valid-lifetime": 4000,
// Renew and rebind timers are commented out. This implies that options
// 58 and 59 will not be sent to the client. In this case it is up to
// the client to pick the timer values according to RFC2131. Uncomment the
// timers to send these options to the client.
// "renew-timer": 1000,
// "rebind-timer": 2000,
// The following list defines subnets. We have only one subnet
// here. We tell Kea that it is directly available over local interface.
"subnet4": [
{
"pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
"id":1 ,
"subnet": "192.0.2.0/24",
"interface": "eth0"
}
],
// The following configures logging. It assumes that messages with at
// least informational level (info, warn, error and fatal) should be
// logged to stdout.
"loggers": [
{
"name": "kea-dhcp4",
"output-options": [
{
"output": "stdout"
}
],
"severity": "INFO"
}
]
}
}
|