dnsmasq – use with Network Manager.

2013-01-28 2 min read Fedora Learning Linux
Niles Machine Company
Niles Machine Company (Photo credits: roadtrafficsigns.com)

 

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 🙂

 

 

Enhanced by Zemanta
comments powered by Disqus