Tip: using dnsmasq

Keren juga nih, udah nyobain dan working good..


I have found a good way to increase the online speed by accident.
Probably some of you already know it, but others like me do not.
dnsmasq is a small Nameserver (with DHCP functionality which is not used

How does it improve online speed?
Well it works as a local DNS cache. Therefor not every DNS lookup that
is needed during surfing, or anywere else in your machine is needed to
be send out to upstream DNS.
Have a look here:

WITHOUT dnsmasq:
$ dig

;; Query time: 21 msec

WITH dnsmasq:
$ dig

;; Query time: 1 msec

That doesn?t sound much. 20msec
But this is only one request, during surfing you do a lot of this.

The advantages are:
– faster name resolution
– less stress on upstream DNS

Here I received a reasonable speed advantage with dnsmasq during surfing.

What needs to be done, if your interrested?

1. install it
$ sudo aptitude install dnsmasq

2. make a copy of your current resolv.conf, which is later used by
dnsmasq for upstream DNS requests
$ sudo cp /etc/resolv.conf /etc/dnsmasq.resolv.conf

3. change dnsmasq?s config
$ sudo nano -w /etc/dnsmasq.conf

(of course you can use the editor of your choice here)

in /etc/dnsmasq.conf i have changed this:

# Change this line if you want dns to get its upstream servers from
# somewhere other that /etc/resolv.conf

# If you want dnsmasq to listen for requests only on specified interfaces
# (and the loopback) give the name of the interface (eg eth0) here.
# Repeat the line for more than one interface.
# Or you can specify which interface _not_ to listen on
# Or which to listen on by address (remember to include if
# you use this.)
This will bind [hehe bind not bind] dnsmasq to only local requests.
This is for the security of your system.

# Set the cachesize here.

Default here is 150 but i have enough memory.

OK that?s the config for dnsmasq. Easy isn?t it?

4. restart dnsmasq to take into account the new config
$ sudo /etc/init.d/dnsmasq restart

5. make sure all DNS request go through dnsmasq
$ sudo nano -w /etc/resolv.conf

it should only contain this line:

You probably could leave other nameservers below this line, but i am not
sure if they are used serial for top to bottom or randomly.

6. make sure our modified /etc/resolv.conf does not get changed by other
at this point YYMV. I have ADSL with pppoe here. If you use DHCP or ippp
you should check to prevent them to change /etc/resolv.conf.
With pppoe it is in:

$ sudo nano -w /etc/ppp/peers/dsl-provider
change the line:

OK that?s it.
The changes take into account immediately.

Have fun



  1. Pingback: jack
  2. Pingback: Hector

Leave a Reply