Hi Geoff, You won't need this: "interface": "ens18", if you are not providing local (non-relayed) DHCPv6 services for this shared-network. You talk of a relay agent so I assume you are not providing local DHCP service. I do not see any prefix pools in the above configuration. There are no prefix for the server to allocate configured here. See here: https://kea.readthedocs.io/en/kea-2.6.1/arm/dhcp6-srv.html#subnet-and-prefix-delegation-pools
Thank you, Darren Ankney On Sat, Feb 15, 2025 at 7:15 PM Geoff Sweet <thegorf+...@gmail.com> wrote: > > So I have now modified this shared-network configuration to look like the > following. However, it has not made any difference. It still only generates > "type=00013, len=00040: NoPrefixAvail(6) "Sorry, no prefixes could be > allocated."" in the logfiles. To be clear, the /56 at this site has been > divided up into different /64's for each zone on the firewall. The firewall > is doing the DHCPv6 relaying. I had added the different relay IP's because > that is how the link-address comes through in the tcpdump. So I guess I > misundertood that one. I've tried this configuration both with and without > the link-local address for the local interface of the firewall that the relay > comes from. Makes no difference: > > "shared-networks": [ > { > "name": "Site Subnets", > "interface": "ens18", > "relay":{ > "ip-addresses": [ > "2603:3023:62c:e160::1" > ] > }, > "subnet6": [ > { > "id":6100, > "subnet":"2603:3023:62c:e101::/64", > "pools":[ { "pool":"2603:3023:62c:e101::1000 - > 2603:3023:62c:e101::ffff" } ] > }, > { > "id":6110, > "subnet":"2603:3023:62c:e110::/64", > "pools":[ { "pool":"2603:3023:62c:e110::1000 - > 2603:3023:62c:e110::ffff" } ] > }, > { > "id":6130, > "subnet":"2603:3023:62c:e130::/64", > "pools":[ { "pool":"2603:3023:62c:e130::1000 - > 2603:3023:62c:e130::ffff" } ] > }, > { > "id":6150, > "subnet":"2603:3023:62c:e150::/64", > "pools":[ { "pool":"2603:3023:62c:e150::1000 - > 2603:3023:62c:e150::ffff" } ] > }, > { > "id":6160, > "subnet":"2603:3023:62c:e160::/64", > "pools":[ { "pool":"2603:3023:62c:e160::1000 - > 2603:3023:62c:e160::ffff" } ] > } > ] > } > ], > > > > On Sat, Feb 15, 2025 at 4:08 AM Darren Ankney <darren.ank...@gmail.com> wrote: >> >> Hi Geoff, >> >> You can read more about any messages you encounter in the Kea logs by >> accessing the messages manual here: >> https://kea.readthedocs.io/en/kea-2.6.1/kea-messages.html and >> searching for the phrase that is in all caps separated by underscores, >> in this case: ALLOC_ENGINE_V6_ALLOC_FAIL_SHARED_NETWORK The double >> negative sentence wouldn't be a double negative if it had found >> subnets with "no available addresses". >> >> What I notice about your configuration that will be causing Kea >> problems is that you have different relay IP addresses for some >> subnets in the same shared-network. That has no meaning. The shared >> network subnets must all be assigned to the same relay agent or group >> of relay agents. While this can be done at the subnet level, it makes >> more sense to do it once per shared-network. See here: >> https://kea.readthedocs.io/en/kea-2.6.1/arm/dhcp4-srv.html#local-and-relayed-traffic-in-shared-networks >> where it says: >> >> " it is a configuration error to specify different relay addresses for >> the respective subnets in the shared network." >> >> Thank you, >> Darren Ankney >> >> On Sat, Feb 15, 2025 at 3:10 AM Geoff Sweet <thegorf+...@gmail.com> wrote: >> > >> > Thanks kindly there Darren, that did make a difference and solved part of >> > the problem. I also made a change in the configuration. Check this out, >> > the config is shared-network now and the debug logs clearly show that it >> > now receives the request and looks for a subnet. What is strange here is >> > this log entry: >> > >> > 2025-02-14 23:49:15.069 WARN >> > [kea-dhcp6.alloc-engine/9752.140223914522304] >> > ALLOC_ENGINE_V6_ALLOC_FAIL_SHARED_NETWORK >> > duid=[00:03:00:01:16:fb:97:88:25:a7], [no hwaddr info], tid=0xe52907: >> > failed to allocate a lease in the shared network Site Subnets: 0 subnets >> > have no available leases, 15 subnets have no matching pools >> > >> > I don't know where it's getting that 15 subnets from. Or why it thinks >> > there are 0 subnets with available leases. By the way, that sentence is an >> > odd double negative. >> > >> > Anyway, I'm just throwing stuff against the wall in this config now. >> > Current subnet configuration and block of logs below: >> > >> > #### >> > Config >> > #### >> > "shared-networks": [ >> > { >> > "name": "Site Subnets", >> > "subnet6": [ >> > { >> > "id":6100, >> > "subnet":"2603:3023:62c:e101::/64", >> > "pools":[ { "pool":"2603:3023:62c:e101::1000 - >> > 2603:3023:62c:e101::ffff" } ], >> > "relay":{ >> > "ip-addresses":[ "2603:3023:62c:e101::1" ] >> > }, >> > "interface": "ens18" >> > }, >> > { >> > "id":6110, >> > "subnet":"2603:3023:62c:e110::/64", >> > "pools":[ { "pool":"2603:3023:62c:e110::1000 - >> > 2603:3023:62c:e110::ffff" } ], >> > "relay":{ >> > "ip-addresses":[ "2603:3023:62c:e110::1" ] >> > }, >> > "interface": "ens18" >> > }, >> > { >> > "id":6130, >> > "subnet":"2603:3023:62c:e130::/64", >> > "pools":[ { "pool":"2603:3023:62c:e130::1000 - >> > 2603:3023:62c:e130::ffff" } ], >> > "relay":{ >> > "ip-addresses":[ "2603:3023:62c:e130::1" ] >> > }, >> > "interface": "ens18" >> > }, >> > { >> > "id":6150, >> > "subnet":"2603:3023:62c:e150::/64", >> > "pools":[ { "pool":"2603:3023:62c:e150::1000 - >> > 2603:3023:62c:e150::ffff" } ], >> > "relay":{ >> > "ip-addresses":[ "2603:3023:62c:e150::1" ] >> > }, >> > "interface": "ens18" >> > }, >> > { >> > "id":6160, >> > "subnet":"2603:3023:62c:e160::/64", >> > "pools":[ { "pool":"2603:3023:62c:e160::1000 - >> > 2603:3023:62c:e160::ffff" } ], >> > "interface": "ens18" >> > } >> > ] >> > } >> > ], >> > >> > #### >> > Logfile of a request: >> > #### >> > >> > msg_type=SOLICIT (1), trans_id=0xe52907, >> > options: >> > type=00001, len=00010: 00:03:00:01:16:fb:97:88:25:a7 >> > type=00006, len=00002: 82(uint16) >> > type=00008, len=00002: 23347 (uint16) >> > type=00014, len=00000: >> > type=00025(IA_PD), len=00041: iaid=0, t1=0, t2=0, >> > options: >> > type=00026(IAPREFIX), len=00025: prefix=::/64, preferred-lft=0, >> > valid-lft=0 >> > 1 relay(s): >> > relay[0]: msg-type=12(RELAY_FORWARD), hop-count=0, >> > link-address=2603:3023:62c:e101::1, >> > peer-address=fe80::14fb:97ff:fe88:25a7, 1 option(s) >> > type=00018, len=00004: 04:00:00:00 >> > >> > 2025-02-14 23:49:15.068 DEBUG [kea-dhcp6.packets/9752.140223914522304] >> > DHCP6_SUBNET_SELECTED duid=[00:03:00:01:16:fb:97:88:25:a7], [no hwaddr >> > info], tid=0xe52907: the subnet with ID 6100 was selected for client >> > assignments >> > 2025-02-14 23:49:15.068 DEBUG [kea-dhcp6.packets/9752.140223914522304] >> > DHCP6_SUBNET_DATA duid=[00:03:00:01:16:fb:97:88:25:a7], [no hwaddr info], >> > tid=0xe52907: the selected subnet details: 2603:3023:62c:e101::/64 >> > 2025-02-14 23:49:15.068 DEBUG [kea-dhcp6.hosts/9752.140223914522304] >> > HOSTS_CFG_GET_ALL_IDENTIFIER get all hosts with reservations using >> > identifier: hwaddr=16FB978825A7 >> > 2025-02-14 23:49:15.068 DEBUG [kea-dhcp6.hosts/9752.140223914522304] >> > HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT using identifier hwaddr=16FB978825A7, >> > found 0 host(s) >> > 2025-02-14 23:49:15.068 DEBUG [kea-dhcp6.hosts/9752.140223914522304] >> > HOSTS_CFG_GET_ALL_IDENTIFIER get all hosts with reservations using >> > identifier: duid=0003000116FB978825A7 >> > 2025-02-14 23:49:15.068 DEBUG [kea-dhcp6.hosts/9752.140223914522304] >> > HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT using identifier >> > duid=0003000116FB978825A7, found 0 host(s) >> > 2025-02-14 23:49:15.068 DEBUG [kea-dhcp6.dhcp6/9752.140223914522304] >> > DHCP6_CLASS_ASSIGNED duid=[00:03:00:01:16:fb:97:88:25:a7], [no hwaddr >> > info], tid=0xe52907: client packet has been assigned to the following >> > class: UNKNOWN >> > 2025-02-14 23:49:15.068 DEBUG [kea-dhcp6.dhcp6/9752.140223914522304] >> > DHCP6_CLASSES_ASSIGNED_AFTER_SUBNET_SELECTION >> > duid=[00:03:00:01:16:fb:97:88:25:a7], [no hwaddr info], tid=0xe52907: >> > client packet has been assigned to the following classes: ALL, UNKNOWN >> > 2025-02-14 23:49:15.069 DEBUG >> > [kea-dhcp6.alloc-engine/9752.140223914522304] >> > ALLOC_ENGINE_V6_ALLOC_UNRESERVED no static reservations available - trying >> > to dynamically allocate leases for client >> > duid=[00:03:00:01:16:fb:97:88:25:a7], [no hwaddr info], tid=0xe52907 >> > 2025-02-14 23:49:15.069 WARN >> > [kea-dhcp6.alloc-engine/9752.140223914522304] >> > ALLOC_ENGINE_V6_ALLOC_FAIL_SHARED_NETWORK >> > duid=[00:03:00:01:16:fb:97:88:25:a7], [no hwaddr info], tid=0xe52907: >> > failed to allocate a lease in the shared network Site Subnets: 0 subnets >> > have no available leases, 15 subnets have no matching pools >> > 2025-02-14 23:49:15.069 WARN >> > [kea-dhcp6.alloc-engine/9752.140223914522304] >> > ALLOC_ENGINE_V6_ALLOC_FAIL_NO_POOLS duid=[00:03:00:01:16:fb:97:88:25:a7], >> > [no hwaddr info], tid=0xe52907: no pools were available for the lease >> > allocation >> > 2025-02-14 23:49:15.069 WARN >> > [kea-dhcp6.alloc-engine/9752.140223914522304] >> > ALLOC_ENGINE_V6_ALLOC_FAIL_CLASSES duid=[00:03:00:01:16:fb:97:88:25:a7], >> > [no hwaddr info], tid=0xe52907: Failed to allocate an IPv6 address for >> > client with classes: ALL, UNKNOWN >> > 2025-02-14 23:49:15.069 DEBUG [kea-dhcp6.options/9752.140223914522304] >> > DHCP6_ADD_STATUS_CODE_FOR_IA duid=[00:03:00:01:16:fb:97:88:25:a7], [no >> > hwaddr info], tid=0xe52907: adding Status Code to IA with iaid=0: >> > NoPrefixAvail(6) "Sorry, no prefixes could be allocated." >> > 2025-02-14 23:49:15.070 DEBUG [kea-dhcp6.dhcp6/9752.140223914522304] >> > DHCP6_CLASSES_ASSIGNED duid=[00:03:00:01:16:fb:97:88:25:a7], [no hwaddr >> > info], tid=0xe52907: client packet has been assigned on SOLICIT message to >> > the following classes: ALL, UNKNOWN >> > 2025-02-14 23:49:15.070 INFO [kea-dhcp6.packets/9752.140223914522304] >> > DHCP6_PACKET_SEND duid=[00:03:00:01:16:fb:97:88:25:a7], [no hwaddr info], >> > tid=0xe52907: trying to send packet ADVERTISE (type 2) from >> > [2603:3023:62c:e160::11]:547 to [2603:3023:62c:e160::1]:547 on interface >> > ens18 >> > 2025-02-14 23:49:15.070 DEBUG [kea-dhcp6.packets/9752.140223914522304] >> > DHCP6_RESPONSE_DATA duid=[00:03:00:01:16:fb:97:88:25:a7], [no hwaddr >> > info], tid=0xe52907: responding with packet ADVERTISE (type 2), packet >> > details: local_address=[2603:3023:62c:e160::11]:547, >> > remote_address=[2603:3023:62c:e160::1]:547, >> > msg_type=ADVERTISE (2), trans_id=0xe52907, >> > options: >> > type=00001, len=00010: 00:03:00:01:16:fb:97:88:25:a7 >> > type=00002, len=00014: 00:01:00:01:2f:37:1b:26:bc:24:11:80:c9:7a >> > type=00025(IA_PD), len=00056: iaid=0, t1=0, t2=0, >> > options: >> > type=00013, len=00040: NoPrefixAvail(6) "Sorry, no prefixes could be >> > allocated." >> > 1 relay(s): >> > relay[0]: msg-type=13(RELAY_REPLY), hop-count=0, >> > link-address=2603:3023:62c:e101::1, >> > peer-address=fe80::14fb:97ff:fe88:25a7, 1 option(s) >> > type=00018, len=00004: 04:00:00:00 >> > >> > >> > On Thu, Feb 13, 2025 at 11:29 AM Darren Ankney <darren.ank...@gmail.com> >> > wrote: >> >> >> >> Hi Geoff, >> >> >> >> You might need to specify your IP address on which to listen in your >> >> interfaces-config. You can check with the command: `ss -ulnp`. In >> >> the output, look what address is listed with 547. It might be your >> >> LLA for the interface. If it is that instead of your GLA for the >> >> interface, then you need to specify the address. Something like this: >> >> >> >> "interfaces-config": { >> >> "interfaces": [ >> >> "ens18/2001:db8::12" >> >> ] >> >> }, >> >> >> >> See here: >> >> https://kea.readthedocs.io/en/latest/arm/dhcp6-srv.html#interface-configuration >> >> >> >> Thank you, >> >> Darren Ankney >> >> >> >> On Tue, Feb 11, 2025 at 1:28 AM Geoff Sweet <thegorf+...@gmail.com> wrote: >> >> > >> >> > Greetings everyone, >> >> > I have a Kea 2.6 installation that for the most part is going great. >> >> > However, I'm not able to figure out the config to make it work with >> >> > IPv6 relayed DHCPv6 requests. At the end of this email is my complete >> >> > config. So, my firewall is doing all DHCP relaying. I can see via >> >> > tcpdump that the request originates in the local subnet, is received by >> >> > the firewall relay agent, forwards it to the subnet with the Kea server >> >> > on it, and forwards it. On the Kea server itself I can see the request >> >> > arrive for instance: >> >> > >> >> > 22:00:52.949059 IP6 (hlim 64, next-header UDP (17) payload length: 133) >> >> > 2603:3023:62c:e160::1.547 > 2603:3023:62c:e160::11.547: [udp sum ok] >> >> > dhcp6 relay-fwd (linkaddr=2603:3023:62c:e101::1 >> >> > peeraddr=fe80::14fb:97ff:fe88:25a7 (interface-ID 04000000...) >> >> > (relay-message (dhcp6 solicit (xid=4d2037 (elapsed-time 0) (client-ID >> >> > hwaddr type 1 16fb978825a7) (IA_PD IAID:0 T1:0 T2:0 (IA_PD-prefix ::/64 >> >> > pltime:0 vltime:0)) (option-request opt_82) (rapid-commit)))) >> >> > >> >> > I'm not sure why the interface-ID is set the way it is. So opted to >> >> > ignore it and instead focus on the linkaddr. But while the >> >> > documentation mentions it, for the life of me I can NOT find a single >> >> > example of how to configure it. So I'm kinda throwing things at the >> >> > wall now. As you can see below. Can anyone offer any insight into what >> >> > I am doing wrong? Also,could someone tell me if my loggers are >> >> > configured correctly? They literally produce exactly the same output no >> >> > matter what I do with severity and debuglevel. Part of the reason this >> >> > is so frustrating to troubleshoot. >> >> > >> >> > Thanks everyone! >> >> > >> >> > ####### >> >> > kea-dhcpv6.conf >> >> > ####### >> >> > { >> >> > "Dhcp6": { >> >> > "renew-timer": 21600, >> >> > "rebind-timer": 43200, >> >> > "valid-lifetime": 86400, >> >> > "interfaces-config": { >> >> > "interfaces": [ >> >> > "ens18" >> >> > ] >> >> > }, >> >> > "lease-database": { >> >> > "type": "memfile", >> >> > "persist": true, >> >> > "name": "/var/lib/kea/dhcp6.leases" >> >> > }, >> >> > "option-data": [ >> >> > { >> >> > "name": "dns-servers", >> >> > "data": "2603:3023:62c:e101::10, 2603:3023:62c:e101::12" >> >> > }, >> >> > { >> >> > "name": "domain-search", >> >> > "data": "iotlab.loc" >> >> > } >> >> > ], >> >> > "dhcp-ddns": { >> >> > "enable-updates": true, >> >> > "server-ip": "127.0.0.1", >> >> > "server-port": 53001 >> >> > }, >> >> > "ddns-override-client-update": true, >> >> > "ddns-override-no-update": true, >> >> > "ddns-qualifying-suffix": "iotlab.loc", >> >> > "ddns-update-on-renew": true, >> >> > "subnet6": [ >> >> > # Home Subnet >> >> > { >> >> > "subnet": "2603:3023:62c:e101::/64", >> >> > "id": 6100, >> >> > "pools": [ >> >> > { >> >> > "pool": "2603:3023:62c:e101::1000 - >> >> > 2603:3023:62c:e101::ffff" >> >> > } >> >> > ], >> >> > "relay": { >> >> > "linkaddr": [ "2603:3023:62c:e101::1" ] >> >> > } >> >> > }, >> >> > # DMZ Subnet >> >> > { >> >> > "subnet": "2603:3023:62c:e110::/64", >> >> > "id": 6110, >> >> > "pools": [ >> >> > { >> >> > "pool": "2603:3023:62c:e110::1000 - >> >> > 2603:3023:62c:e110::ffff" >> >> > } >> >> > ], >> >> > "relay": { >> >> > "ip-addresses": [ "2603:3023:62c:e110::1" ] >> >> > } >> >> > }, >> >> > # IoT Subnet >> >> > { >> >> > "subnet": "2603:3023:62c:e130::/64", >> >> > "id": 6130, >> >> > "pools": [ >> >> > { >> >> > "pool": "2603:3023:62c:e130::1000 - >> >> > 2603:3023:62c:e130::ffff" >> >> > } >> >> > ], >> >> > "relay": { >> >> > "ip-addresses": [ "2603:3023:62c:e130::1" ] >> >> > } >> >> > }, >> >> > # Guest Subnet >> >> > { >> >> > "subnet": "2603:3023:62c:e150::/64", >> >> > "id": 6150, >> >> > "pools": [ >> >> > { >> >> > "pool": "2603:3023:62c:e150::1000 - >> >> > 2603:3023:62c:e150::ffff" >> >> > } >> >> > ], >> >> > "relay": { >> >> > "ip-addresses": [ "2603:3023:62c:e150::1" ] >> >> > } >> >> > }, >> >> > { >> >> > "subnet": "2603:3023:62c:e160::/64", >> >> > "id": 6160, >> >> > "interface": "ens18", >> >> > "pools": [ >> >> > { >> >> > "pool": "2603:3023:62c:e160::1000 - >> >> > 2603:3023:62c:e160::ffff" >> >> > } >> >> > ] >> >> > } >> >> > ], >> >> > "loggers": [ >> >> > { >> >> > "name": "kea-dhcp6", >> >> > "severity": "DEBUG", >> >> > "debuglevel": "99", >> >> > "output_options": [ >> >> > { >> >> > "output": "/var/log/kea/dhcp6.log", >> >> > "maxver": 10 >> >> > } >> >> > ] >> >> > }, >> >> > { >> >> > "name": "kea-dhcp6.dhcpsrv", >> >> > "severity": "DEBUG", >> >> > "debuglevel": "99", >> >> > "output_options": [ >> >> > { >> >> > "output": "/var/log/kea/dhcp6-dhcpsrv.log", >> >> > "maxver": 10 >> >> > } >> >> > ] >> >> > }, >> >> > { >> >> > "name": "kea-dhcp6.leases", >> >> > "severity": "DEBUG", >> >> > "debuglevel": "99", >> >> > "output_options": [ >> >> > { >> >> > "output": "/var/log/kea/dhcp6-leases.log", >> >> > "maxver": 10 >> >> > } >> >> > ] >> >> > }, >> >> > { >> >> > "name": "kea-netconf", >> >> > "severity": "DEBUG", >> >> > "debuglevel": "99", >> >> > "output_options": [ >> >> > { >> >> > "output": "/var/log/kea/kea-netconf.log", >> >> > "maxver": 10 >> >> > } >> >> > ] >> >> > } >> >> > ] >> >> > } >> >> > } >> >> > >> >> > >> >> > >> >> > -- >> >> > ISC funds the development of this software with paid support >> >> > subscriptions. Contact us at https://www.isc.org/contact/ for more >> >> > information. >> >> > >> >> > To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users. >> >> > >> >> > Kea-users mailing list >> >> > Kea-users@lists.isc.org >> >> > https://lists.isc.org/mailman/listinfo/kea-users >> >> -- >> >> ISC funds the development of this software with paid support >> >> subscriptions. Contact us at https://www.isc.org/contact/ for more >> >> information. >> >> >> >> To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users. >> >> >> >> Kea-users mailing list >> >> Kea-users@lists.isc.org >> >> https://lists.isc.org/mailman/listinfo/kea-users >> > >> > -- >> > ISC funds the development of this software with paid support >> > subscriptions. Contact us at https://www.isc.org/contact/ for more >> > information. >> > >> > To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users. >> > >> > Kea-users mailing list >> > Kea-users@lists.isc.org >> > https://lists.isc.org/mailman/listinfo/kea-users >> -- >> ISC funds the development of this software with paid support subscriptions. >> Contact us at https://www.isc.org/contact/ for more information. >> >> To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users. >> >> Kea-users mailing list >> Kea-users@lists.isc.org >> https://lists.isc.org/mailman/listinfo/kea-users > > -- > ISC funds the development of this software with paid support subscriptions. > Contact us at https://www.isc.org/contact/ for more information. > > To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users. > > Kea-users mailing list > Kea-users@lists.isc.org > https://lists.isc.org/mailman/listinfo/kea-users -- ISC funds the development of this software with paid support subscriptions. Contact us at https://www.isc.org/contact/ for more information. To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users. Kea-users mailing list Kea-users@lists.isc.org https://lists.isc.org/mailman/listinfo/kea-users