[Dnsmasq-discuss] Question

Ron Frederick ronf at timeheart.net
Fri Jan 25 18:45:04 GMT 2008

rance at frontiernet.net wrote:
> Quoting Heath Woodson <heathwoodson at gmail.com>:
>> Setting this up for the first time and I have a simple question but it 
>> isnt
>> clearly answered anywhere. I want to assign ips with DHCP in a static 
>> manner
>> can I just use the /etc/host file on the machine running dnsmasq to do 
>> this
>> and uncomment this line
>> # Enable the address given for "judge" in /etc/hosts
>> # to be given to a machine presenting the name "judge" when
>> # it asks for a DHCP lease.
>> #dhcp-host=judge
>> or is it better to use the MAC address lines presented like below?
>> # Always allocate the host with ethernet address 11:22:33:44:55:66
>> # The IP address
>> #dhcp-host=00:11:22:33:44:55,
>> and will either of these work without uncommenting the range line 
>> below(It
>> sounds like it wont work without this but i dont want any dynamically
>> assigned IPS..)
>> # Uncomment this to enable the integrated DHCP server, you need
>> # to supply the range of addresses available for lease and optionally
>> # a lease time. If you have more than one network, you will need to
>> # repeat this for each network on which you want to supply DHCP
>> # service.
>> #dhcp-range=,,12h
>> thanks for your help in advance
>> H
> Just a word of warning, NOT EVERY dhcp client sends a hostname by 
> default, if you have a dhcp configuration based on hostname, then it is 
> essential that the dhcp clients all send hostnames in the request packet.
> Windows by default does this, but linux usually doesn't.
> On linux boxes you need to edit/create a dhclient.conf file in the 
> location your distro expects to find it.
> This file will make sure that dhclient sends a hostname.

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:


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: powerbook slingbox sipura vudu dish622 iphone


# DHCP range for internal LAN/WiFi

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:

Ron Frederick
ronf at timeheart.net

More information about the Dnsmasq-discuss mailing list