I'm trying to configure dnsmasq to work along with NetworkManager, the problem is when I try to run the service it fails with:

dnsmasq: failed to create listening socket for port 53: Address already in use

However nothing is listening on

sudo ss -alpn sport = 53 src

The above command has no output!

Here is what my /etc/dnsmasq.conf looks like:

$ grep '^[^#]' /etc/dnsmasq.conf 


The issue can be fixed if I enable bind-interfaces in /etc/dnsmasq.conf.

Why should I enable this? the comments states that:

About the only time you may need this is when running another nameserver on the same machine.

So I thought the issue might come from systemd-resolved.service and sure it was. after stopping it:

sudo systemctl stop systemd-resolved.service

now dnsmasq is working fine without bind-interfaces option being enabled.

I'm running Ubuntu 18.04.1.
Installed using debootstrap and my default renderer is NetworkManager which is working fine.

My questions are:

  1. Why do I have to enable bind-interfaces?
  2. Is it okay to just disable systemd-resolved service? if it is how should I get dnsmasq to control /etc/resolv.conf?
  3. And more important, why I'm getting that weird error message when nothing is listening on port 53?
  • @GeorgeUdosen thanks but both links are unrelated ... :( – Ravexina Aug 5 '18 at 19:31
  • At least on my box, systemd-resolved listens on rather than so try sudo ss -alpn sport = 53 src - or go oldschool and use something like sudo netstat -nlpt | grep :53 – steeldriver Aug 5 '18 at 22:06
  • Or sudo lsof -i tcp:53 – waltinator Aug 5 '18 at 22:33
  • 1
    I knew that systemd-resolved is listening on The thing I wasn't aware of was when something is listening on lo it has effects on all IP addresses of lo. After playing around with netcat I figure it out... poor networking knowledge. – Ravexina Aug 6 '18 at 6:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.