[Dnsmasq-discuss] dnsmasq.lease file question
simon at thekelleys.org.uk
Tue Apr 24 18:47:21 BST 2007
Mr Gabriel wrote:
> I too have noticed this strange phenomena, and not just in DNSMasq. On
> almost every DHCP server I have ever used, when I look at the lease
> file, there is never hardware info for linux boxes. Personally, and my
> understanding of the underlying mechanics of DHCP is very limited, I
> thought that all requests for a DHCP address included the mac address,
> in order for an answer to be directed to the correct machine. Therefore,
> the DHCP server should already know the hardware address. Why it
> forgets, and it never gets listed, is beyond me. Maybe someone else
> could enlighten us :)
> On Tue, 2007-04-24 at 12:46 -0400, Philippe Faure wrote:
>> I am running Dnsmasq version 2.2 on a Debian server version 3.1. The
>> Dnsmasq.lease file has the following information stored in it.
>> 1177812457 00:15:e9:a8:e5:28 192.168.0.50 debian-host *
>> 1177928854 00:15:e9:a8:e6:c5 192.168.0.57 carm 01:00:15:e9:a8:e6:c5
>> 1177849379 00:03:2f:3a:f2:e9 192.168.0.54 phil 01:00:03:2f:3a:f2:e9
>> Why is it that the two windows' boxes have the hardware ID there, while the
>> linux (Ubuntu Feisty, running dhcpcd) only has a *?
>> Is there some setup that I have done properly? if so with the client or
>> Do I need to worry about it?
This is a tale of two different identifiers: the MAC address and the
client identifier. The final item on each line in the leases file is a
Client identifiers are optional: if one is not provided then the DHCP
server just uses the MAC address to track the host, but if a client-id
is present, it trumps the MAC address. This has interesting
applications: if a machine uses a serial number as its client-id, then
replacement of a network interface (changing the MAC address) won't
interfere with a DHCP lease.
In practice, unless specially configured, common clients either don't
send a client-id, or send one derived from the MAC address, so the
presence or absence really doesn't matter. In this case, windows sends
a client-id but dhclient doesn't. It's not a practical problem either
way round, and nothing to worry about.
Interestingly, it's possible to have a client-id and no MAC address.
Firewire does this, because firewire MAC addresses are larger than the
MAC address field in a DHCP packet.
More information about the Dnsmasq-discuss