[Kea-users] Problem with dhcpv6 class assignment
Andrey Kostin
ankost at podolsk.ru
Thu Feb 10 16:19:49 UTC 2022
Good day,
Faced a problem with dhcpv6 server, probably it's something obvious and
hope that somebody can point me in the right direction. I'm struggling
to assign dhcpv6 client to a class with a final goal to select a pool
for it.
My class definition looks like this:
"client-classes": [
{
"name": "OLT01.CHA",
"test": "substring(relay6[1].option[18].hex,0,6) ==
'TA5000'"
//"test": "relay6[1].option[18].exists"
}
],
Sorry for the following long output.
In debug I see option 18 for relay[1] is
'54:41:35:30:30:30:2f:34:2f:31:2f:34:2f:31:36' that translates to
'TA5000/4/1/4/16', but class assignment returns only UNKNOWN:
2022-02-10 10:24:17.616 DEBUG [kea-dhcp6.packets/54654.139937539061952]
DHCP6_QUERY_DATA duid=[00:03:00:01:84:d3:43:c8:6c:1f], tid=0x1ef087,
packet details: l
ocalAddr=[xxxx:xxxx:1:2300::240]:0 remoteAddr=[xxxx:xxxx:1::23:135]:547
msgtype=5(RENEW), transid=0x1ef087
type=00001, len=00010: 00:03:00:01:84:d3:43:c8:6c:1f
type=00002, len=00014: 00:01:00:01:28:d2:59:de:6a:65:7e:6f:94:95
type=00003(IA_NA), len=00040: iaid=1, t1=0, t2=0,
options:
type=00005(IAADDR), len=00024: address=xxxx:xxxx:8006:7::12,
preferred-lft=0, valid-lft=0
type=00006, len=00030: 17(uint16) 21(uint16) 22(uint16) 23(uint16)
24(uint16) 31(uint16) 56(uint16) 64(uint16) 67(uint16) 82(uint16)
83(uint16) 94(uint16) 95(
uint16) 96(uint16) 12(uint16)
type=00008, len=00002: 0 (uint16)
type=00025(IA_PD), len=00041: iaid=1, t1=0, t2=0,
options:
type=00026(IAPREFIX), len=00025: prefix=xxxx:xxxx:9000:200::/56,
preferred-lft=0, valid-lft=0
type=39(CLIENT_FQDN), flags: (N=0, O=0, S=0), domain-name='router.'
(full)
2 relay(s):
relay[0]: msg-type=12(RELAY_FORWARD), hop-count=1,
link-address=xxxx:xxxx:1::23:135,
peer-address=fe80::86d3:43ff:fec8:6c1f, 3 option(s)
type=00018, len=00010: 70:73:31:3a:35:33:2d:31:30:32
type=00037, len=00014: 1411 (uint32) 7073313A35332D313032 (binary)
type=00053, len=00031:
00:02:00:00:05:83:01:35:34:3a:31:65:3a:35:36:3a:61:35:3a:39:62:3a:63:30:00:00:00:00:00:00:00
relay[1]: msg-type=12(RELAY_FORWARD), hop-count=0,
link-address=::, peer-address=fe80::86d3:43ff:fec8:6c1f, 2 option(s)
type=00018, len=00015: 54:41:35:30:30:30:2f:34:2f:31:2f:34:2f:31:36
type=00037, len=00019: 3561 (uint32) 5441353030302F342F312F342F3136
(binary)
2022-02-10 10:24:17.616 DEBUG [kea-dhcp6.dhcpsrv/54654.139937539061952]
DHCPSRV_CFGMGR_SUBNET6_RELAY selected subnet xxxx:xxxx:8006:7::/64,
because of matchin
g relay addr xxxx:xxxx:1::23:135
2022-02-10 10:24:17.616 DEBUG [kea-dhcp6.packets/54654.139937539061952]
DHCP6_SUBNET_SELECTED duid=[00:03:00:01:84:d3:43:c8:6c:1f],
tid=0x1ef087: the subnet w
ith ID 2 was selected for client assignments
2022-02-10 10:24:17.616 DEBUG [kea-dhcp6.packets/54654.139937539061952]
DHCP6_SUBNET_DATA duid=[00:03:00:01:84:d3:43:c8:6c:1f], tid=0x1ef087:
the selected sub
net details: xxxx:xxxx:8006:7::/64
2022-02-10 10:24:17.616 DEBUG [kea-dhcp6.hosts/54654.139937539061952]
HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER get one host with IPv6
reservation for subnet id
2, identified by hwaddr=84D343C86C1F
2022-02-10 10:24:17.616 DEBUG [kea-dhcp6.hosts/54654.139937539061952]
HOSTS_CFG_GET_ALL_IDENTIFIER get all hosts with reservations using
identifier: hwaddr=84
D343C86C1F
2022-02-10 10:24:17.616 DEBUG [kea-dhcp6.hosts/54654.139937539061952]
HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT using identifier hwaddr=84D343C86C1F,
found 0 host(s)
2022-02-10 10:24:17.616 DEBUG [kea-dhcp6.hosts/54654.139937539061952]
HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_NULL host not found using subnet
id 2 and identif
ier hwaddr=84D343C86C1F
2022-02-10 10:24:17.616 DEBUG [kea-dhcp6.hosts/54654.139937539061952]
HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER get one host with IPv6
reservation for subnet id
2, identified by duid=0003000184D343C86C1F
2022-02-10 10:24:17.616 DEBUG [kea-dhcp6.hosts/54654.139937539061952]
HOSTS_CFG_GET_ALL_IDENTIFIER get all hosts with reservations using
identifier: duid=0003
000184D343C86C1F
2022-02-10 10:24:17.616 DEBUG [kea-dhcp6.hosts/54654.139937539061952]
HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT using identifier
duid=0003000184D343C86C1F, found 0 host(s)
2022-02-10 10:24:17.616 DEBUG [kea-dhcp6.hosts/54654.139937539061952]
HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_NULL host not found using subnet
id 2 and identifier duid=0003000184D343C86C1F
2022-02-10 10:24:17.616 DEBUG [kea-dhcp6.dhcp6/54654.139937539061952]
DHCP6_CLASS_ASSIGNED duid=[00:03:00:01:84:d3:43:c8:6c:1f], tid=0x1ef087:
client packet has been assigned to the following class(es): UNKNOWN
At the same time, similar config works for dhcp4 and a client gets
assigned into the class:
"client-classes": [
{
"name": "OLT01.CHA",
"test": "substring(relay4[1].hex,0,6) == 'TA5000'"
}
],
2022-02-10 11:01:47.182 DEBUG [kea-dhcp4.packets/55024.140194341513408]
DHCP4_QUERY_DATA [hwtype=1 84:d3:43:c8:6c:1f], cid=[no info],
tid=0x8d8b047b, packet d
etails: local_address=xxx.xxx.154.240:67,
remote_address=xxx.xxx.128.4:68, msg_type=DHCPREQUEST (3),
transid=0x8d8b047b,
options:
type=053, len=001: 3 (uint8)
type=055, len=011: 1(uint8) 3(uint8) 6(uint8) 12(uint8) 15(uint8)
28(uint8) 42(uint8) 43(uint8) 120(uint8) 121(uint8) 125(uint8)
type=057, len=002: 576 (uint16)
type=060, len=024: "GS4227W.ONT.dslforum.org" (string)
type=082, len=034:,
options:
type=001, len=015: 54:41:35:30:30:30:2f:34:2f:31:2f:34:2f:31:36
type=002, len=015: 54:41:35:30:30:30:2f:34:2f:31:2f:34:2f:31:36
2022-02-10 11:01:47.182 DEBUG [kea-dhcp4.dhcpsrv/55024.140194341513408]
DHCPSRV_CFGMGR_SUBNET4_ADDR selected subnet xxx.xxx.128.0/23 for packet
received by ma
tching address xxx.xxx.128.4
2022-02-10 11:01:47.183 DEBUG [kea-dhcp4.packets/55024.140194341513408]
DHCP4_SUBNET_SELECTED [hwtype=1 84:d3:43:c8:6c:1f], cid=[no info],
tid=0x8d8b047b: the
subnet with ID 2 was selected for client assignments
2022-02-10 11:01:47.183 DEBUG [kea-dhcp4.packets/55024.140194341513408]
DHCP4_SUBNET_DATA [hwtype=1 84:d3:43:c8:6c:1f], cid=[no info],
tid=0x8d8b047b: the sel
ected subnet details: xxx.xxx.128.0/23
2022-02-10 11:01:47.183 DEBUG [kea-dhcp4.hosts/55024.140194341513408]
HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER get one host with IPv4
reservation for subnet id
2, identified by hwaddr=84D343C86C1F
2022-02-10 11:01:47.183 DEBUG [kea-dhcp4.hosts/55024.140194341513408]
HOSTS_CFG_GET_ALL_IDENTIFIER get all hosts with reservations using
identifier: hwaddr=84
D343C86C1F
2022-02-10 11:01:47.183 DEBUG [kea-dhcp4.hosts/55024.140194341513408]
HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT using identifier hwaddr=84D343C86C1F,
found 0 host(s)
2022-02-10 11:01:47.183 DEBUG [kea-dhcp4.hosts/55024.140194341513408]
HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_NULL host not found using subnet
id 2 and identif
ier hwaddr=84D343C86C1F
2022-02-10 11:01:47.183 DEBUG [kea-dhcp4.hosts/55024.140194341513408]
HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER get one host with IPv4
reservation for subnet id
2, identified by circuit-id=5441353030302F342F312F342F3136
2022-02-10 11:01:47.183 DEBUG [kea-dhcp4.hosts/55024.140194341513408]
HOSTS_CFG_GET_ALL_IDENTIFIER get all hosts with reservations using
identifier: circuit-i
d=5441353030302F342F312F342F3136
2022-02-10 11:01:47.183 DEBUG [kea-dhcp4.hosts/55024.140194341513408]
HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT using identifier
circuit-id=5441353030302F342F312F342
F3136, found 0 host(s)
2022-02-10 11:01:47.183 DEBUG [kea-dhcp4.hosts/55024.140194341513408]
HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_NULL host not found using subnet
id 2 and identif
ier circuit-id=5441353030302F342F312F342F3136
2022-02-10 11:01:47.183 DEBUG [kea-dhcp4.dhcp4/55024.140194341513408]
DHCP4_CLASS_ASSIGNED [hwtype=1 84:d3:43:c8:6c:1f], cid=[no info],
tid=0x8d8b047b: client
packet has been assigned to the following class(es): UNKNOWN
2022-02-10 11:01:47.183 DEBUG [kea-dhcp4.dhcp4/55024.140194341513408]
DHCP4_CLASS_ASSIGNED [hwtype=1 84:d3:43:c8:6c:1f], cid=[no info],
tid=0x8d8b047b: client
packet has been assigned to the following class(es): ALL,
VENDOR_CLASS_GS4227W.ONT.dslforum.org, OLT01.CHA, UNKNOWN
I'd appreciate if smb could suggest where is my mistake.
And another question is about logger config. I saw in docs that
kea-dhcp6.eval logger should be used. Currently I have:
"loggers": [
{
"name": "kea-dhcp6",
"output_options": [
{
"output": "/var/log/kea-dhcp6.log",
"pattern": "%D{%Y-%m-%d %H:%M:%S.%q} %-5p [%c/%i.%t]
%m\n",
"maxsize": 1048576,
"maxver": 8
}
],
"severity": "DEBUG",
"debuglevel": 99
}
I don't see anything with .eval in the log, should I enable it
explicitly and what parameters should I specify in this case?
Kind regards,
Andrey
More information about the Kea-users
mailing list