dnsmasq – use with Network Manager.
Well if you have not heard about dnsmasq:
Dnsmasq is lightweight, easy to configure DNS forwarder and DHCP server.
It is designed to provide DNS and, optionally, DHCP, to a small network.
It can serve the names of local machines which are not in the global
DNS. The DHCP server integrates with the DNS server and allows machines
with DHCP-allocated addresses to appear in the DNS with names configured
either in each host or in a central configuration file. Dnsmasq supports
static and dynamic DHCP leases and BOOTP for network booting of diskless
machines.
and for the installation :
sudo yum install dnsmasq
So, now that it is installed, all you need to do is add the following in file: /etc/NetworkManager/NetworkManager.conf
dns=dnsmasq
in the main section. Restart your network manager using sysctl and you should see that command:
dig google.com
should show result like below:
google.com. 185 IN A 74.125.236.169
google.com. 185 IN A 74.125.236.174
google.com. 185 IN A 74.125.236.160
google.com. 185 IN A 74.125.236.161
;; Query time: 50 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jan 14 17:16:39 2013
;; MSG SIZE rcvd: 215
If it does not, then you might want to add a dispatcher to Network Manager that adds localhost to your “/etc/resolv.conf” file. And here is the name of the file – /etc/NetworkManager/dispatcher.d/localhost-prepend and the contents
#!/bin/bash # Prepend localhost to resolv.conf for dnsmasq if [[ ! $(grep 127.0.0.1 /etc/resolv.conf) ]]; then sed -i '1s|^|nameserver 127.0.0.1n|' /etc/resolv.conf fi
Thats all there is to it 🙂
Related articles