[Dnsmasq-discuss] [PATCH] Add dhcp-ignore-clid configuration option

Simon Kelley simon at thekelleys.org.uk
Mon Oct 7 18:14:44 BST 2019


On 03/10/2019 06:52, Geert Stappers wrote:
> On Mon, Sep 16, 2019 at 11:09:30PM +0100, Simon Kelley wrote:
>> On 16/09/2019 08:03, Florent Fourcot wrote:
>>> On 20/06/2019 10:26, Florent Fourcot wrote:
>>>> The idea of this option was already discussed years ago on the mailing
>>>> list:
>>>> https://dnsmasq-discuss.thekelleys.org.narkive.com/ZoFQNaGo/always-ignore-client-identifier#post4
>>>>
>>>>
>>>> In our production environnement, we discovered that some devices are
>>>> using 'client identifier' not unique at all, resulting on IP addresses
>>>> conflicts between several devices (we saw up to four devices using same
>>>> IP address).
>>>>
>>>> The root cause is probably a buggy operating system/configuration of
>>>> decices, but this patch add a configuration workaround on server side
>>>> when fixing clients is impossible.
>>>>
>>>> Signed-off-by: Charles Daymand <charles.daymand at wifirst.fr>
>>>> Signed-off-by: Florent Fourcot <florent.fourcot at wifirst.fr>
>>>> ---
>>> Hello Simon,
>>>
>>> Could you have a look on this patch? Please let me know if something is
>>> missing, I'm ready to work on a v2.
>>
>> Apologies for ignoring you. The principle is a good one, but it's worth
>> making this conditional, so that only clients which cause a particular
>> tag to be set see the new behaviour.
>>
>> See, for example, --dhcp-broadcast for how it works.
>>
>> I'm happy to add that to the work you've already done. Will take me a
>> few days, probably.
>>
> 
> Who is waiting on who?  Or whatever takes the proposed patch forward.
> 

Well, I've got back to it, and reloaded enough context to make some
progress.

Re-reading the original message, it seems that there is already a
solution to this in dnsmasq that might work quite well in this case.

In the man page section for dhcp-host we have

For DHCPv4, the  special option id:* means "ignore any client-id and use
MAC addresses only."

So for machines which are broken, list their mac addresses like so

dhcp-host=<mac1>,id:*
dhcp-host=<mac2>,id*

That should solve the problem of the broken machines, without affecting
machines which work.

Of course, it involves enumerating the broken machines, rather than a
blanket setting covering everything, but that's probably a good thing.
It's what I wanted to provide with the tag extension I suggested, and
rather renders that redundant.

What do you thin Florent? Is this enough, or would you like the new
blanket option as well?



Simon





More information about the Dnsmasq-discuss mailing list