У меня возникла проблема с клиентом ROS DHCPv6. Мы используем ISC Kea для выдачи как статически назначенных IPv6-адресов, так и префиксов подсетей для клиентских устройств. На Kea версии 1.0 всё работало нормально — и устройства TP-Link, и RouterBoard получали свои адреса и префиксы. Но когда я попытался перейти на Kea версии 1.1, устройства RouterBoard внезапно перестали получать конфигурацию. В их логе полно таких сообщений:
13:12:58 dhcp,debug,packet recv server: server1 fe80::2ca0:e376:b2b0:ee5c -> ff02::1:2
13:12:58 dhcp,debug,packet type: solicit
13:12:58 dhcp,debug,packet transaction-id: fa2c1f
13:12:58 dhcp,debug,packet -> clientid: 00010001 1e1019bc 74d4358a 59ef
13:12:58 dhcp,debug,packet -> ia_na:
13:12:58 dhcp,debug,packet t1: 0
13:12:58 dhcp,debug,packet t2: 0
13:12:58 dhcp,debug,packet id: 0x1674d435
13:12:58 dhcp,debug,packet -> oro: 17 23 24 39
13:12:58 dhcp,debug,packet -> elapsed_time: 15
13:12:58 dhcp,debug,packet -> vendor_class: 00000137 00084d53 46542035 2e30
13:12:58 dhcp,debug,packet -> unknown: 000e4157 4d2d5749 4e2d5345 52564552
13:12:58 dhcp,debug handling only prefix delegation, discarding..
Конфигурационные файлы для обеих версий Kea одинаковые. Но механизм ответа DHCPv6 изменился — Kea v1.0 отправляет отдельные ответы для адреса и префиксного делегирования, а v1.1 отправляет их в одном ответе. Вот вывод из отладочного лога Kea:
Kea v1.0:
2017-03-08 13:57:32.154 DEBUG [kea-dhcp6.packets/33688] DHCP6_RESPONSE_DATA отвечаем пакетным типом 7, локальный адрес=[ff02::1:2]:547, удалённый=[fe80::4aee:cff:fef2:404a]:546
msgtype=7, transid=0xb4b06f
type=00001, len=00010: 00:03:00:01:48:ee:0c:f2:40:4a
type=00002, len=00014: 00:01:00:87:20:52:bb:92:0c:c4:7a:80:2e:1b
type=00003(IA_NA), len=00040: iaid=202317888, t1=1800, t2=2880,
options:
type=00005(IAADDR), len=00024: address=xxx:yyy:zzz:9d6:4aee:cff:fef2:404a, preferred-lft=3000, valid-lft=4000
type=00023, len=00032: xxx:yyy:zzz:1010::3 xxx:yyy:zzz:1010::2
... немного другого отладочного вывода, опущено ...
2017-03-08 13:57:32.155 DEBUG [kea-dhcp6.packets/33688] DHCP6_RESPONSE_DATA отвечаем пакетным типом 7, локальный адрес=[ff02::1:2]:547, удалённый=[fe80::4aee:cff:fef2:404a]:546
msgtype=7, transid=0xcc87f7
type=00001, len=00010: 00:03:00:01:48:ee:0c:f2:40:4a
type=00002, len=00014: 00:01:00:87:20:52:bb:92:0c:c4:7a:80:2e:1b
type=00023, len=00032: xxx:yyy:zzz:1010::3 xxx:yyy:zzz:1010::2
type=00025(IA_PD), len=00041: iaid=202317888, t1=1800, t2=2880,
options:
type=00026(IAPREFIX), len=00025: prefix=xxx:yyy:zzz:bb0a::/64, preferred-lft=3000, valid-lft=4000
Kea v1.1:
2017-03-08 13:29:18.822 DEBUG [kea-dhcp6.packets/3895] DHCP6_RESPONSE_DATA отвечаем пакетным типом 2, локальный адрес=[ff02::1:2]:547, удалённый=[fe80::4e5e:cff:fef0:23bf]:546
msgtype=2, transid=0xb8cb66
type=00001, len=00010: 00:03:00:01:4c:5e:0c:f0:23:bf
type=00002, len=00014: 00:01:00:87:20:52:b4:fb:00:25:90:46:58:29
type=00003(IA_NA), len=00040: iaid=2, t1=1800, t2=2880,
options:
type=00005(IAADDR), len=00024: address=xxx:yyy:zzz:7e4:4e5e:cff:fef0:23bf, preferred-lft=3000, valid-lft=4000
type=00023, len=00032: xxx:yyy:zzz:1010::3 xxx:yyy:zzz:1010::2
type=00025(IA_PD), len=00041: iaid=2, t1=1800, t2=2880,
options:
type=00026(IAPREFIX), len=00025: prefix=xxx:yyy:zzz:30a::/64, preferred-lft=3000, valid-lft=4000
Конфигурация клиентов RB выглядит так:
/ipv6 dhcp-server
add address-pool=LAN-pool interface=LAN-bridge name=server1
/ipv6 address
add from-pool=LAN-pool interface=ether2
/ipv6 dhcp-client
add add-default-route=yes interface=ether1 pool-name=LAN-pool request=address,prefix
/ipv6 nd
add advertise-dns=yes hop-limit=64 interface=ether2 managed-address-configuration=yes
Я уже пробовал ROS версий 6.34 - 6.38.3, и ни одна из них не работает с Kea v1.1, так что вряд ли это откат в ходе развития ROS. Тем не менее, хочу спросить — может ли проблема быть в ROS или в самом Kea-сервере?
13:12:58 dhcp,debug,packet recv server: server1 fe80::2ca0:e376:b2b0:ee5c -> ff02::1:2
13:12:58 dhcp,debug,packet type: solicit
13:12:58 dhcp,debug,packet transaction-id: fa2c1f
13:12:58 dhcp,debug,packet -> clientid: 00010001 1e1019bc 74d4358a 59ef
13:12:58 dhcp,debug,packet -> ia_na:
13:12:58 dhcp,debug,packet t1: 0
13:12:58 dhcp,debug,packet t2: 0
13:12:58 dhcp,debug,packet id: 0x1674d435
13:12:58 dhcp,debug,packet -> oro: 17 23 24 39
13:12:58 dhcp,debug,packet -> elapsed_time: 15
13:12:58 dhcp,debug,packet -> vendor_class: 00000137 00084d53 46542035 2e30
13:12:58 dhcp,debug,packet -> unknown: 000e4157 4d2d5749 4e2d5345 52564552
13:12:58 dhcp,debug handling only prefix delegation, discarding..
Конфигурационные файлы для обеих версий Kea одинаковые. Но механизм ответа DHCPv6 изменился — Kea v1.0 отправляет отдельные ответы для адреса и префиксного делегирования, а v1.1 отправляет их в одном ответе. Вот вывод из отладочного лога Kea:
Kea v1.0:
2017-03-08 13:57:32.154 DEBUG [kea-dhcp6.packets/33688] DHCP6_RESPONSE_DATA отвечаем пакетным типом 7, локальный адрес=[ff02::1:2]:547, удалённый=[fe80::4aee:cff:fef2:404a]:546
msgtype=7, transid=0xb4b06f
type=00001, len=00010: 00:03:00:01:48:ee:0c:f2:40:4a
type=00002, len=00014: 00:01:00:87:20:52:bb:92:0c:c4:7a:80:2e:1b
type=00003(IA_NA), len=00040: iaid=202317888, t1=1800, t2=2880,
options:
type=00005(IAADDR), len=00024: address=xxx:yyy:zzz:9d6:4aee:cff:fef2:404a, preferred-lft=3000, valid-lft=4000
type=00023, len=00032: xxx:yyy:zzz:1010::3 xxx:yyy:zzz:1010::2
... немного другого отладочного вывода, опущено ...
2017-03-08 13:57:32.155 DEBUG [kea-dhcp6.packets/33688] DHCP6_RESPONSE_DATA отвечаем пакетным типом 7, локальный адрес=[ff02::1:2]:547, удалённый=[fe80::4aee:cff:fef2:404a]:546
msgtype=7, transid=0xcc87f7
type=00001, len=00010: 00:03:00:01:48:ee:0c:f2:40:4a
type=00002, len=00014: 00:01:00:87:20:52:bb:92:0c:c4:7a:80:2e:1b
type=00023, len=00032: xxx:yyy:zzz:1010::3 xxx:yyy:zzz:1010::2
type=00025(IA_PD), len=00041: iaid=202317888, t1=1800, t2=2880,
options:
type=00026(IAPREFIX), len=00025: prefix=xxx:yyy:zzz:bb0a::/64, preferred-lft=3000, valid-lft=4000
Kea v1.1:
2017-03-08 13:29:18.822 DEBUG [kea-dhcp6.packets/3895] DHCP6_RESPONSE_DATA отвечаем пакетным типом 2, локальный адрес=[ff02::1:2]:547, удалённый=[fe80::4e5e:cff:fef0:23bf]:546
msgtype=2, transid=0xb8cb66
type=00001, len=00010: 00:03:00:01:4c:5e:0c:f0:23:bf
type=00002, len=00014: 00:01:00:87:20:52:b4:fb:00:25:90:46:58:29
type=00003(IA_NA), len=00040: iaid=2, t1=1800, t2=2880,
options:
type=00005(IAADDR), len=00024: address=xxx:yyy:zzz:7e4:4e5e:cff:fef0:23bf, preferred-lft=3000, valid-lft=4000
type=00023, len=00032: xxx:yyy:zzz:1010::3 xxx:yyy:zzz:1010::2
type=00025(IA_PD), len=00041: iaid=2, t1=1800, t2=2880,
options:
type=00026(IAPREFIX), len=00025: prefix=xxx:yyy:zzz:30a::/64, preferred-lft=3000, valid-lft=4000
Конфигурация клиентов RB выглядит так:
/ipv6 dhcp-server
add address-pool=LAN-pool interface=LAN-bridge name=server1
/ipv6 address
add from-pool=LAN-pool interface=ether2
/ipv6 dhcp-client
add add-default-route=yes interface=ether1 pool-name=LAN-pool request=address,prefix
/ipv6 nd
add advertise-dns=yes hop-limit=64 interface=ether2 managed-address-configuration=yes
Я уже пробовал ROS версий 6.34 - 6.38.3, и ни одна из них не работает с Kea v1.1, так что вряд ли это откат в ходе развития ROS. Тем не менее, хочу спросить — может ли проблема быть в ROS или в самом Kea-сервере?