diff --git a/rt-mep/kea-dhcp4.conf b/rt-mep/kea-dhcp4.conf new file mode 100644 index 0000000..c479ff9 --- /dev/null +++ b/rt-mep/kea-dhcp4.conf @@ -0,0 +1,134 @@ +// /etc/kea/kea-dhcp4.conf +// sudo systemctl restart kea-dhcp4-server +{ +"Dhcp4": { + "interfaces-config": { + "interfaces": [ "eth1/10.100.2.1" ] + // "dhcp-socket-type": "udp" + }, + + "control-socket": { + "socket-type": "unix", + "socket-name": "/tmp/kea4-ctrl-socket" + }, + + "lease-database": { + // Memfile is the simplest and easiest backend to use. It's an in-memory + // C++ database that stores its state in CSV file. + "type": "memfile", + "lfc-interval": 3600 + }, + + "expired-leases-processing": { + "reclaim-timer-wait-time": 10, + "flush-reclaimed-timer-wait-time": 25, + "hold-reclaimed-time": 3600, + "max-reclaim-leases": 100, + "max-reclaim-time": 250, + "unwarned-reclaim-cycles": 5 + }, + + "renew-timer": 900, + "rebind-timer": 1800, + "valid-lifetime": 3600, + + "option-data": [ + { + "name": "domain-name-servers", + "data": "10.100.2.1, 1.1.1.1" + }, + + // "name": "domain-name" or "code": 15. + { + "code": 15, + "data": "enpls.org" + }, + + { + "name": "domain-search", + "data": "nl.x9.pm" + } + ], + + "subnet4": [ + { + "subnet": "10.100.2.0/24", + "pools": [ { "pool": "10.100.2.100 - 10.100.2.200" } ], + "option-data": [ + { + "name": "routers", + "data": "10.100.2.1" + } + ], + + // Kea offers host reservations mechanism. Kea supports reservations + // by several different types of identifiers: hw-address + // (hardware/MAC address of the client), duid (DUID inserted by the + // client), client-id (client identifier inserted by the client) and + // circuit-id (circuit identifier inserted by the relay agent). + // + // 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": [ + // You can add more reservations here. + ] + // You can add more subnets there. + } + ], + + // 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. + + // Logging configuration starts here. Kea uses different loggers to log various + // activities. For details (e.g. names of loggers), see Chapter 18. + "loggers": [ + { + // This section affects kea-dhcp4, which is the base logger for DHCPv4 + // component. It tells DHCPv4 server to write all log messages (on + // severity INFO or more) to a file. + "name": "kea-dhcp4", + "output_options": [ + { + // 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 the file + "output": "/var/log/kea-dhcp4.log" + + // Shorter log pattern suitable for use with systemd, + // avoids redundant information + // "pattern": "%-5p %m\n" + + // This governs whether the log output is flushed to disk after + // every write. + // "flush": false, + + // This specifies the maximum size of the file before it is + // rotated. + // "maxsize": 1048576, + + // This specifies the maximum number of rotated files to keep. + // "maxver": 8 + } + ], + // This specifies the severity of log messages to keep. Supported values + // are: FATAL, ERROR, WARN, INFO, DEBUG + "severity": "INFO", + + // If DEBUG level is specified, this value is used. 0 is least verbose, + // 99 is most verbose. Be cautious, Kea can generate lots and lots + // of logs if told to do so. + "debuglevel": 0 + } + ] +} +}