You want to manage your LAN computers from DHCP instead of configuring them individually, so you donít have to run around tweaking individual computers all the time. You want to assign static and dynamic IP addresses, gateways, and servers all via DHCP.
dnsmasq does it all. There are a couple of ways to assign static IP addresses from dnsmasq.conf. One is to use the clientís MAC address as the client identifier, like this:
My favorite way is to set it by hostname:
Make sure you do not have entries for these in /etc/hosts.
The only client configuration thatís necessary is the hostname, and for DHCP clients to send the hostname to the DHCP server when they request a new lease. Once you have that, you can control everything else from the server.
Remember to runkillall dnsmasq every time you change dnsmasq.conf.
There are some tricky bits to client configuration, so see Recipe 4.5 for this.
Changes in dnsmasq.conf are easy to test. After restarting dnsmasq, try the following commands on your Linux clients.
ifupdown stops and restarts interfaces:
# ifdown eth0
Sometimes, that doesnít quite do the job, so you can also try:
# /etc/init.d/network restart
The first one is for Fedora, the second for Debian. Youíll see it acquire the address you assigned it from the DHCP server, and it will write the correct DNS server or servers to /etc/resolv.conf.
If those donít work, reboot.
Find MAC addresses with ifconfig for wired NICs, and iwconfig for wireless NICs. ifconfig sees both, but it doesnít differentiate them. iwconfig identifies only wireless interfaces.
When you use the MAC address, donít forget to change the entry in dnsmasq.conf if you replace the clientís network interface card.
MAC addresses are unique, but hostnames are not, so you have to be careful not to have duplicate hostnames. You canít have duplicate hostnames, anyway.
MAC addresses are ridiculously easy to spoof, so donít think youíre adding any security by relying on them as secure, unique identifiers.
blog comments powered by Disqus