1

Whenever I restart my computer NetworkManager sets /etc/resolv.conf to this, my DNS stops working and I get this error in Chrome.

/etc/resolv.conf

# Generated by NetworkManager
search tampabay.rr.com
nameserver 127.0.0.53

Chrome error:

DNS_PROBE_FINISHED_NO_INTERNET

I temporarily resolve the issue by setting /etc/resolv.conf to this.

/etc/resolv.conf

nameserver 8.8.8.8

I'm guessing NetworkManager expects a DNS server on my local machine at 127.0.0.53, and I don't have DNS running there. How can I permanetly set 8.8.8.8 as my nameserver? If it's really neccessary how do I setup DNS at 127.0.0.53?

I read man resolv.conf but it didn't help me much.

I read this answer and created the file /etc/resolvconf/resolv.conf.d/tail with nameserver 8.8.8.8 but it doesn't seem to have any effect: DNS set to systemd's 127.0.0.53 - how to change permanently?

Edit: Ubuntu 20.04 LTS

The DNS cache program unbound was running on port :53 and preventing dnsmasq from starting. I uninstalled unbound and dnsmasq starts now. However it's saying it's only running on 0.0.0.0 for some reason. I figure it has to be running on 127.0.0.1:53. I reinstalled dnsmasq but it's acting the same. /etc/dnsmasq.conf is all commeted out. On restart /etc/resolv.conf is now set to

# Generated by resolvconf
nameserver 127.0.0.1

Not sure how to get dnsmasq running properly.

/lib/systemd/system/dnsmasq.service

[Unit]
Description=dnsmasq - A lightweight DHCP and caching DNS server
Requires=network.target
Wants=nss-lookup.target
Before=nss-lookup.target
After=network.target

[Service]
Type=forking
PIDFile=/run/dnsmasq/dnsmasq.pid

# Test the config file and refuse starting if it is not valid.
ExecStartPre=/usr/sbin/dnsmasq --test

# We run dnsmasq via the /etc/init.d/dnsmasq script which acts as a
# wrapper picking up extra configuration files and then execs dnsmasq
# itself, when called with the "systemd-exec" function.
ExecStart=/etc/init.d/dnsmasq systemd-exec

# The systemd-*-resolvconf functions configure (and deconfigure)
# resolvconf to work with the dnsmasq DNS server. They're called like
# this to get correct error handling (ie don't start-resolvconf if the 
# dnsmasq daemon fails to start.
ExecStartPost=/etc/init.d/dnsmasq systemd-start-resolvconf
ExecStop=/etc/init.d/dnsmasq systemd-stop-resolvconf


ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

journalctl -e --unit dnsmasq.service

-- Reboot --
Jul 08 23:41:54 phil-desktopubuntu-18-04-1-lts systemd[1]: Starting dnsmasq - A lightweight DHCP and caching DNS server...
Jul 08 23:41:54 phil-desktopubuntu-18-04-1-lts dnsmasq[7349]: dnsmasq: syntax check OK.
Jul 08 23:41:54 phil-desktopubuntu-18-04-1-lts dnsmasq[7369]: started, version 2.80 cachesize 150
Jul 08 23:41:54 phil-desktopubuntu-18-04-1-lts dnsmasq[7369]: DNS service limited to local subnets
Jul 08 23:41:54 phil-desktopubuntu-18-04-1-lts dnsmasq[7369]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify dumpfile
Jul 08 23:41:54 phil-desktopubuntu-18-04-1-lts dnsmasq[7369]: read /etc/hosts - 7 addresses
Jul 08 23:41:54 phil-desktopubuntu-18-04-1-lts dnsmasq[7369]: no servers found in /run/dnsmasq/resolv.conf, will retry
Jul 08 23:41:54 phil-desktopubuntu-18-04-1-lts systemd[1]: Started dnsmasq - A lightweight DHCP and caching DNS server.

enter image description here enter image description here enter image description here

3
  • What version of Ubuntu? Also, the linked question has many approaches and none of that works for you?
    – P.P
    Jul 8, 2020 at 22:02
  • It's expecting to see dnsmasq at 127.0.0.53. man dnsmasq;service dnsmasq status
    – waltinator
    Jul 8, 2020 at 22:34
  • @waltinator I updated my question. Do you have any idea why dnsmasq is listening on 0.0.0.0? Jul 9, 2020 at 3:56

1 Answer 1

0

I figured it out. Everything was commeted out in my /etc/dnsmasq.conf. I had to set the dns server.

/etc/dnsmasq.conf

server=8.8.8.8

/etc/resolv.conf

# Generated by resolvconf
nameserver 127.0.0.1

These commands were helpful debugging

sudo systemctl status dnsmasq #dnsmasq should be running
sudo netstat -tulpn #dnsmasq should be listening on 0.0.0.0:53
nslookup debian.org localhost #should return IP address of debian.org
1
  • It shouldn't be necessary to set the DNS server explicitly, it should all be done by DHCP. However I have been trying to get this to work as it should (i.e. automatically putting the upstream DNS server IP in /run/dnsmasq/resolv.conf but I have yet to work out how to do it. Dec 6, 2021 at 12:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .