[Dnsmasq-discuss] [PATCH] DHCPv6: Add support for more than one hardware address per IPv6 address

Pali Rohár pali.rohar at gmail.com
Wed Jan 27 12:37:27 GMT 2016


On Wednesday 20 January 2016 20:15:23 Simon Kelley wrote:
> Dnsmasq identifies IPv6 clients via their MAC address for the purpose
> of selecting dhcp-host configuration to use, but it doesn't use the
> MAC address as a unique client identifier for the purpose of assigning
> DHCP leases in the same way the DHCPv4 does. That's the crucial
> difference.

Yes, I know.

> The equivalent of the DHCPv4 share MAC address facility, should really
> be something  which shares IAIDs, maybe?

Right, in lease file is stored pair (MAC address, IP address) for IPv4
and pair (IAID, IPv6 address) for IPv6.

> The crucial thing I'm trying to achieve here is turning your patch
> from something that works on your network, with your very odd
> configuration, into something that other people might want and use.
> Without that, it's fine as your patch, but it can't go into the
> dnsmasq mainline.

Understood.

> Maybe the way to think about that is to think about
> how to document it. If we can describe what problem it solves, and how
> it should be used, then we'll be getting there.

I was thinking about it for more days. It is really not easy to solve
this problem... Here are my results:

* There are people who misuse original concept of "more mac addresses"
  for one ipv4 address. Dnsmasq supports this configuration only if one
  mac address from that --dhcp-host line is used at same time.

* DHCPv6 clients are identified by DUID string, which we can say is
  totally random and are not persistent across multi-OS computers or
  reinstalling...

* Internally DHCPv6 leases are identified by IAID.

So to make configuration clean for both IPv4 and IPv6 we need support for:

* Assigning IPv4 lease to more MAC addresses at the same time
  (This will help people to use "more mac addresses" functionality correctly)

* Assigning IPv6 address to more DUIDs at the same time
  (This is "correct" IPv6 equivalent for previous request)

* Assigning IPv6 address to more MAC addresses at the same time
  (This is what would fix DUID problem)

And it means that pair (IAID, IPv6 address) for IPv6 leases it not
enough to do it.

So, what about extending lease line for IPv6 addresses to include DUID
and MAC address?

> We need to bear in
> mind that the behaviour we're talking about violates the RFCs
> specifying DHCPv6, so it has to be especially carefull justified.

Thats probably truth, but if something is useful users will try to use
it. Either itself by patching dnsmasq or if possible by optional config
options...

-- 
Pali Rohár
pali.rohar at gmail.com



More information about the Dnsmasq-discuss mailing list