several-subnets.json 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. // This is an example configuration file for DHCPv4 server in Kea.
  2. // It's a basic scenario with three IPv4 subnets configured. In each
  3. // subnet, there's a smaller pool of dynamic addresses.
  4. { "Dhcp4":
  5. {
  6. // Kea is told to listen on ethX interface only.
  7. "interfaces-config": {
  8. "interfaces": [ "ethX" ]
  9. },
  10. // We need to specify the the database used to store leases. As of
  11. // September 2016, four database backends are supported: MySQL,
  12. // PostgreSQL, Cassandra, and the in-memory database, Memfile.
  13. // We'll use memfile because it doesn't require any prior set up.
  14. "lease-database": {
  15. "type": "memfile"
  16. },
  17. // Addresses will be assigned with a lifetime of 4000 seconds.
  18. // The client is told to start renewing after 1000 seconds. If the server
  19. // does not respond within 2000 seconds of the lease being granted, client
  20. // is supposed to start REBIND procedure (emergency renewal that allows
  21. // switching to a different server).
  22. "valid-lifetime": 4000,
  23. "renew-timer": 1000,
  24. "rebind-timer": 2000,
  25. // RFC6842 says that the server is supposed to echo back client-id option.
  26. // However, some older clients do not support this and are getting confused
  27. // when they get their own client-id. Kea can disable RFC6842 support.
  28. "echo-client-id": false,
  29. // Some clients don't use stable client identifier, but rather generate them
  30. // during each boot. This may cause a client that reboots frequently to get
  31. // multiple leases, which may not be desirable. As such, sometimes admins
  32. // prefer to tell their DHCPv4 server to ignore client-id value altogether
  33. // and rely exclusively on MAC address. This is a parameter that is defined
  34. // globally, but can be overridden on a subnet level.
  35. "match-client-id": true,
  36. // The following list defines subnets. Each subnet consists of at
  37. // least subnet and pool entries.
  38. "subnet4": [
  39. {
  40. "pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
  41. "subnet": "192.0.2.0/24"
  42. },
  43. {
  44. // This particular subnet has match-client-id value changed.
  45. "pools": [ { "pool": "192.0.3.100 - 192.0.3.200" } ],
  46. "subnet": "192.0.3.0/24",
  47. "match-client-id": false
  48. },
  49. {
  50. "pools": [ { "pool": "192.0.4.1 - 192.0.4.254" } ],
  51. "subnet": "192.0.4.0/24"
  52. } ]
  53. },
  54. // The following configures logging. It assumes that messages with at least
  55. // informational level (info, warn, error and fatal) should be logged to stdout.
  56. "Logging": {
  57. "loggers": [
  58. {
  59. "name": "kea-dhcp4",
  60. "output_options": [
  61. {
  62. "output": "stdout"
  63. }
  64. ],
  65. "severity": "INFO"
  66. }
  67. ]
  68. }
  69. }