[Dnsmasq-discuss] Lease comes back after removing

Geert Stappers stappers at hendrikx-itc.nl
Wed Jun 26 21:32:47 BST 2019


On 24-06-2019 02:38, A C wrote:

> On 2019-06-23 11:08, Geert Stappers wrote:
>> On Sun, Jun 23, 2019 at 09:33:21AM -0700, A C wrote:
>>> On 2019-06-23 03:32, Geert Stappers wrote:
>>>> On 23-06-2019 08:06, A C wrote:
>>>>
>>>>> I'm having trouble removing leases from my system.
> I have:
>
> /etc/dnsmasq.conf:
> read-ethers ###(there is a dash)
> dhcp-range=10.0.200.100,10.0.200.105,255.255.0.0,12h
> ### My netmask is actually 255.255.0.0 on the network, all dhcp leases
> are in 10.0.200.x, static assignments are in other subnets
>
> /etc/ethers:
> 00:25:9C:1C:0A:C3 ap.lan
> ### and others
>
> /etc/hosts:
> 10.0.0.252  ap.lan
> ### and others
>
>
>>>>> How can I fully purge the lease and get it to start over?  The client is
>>>>> an embedded device and has no memory of the lease once I power cycle it
>>>>> so somehow dnsmasq is remembering even though the lease file was purged.
>>>>>
>>>> Recently I had simular sympthoms, infact still have them.
>>>>
>>>>
>>>> My only issue is when I forget to add a client to the list
>>>> prior to first putting it online and it acquires a lease from the DHCP
>>>> lease pool instead of the IP I want to give it via the combination of
>>>> ethers/hosts.  After that I have extreme difficulty purging the lease to
>>>> force a new address.
>> My /etc/ethers has a line like
>>
>> 00:02:b0:ef:f0:ef  kornuit
>>
>> Doing `host kornuit` returns correctly the IPv4 address that is in DNS.
>> (other DNS as dnsmasq  ( no kornuit entry in /etc/hosts ))
>>
>>
>> I also stopped dnsmasq, removed the lease file and restarted dnsmasq.
>>
>> Did another PXE netboot  ( consider it an embedded device, it has no
>> memory of previous lease )
>>
>> Server kornuit got the IPv4 address as before, one from the Dnsmasq
>> DHCP range. Where it looks like a persistent DHCP lease, do I think
>> that it is algoritme that hands out each time the same IPv4 address.
>>
>> Thing I need to verify is if dnsmasq does do a DNS-lookup on 'kornuit'
>> after reading /etc/ethers.

Now using  `dhcp-host=MA:CA:DD:RE:SS,192.0.2.42

> host ap.lan localhost (run on the same server as dnsmasq) returns
> 10.0.0.252 as expected.
>
> Turned off the device, stopped dnsmasq, removed the lease from the lease
> file, restarted dnsmasq and then restarted the device.  I get the old
> DHCP range lease instead of the one defined in hosts.
>
> If I add a host entry (with an IP outside of the DHCP range) and an
> ethers entry for a device bore I ever plug it into the network I will
> correctly get a static lease of the IP I define in hosts.  If I forget
> to do that, the device picks up a lease from the DHCP range and then
> it's a massive fight to get rid of it.  Sometimes I have to leave the
> device disconnected for a few days so the lease expires on its own
> (regardless of deleting the lease) and then I can switch the IP.
>
> There seems to be some kind of persistence that exists outside of just
> the lease file but I don't know where that is.  This isn't the first
> time this has happened and it's happened with different embedded devices
> and non-embedded devices (cameras, AP's, IoTs, phones, etc.) there just
> seems to be sticky lease data somewhere.
>
You are probadly right about the  "sticky lease data somewhere"

(I'm not comfortable to say "you are right about sticky lease data" )


The lease file I removed had size of zero bytes.


My (educated??) guess is that lease data is stored in Dbus.

My only point to back that up, is `dnsmasq -v` showing  "DBus"



Cheers

Geert Stappers




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/attachments/20190626/4a2fdfda/attachment-0001.html>


More information about the Dnsmasq-discuss mailing list