====== dnsmasq ======
* [[DNS]]
* [[Avahi]]
* [[Multicast DNS]]
* [[launchctl]]
dnsmasq is a small domain name server designed to resolve host names on a LAN.
=== Wildcard Domains ===
You may want to assign an actual domain to a hostname, to provide wildcard name resolution.
An example would be that a host could be named ''server.local'', but ''*.server.local'' should also resolve to the same IP address.
Add an extra domain to ''/etc/dnsmasq.conf'', and then restart the server.
address=/.server.local/192.168.12.180
OS X also uses mDNS to do hostname lookups, so you can add an entry for the server as well.
==== OS X / homebrew ====
dnsmasq can be setup to do wildcard DNS resolution natively, instead of updating an ''hosts'' file.
First, install dnsmasq with homebrew:
brew install dnsmasq
Install the sample config file:
cp /usr/local/opt/dnsmasq/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf
Add this to configuration file to disable DHCP server, and resolve subdomains locally:
no-dhcp-interface=
address=/.steve.beandog.org/127.0.0.1
cp /usr/local/opt/dnsmasq/*.plist /Library/LaunchDaemons
launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
Configure OS X to resolv all ''*.name.beandog.org'' to use the localhost DNS server:
mkdir -p /etc/resolver
echo nameserver 127.0.0.1 > /etc/resolver/name.beandog.org
==== HOWTO ====
== Remove a DHCP lease ==
- Stop ''dnsmasq''
- Edit ''dhcpd.leases'' aand remove the entry
- Start ''dnsmasq''