2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-29 13:07:50 +00:00

[5017] Examples for echo-client-id and match-client-id added.

This commit is contained in:
Tomek Mrugalski 2016-12-16 18:57:48 +01:00
parent 5eb78ae50b
commit d0d515391e
4 changed files with 36 additions and 8 deletions

View File

@ -37,7 +37,11 @@
"library": "/opt/lib/security.so" "library": "/opt/lib/security.so"
}, },
{ {
"library": "/opt/lib/charging.so" "library": "/opt/lib/charging.so",
"parameters": {
"path": "/var/kea/var",
"base-name": "kea-forensic6"
}
} }
] ]
} }

View File

@ -27,15 +27,36 @@
"renew-timer": 1000, "renew-timer": 1000,
"rebind-timer": 2000, "rebind-timer": 2000,
# RFC6842 says that the server is supposed to echo back client-id option.
# However, some older clients do not support this and are getting confused
# when they get their own client-id. Kea can disable RFC6842 support.
"echo-client-id": false,
# Some clients don't use stable client identifier, but rather generate them
# during each boot. This may cause a client that reboots frequently to get
# multiple leases, which may not be desirable. As such, sometimes admins
# prefer to tell their DHCPv4 server to ignore client-id value altogether
# and rely exclusively on MAC address. This is a parameter that is defined
# globally, but can be overridden on a subnet level.
"match-client-id": true,
# The following list defines subnets. Each subnet consists of at # The following list defines subnets. Each subnet consists of at
# least subnet and pool entries. # least subnet and pool entries.
"subnet4": [ "subnet4": [
{ "pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ], {
"subnet": "192.0.2.0/24" }, "pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
{ "pools": [ { "pool": "192.0.3.100 - 192.0.3.200" } ], "subnet": "192.0.2.0/24"
"subnet": "192.0.3.0/24" }, },
{ "pools": [ { "pool": "192.0.4.1 - 192.0.4.254" } ], {
"subnet": "192.0.4.0/24" } ] # This particular subnet has match-client-id value changed.
"pools": [ { "pool": "192.0.3.100 - 192.0.3.200" } ],
"subnet": "192.0.3.0/24",
"match-client-id": false
},
{
"pools": [ { "pool": "192.0.4.1 - 192.0.4.254" } ],
"subnet": "192.0.4.0/24"
} ]
}, },
# The following configures logging. It assumes that messages with at least # The following configures logging. It assumes that messages with at least

View File

@ -5,3 +5,4 @@
/spec_config.h /spec_config.h
/spec_config.h.pre /spec_config.h.pre
/s-messages /s-messages
/dhcp4_parser.report

View File

@ -862,6 +862,7 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence}
\"echo-client-id\" { \"echo-client-id\" {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
case isc::dhcp::Parser4Context::SUBNET4: case isc::dhcp::Parser4Context::SUBNET4:
return isc::dhcp::Dhcp4Parser::make_ECHO_CLIENT_ID(driver.loc_); return isc::dhcp::Dhcp4Parser::make_ECHO_CLIENT_ID(driver.loc_);
default: default:
@ -871,6 +872,7 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence}
\"match-client-id\" { \"match-client-id\" {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
case isc::dhcp::Parser4Context::SUBNET4: case isc::dhcp::Parser4Context::SUBNET4:
return isc::dhcp::Dhcp4Parser::make_MATCH_CLIENT_ID(driver.loc_); return isc::dhcp::Dhcp4Parser::make_MATCH_CLIENT_ID(driver.loc_);
default: default: