[Dnsmasq-discuss] [patch] Add new option --bind-mac-with-ipv6 to rebind the same ipv6 address when the duid of the client changed

Simon Kelley simon at thekelleys.org.uk
Mon Mar 21 20:50:44 UTC 2022


This is another take on a recurring problem. There is a facility to work 
around it by allowing multiple addresses to be specified in dhcp-host. 
That works for the specific case of chain-netbooting, where the host's 
DUID changes at each stage of the boot. I appreciate that may not be the 
problem you are solving.

This patch works by confusing a dhcp-host declaration with a DHCPv6 
lease. They are not the same thing. For instance it's possible to have 
more than on dhcp-host bound to the same DUID or MAC address or 
hostname, but on different subnets. I think it may be better to not use 
dhcp-host at all, but to just work with dhcp leases. Even DHCPv6 leases 
store the MAC address if it's known, so the RFC3315-violating behaviour 
could be:

if (a lease exists for the MAC address, but with different (DUID,IAID)) 
then delete the lease and free the associated address.

There's a slight problem that MAC addresses do not get written to the 
persistent lease file for DHCPv6 leases, but that could be solved in a 
backwards compatible way fairly easily.

TL;DR I'm in favour of fixing this problem, but the current approach 
seems wrong; I can't convince myself that there won't be undesireable 
consequences.

Cheers,

Simon.


On 21/03/2022 07:55, renmingshuai via Dnsmasq-discuss wrote:
> In some cases, such as system reinstallation, the duid of the client has 
> changed when the client renews the lease. dnamsq will assign a new lease 
> back to the client if the new lease is available. However, if the old 
> lease of the client is not released or the client cannot actively 
> release the old lease for some reasons, the client cannot obtain for a 
> new lease until the old lease expires when dnsmasq has no free lease.
> 
> Although both duid and MAC addresses are used to identify clients, can 
> dnsmasq consider providing the new switch --bind-mac-with-ipv6 for users 
> to choose to forcibly remove clients marked with DUID or not. When 
> dnsmasq starts with --bind-mac-with-ipv6, it will assign the lease whose 
> mac address is same with the client's to the client , even if that lease 
> has a different duid than the client's.
> 
> See attachment for patch.
> 
> cheers,
> 
> mingshuai
> 
> 
> _______________________________________________
> Dnsmasq-discuss mailing list
> Dnsmasq-discuss at lists.thekelleys.org.uk
> https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss



More information about the Dnsmasq-discuss mailing list