мой сенсей наказал поделиться моим решением и поблагодарить общество. Выполняю его просьбу.
kea dhcp version 2.2.0
в kea-dhcp4.conf
//......
"client-classes": [
<? include "/opt/kea/dhcp/192.168.17.134_1630.class" ?>
//......
],
"shared-networks": [
{
"name": "vlan_1630",
"relay": { "ip-address": "10.80.130.1" },
"subnet4": [ {
"id": 1630,
"subnet": "10.80.130.0/24", "option-data": [ { "name": "routers", "data": "10.80.130.1" } ],
"pools": [
<? include "/opt/kea/dhcp/192.168.17.134_1630.subnet" ?>
//......
]
} ]
},
//......
в 192.168.17.134_1630.class
//......
{ "name": "192.168.17.134_1630_7", "test": "(substring(relay4[1].hex,5,1)==0x07 and hexstring(substring(option[82].option[2].hex,2,6),':')=='10:47:80:36:64:b5')"},
{ "name": "192.168.17.134_1630_8", "test": "(substring(relay4[1].hex,5,1)==0x08 and hexstring(substring(option[82].option[2].hex,2,6),':')=='10:47:80:36:64:b5')"},
{ "name": "192.168.17.134_1630_9", "test": "(substring(relay4[1].hex,5,1)==0x09 and hexstring(substring(option[82].option[2].hex,2,6),':')=='10:47:80:36:64:b5')"},
{ "name": "192.168.17.134_1630_10", "test": "(substring(relay4[1].hex,5,1)==0x0a and hexstring(substring(option[82].option[2].hex,2,6),':')=='10:47:80:36:64:b5')"},
{ "name": "192.168.17.134_1630_11", "test": "(substring(relay4[1].hex,5,1)==0x0b and hexstring(substring(option[82].option[2].hex,2,6),':')=='10:47:80:36:64:b5')"},
{ "name": "192.168.17.134_1630_12", "test": "(substring(relay4[1].hex,5,1)==0x0c and hexstring(substring(option[82].option[2].hex,2,6),':')=='10:47:80:36:64:b5')"},
{ "name": "192.168.17.134_1630_13", "test": "(substring(relay4[1].hex,5,1)==0x0d and hexstring(substring(option[82].option[2].hex,2,6),':')=='10:47:80:36:64:b5')"},
//......
в 192.168.17.134_1630.subnet
//......
{ "pool": "10.80.130.7/32", "client-class": "192.168.17.134_1630_6" },
{ "pool": "10.80.130.8/32", "client-class": "192.168.17.134_1630_7" },
{ "pool": "10.80.130.9/32", "client-class": "192.168.17.134_1630_8" },
{ "pool": "10.80.130.10/32", "client-class": "192.168.17.134_1630_9" },
{ "pool": "10.80.130.11/32", "client-class": "192.168.17.134_1630_10" },
{ "pool": "10.80.130.12/32", "client-class": "192.168.17.134_1630_11" },
{ "pool": "10.80.130.13/32", "client-class": "192.168.17.134_1630_12" },
//......
Cтич, благодарю за пример конфига.
*я всего лишь добавил привязку к мак адресу коммутатора remoute-id и разбил на инклюды.