[Dnsmasq-discuss] Question

Ron Frederick ronf at timeheart.net
Fri Jan 25 22:56:45 GMT 2008


Simon Kelley wrote:
> Ron Frederick wrote:
> 
>> I prefer a different approach for this. It still relies on ethernet 
>> (MAC) addresses, but it allows me to still use /etc/hosts and doesn't 
>> rely on the client to send its hostname. If you populate /etc/hosts 
>> with a mapping from hostnames to IP addresses and /etc/ethers with a 
>> mapping from those same hostnames to MAC addresses, dnsmasq will 
>> automatically associate the matching MAC addresses and IP addresses. 
>> If you configure a subnet to give out static addresses, it will then 
>> use the mappings it has from /etc/ethers to /etc/hosts to do the 
>> address assignment. For example, here's a snippet of my various config 
>> files:
>>
>> /etc/ethers:
>>
>> 00:11:24:a3:4e:f7 powerbook
>> 00:13:b6:32:32:a7 slingbox
>> 00:0e:08:ca:c4:9b sipura
>> 00:18:f9:03:39:36 vudu
>> 00:08:89:76:7d:e0 dish622
>> 00:1c:b3:68:67:6d iphone
>>
>> /etc/hosts:
>>
>> 192.168.1.3 powerbook
>> 192.168.1.4 slingbox
>> 192.168.1.5 sipura
>> 192.168.1.6 vudu
>> 192.168.1.7 dish622
>> 192.168.1.8 iphone
>>
>> /etc/dnsmasq.conf:
>>
>> # DHCP range for internal LAN/WiFi
>> dhcp-range=lan,192.168.1.128,192.168.1.254,255.255.255.0,12h
>> dhcp-option=lan,3,192.168.1.1
>> dhcp-option=lan,6,192.168.1.1
>> dhcp-option=lan,42,192.168.1.1
>>
>> In this case, I have it giving out dynamic addresses as well as static 
>> ones, but I could do static-only with a line like:
>>
>> dhcp-range=lan,192.168.1.0,static,255.255.255.0,12h
> 
> Don't forget that you have to tell dnsmasq to read /etc/ethers by adding
> 
> read-ethers
> 
> to /etc/dnsmasq.conf

Ah, right! Thanks very much for catching that, Simon... I do have that 
at the top of my dnsmasq.conf, along with a few other general flags.

One other issue that I remember when I first set this up was that I had 
to double-check the permissions on the files /etc/hosts and /etc/ethers. 
On the system I was on, I think it was initially set up so that they 
weren't world-readable, and dnsmasq was having trouble reading them 
since it ran as "nobody".
-- 
Ron Frederick
ronf at timeheart.net



More information about the Dnsmasq-discuss mailing list