[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