DHCPv6 - multiple addresses from different prefixes
ml.isc at elloe.vision
Sun Jan 3 12:08:00 UTC 2021
We've been attempting to assign multiple IPv6 addresses, each from a
different prefix, as descried in RFC8415 6.6 "Multiple Addresses and
With "dhclient -6 -N -N" the clients can request multiple addresses.
However it appears there is no way to write a dhcpd6.conf to achieve
this. Multiple 'subnet6' in a 'shared-network' issues all addresses from
the first 'subnet6' (and from reading source-code and docs will do that
until the first range is exhausted).
There's a note in ./server/dhcpv6.c:
* TODO: support multiple shared_networks on each interface (this
* will allow the server to issue multiple IPv6 addresses to
* a single interface)
So we assume this was thought of but not implemented, at least via
We tried adding two 'shared-network' blocks, one for each prefix, but
only the last is acted on.
As the RFC says, one use-case is when a network is being renumbered. In
our use-case we need to issue ULAs (fd00::/8) and one or more globally
Is there a way to do this? If not is Kea currently capable of this (from
reading the docs and Wiki it looks like Kea has the same problem as dhcpd) ?
That seems to leave us with a couple of options:
1. Switch to a server than can (possibly Dhcpy6d)
2. Patch dhcpd
a. add support for multiple shared-networks (big job)
b. hack pick_v6_address() to always increment pond->last_ipv6_pool via
'i' as is done for attempts > 1 which would work if the client requests
the same number of addresses as there are 'subnet6' blocks and ranges.
Are there other options we've missed?
More information about the dhcp-users