dnsmasq is a small domain name server designed to resolve host names on a LAN.
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.
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
dnsmasq
dhcpd.leases
aand remove the entrydnsmasq