Sign up ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

For development purposes I want all DNS requests to the .dev TLD to forward to my own PC.

The hosts file does not suffice. I use multiple domains and also multiple subdomains. I would have to add a line for each combination.

I have read that a DNS forwarder like DNSmasq can be used to do the job (for example as described here). Also this software is already installed on Ubuntu 12.10.

The problem is that I fail to see how and where I should configure DNSmasq, i.e., where I should put this line:

share|improve this question
You may not want to use .dev as Google took it. I'm still researching what they'll use it for and whether they plan for regular people to connect to it or just employees, but you may not want to redirect all access in case it's the former, unless this is purely a test box that will never connect to external hosts. – trysis Jun 3 at 18:40

2 Answers 2

up vote 9 down vote accepted

The complete standalone dnsmasq (DHCP and DNS server) is not installed by default in Ubuntu 12.04 and 12.10, but a package called dnsmasq-base is installed by default in Ubuntu Desktop 12.04 and 12.10. The dnsmasq-base package contains the dnsmasq binary and is used by NetworkManager.

To do what you want you will need to use dnsmasq as a caching DNS server. You need to:

  • Install dnsmasq sudo apt-get install dnsmasq
  • Change your network setting, so that your computer uses itself as it dns server.
  • Make the changes to the config files:

Create /etc/dnsmasq.d/dev-tld with these contents:



The first command says *.dev requests can't be forwarded to your real DNS server. The second says *.dev resolves to which is localhost.

  • Restart the dnsmasq service (not network-manager)
share|improve this answer
Thank you! It was extremely helpfull that I got to known that the DNSMasq present was not the real deal. After installing the complete package and configuring it in the way I described before I got it to work. :) – Roel van Duijnhoven Dec 27 '12 at 18:15
I'd prefer the other answer for recent desktop installations. For recent desktop installations you would be running two dnsmasq instances this way. Your answer could be very useful in non-NetworkManager setups, older ones (not using dnsmasq) or even server installations! – gertvdijk Jan 8 '13 at 19:31
Yep, other answer is best since Ubuntu 12.10. – BenjaminRH Mar 7 '13 at 10:06

In Ubuntu 12.10 or later you can do this with dnsmasq as run by NetworkManager.

  1. Create the directory mkdir /etc/NetworkManager/dnsmasq.d if it doesn't already exist.

    sudo mkdir /etc/NetworkManager/dnsmasq.d
  2. Toss the following line into /etc/NetworkManager/dnsmasq.d/dev-tld.

  3. Restart NetworkManager.

    sudo service network-manager restart
  4. Enjoy the awesomeness.

enter image description here

share|improve this answer
Thanks to AbrahamVanHelpsing for the link to the arch wiki on how to do this. – James Dec 27 '12 at 13:30
After following your steps still I get to see "unknown host" after running a ping. Do I need to configure/enable DNSMasq on some other place? Or configure my network properties in a different way? Thanks! – Roel van Duijnhoven Dec 27 '12 at 18:11
Interesting. it's showing up fine for me. – James Dec 27 '12 at 18:25
Ah, @RoelvanDuijnhoven - are you running 12.10 or 12.04? Works fine for me on 12.10. – James Dec 27 '12 at 18:56
I am running 12.10. But I do need to mention that I have tried to alter some configuration file prior to asking a question here. Possibly these changes mitigate your solution. Javier Rivera's solution did the trick however! – Roel van Duijnhoven Dec 28 '12 at 14:06

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.