I want to send DHCP option 66 with different values, based on vendor class identifier. I've created client classes in config, but I don't know how to tell the server to use them. This is what I have so far:
{
"Dhcp4": {
"interfaces-config": {
"interfaces": [ "vlan3" ]
},
"lease-database": {
"type": "memfile",
"persist": true,
"name": "/var/lib/kea/kea-leases4.csv",
"lfc-interval": 3600
},
"renew-timer": 15840,
"rebind-timer": 27720,
"valid-lifetime": 31680,
"client-classes": [
{
"name": "Cisco",
"test": "substring(option[vendor-class-identifier].text, 0, 5) == 'Cisco'",
"only-if-required": true,
"option-data": [
{
"code": 66,
"name": "tftp-server-name",
"data": "http://10.0.20.2:8008/phoneprov/$MA.xml"
}
]
},
{
"name": "Grandstream",
"test": "substring(option[vendor-class-identifier].text, 0, 11) == 'Grandstream'",
"only-if-required": true,
"option-data": [
{
"code": 66,
"name": "tftp-server-name",
"data": "http://10.0.20.2:8008/phoneprov"
}
]
}
],
"subnet4": [
{
"subnet": "10.0.20.0/24",
"pools": [ { "pool": "10.0.20.100 - 10.0.20.199" } ],
"authoritative": true,
"require-client-classes": [ "grandstream", "cisco" ],
"option-data": [
{
"name": "routers",
"data": "10.0.20.2"
},
{
"name": "domain-name-servers",
"data": "1.1.1.1, 8.8.8.8"
}
]
}
]
}
}