14

I am using focal Ubuntu 20.04.1 LTS (hosted virtual machine)

Occasionally after a reboot DNS resolution fails (e.g. ping google.com > Resource temporarily unavailable)

To 'fix' this I reboot the machine.

What is the proper fix and why is this occurring sporadically ?

The contents of resolv.conf indicates the file is being managed by systemd-resolved

# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.
# No DNS Servers known

example error:

wal@www:~$ ping google.com
ping: google.com: Resource temporarily unavailable
wal
  • 143

2 Answers2

14

If /etc/netplan is empty then netplan does not configure your network.

Your network is probably configured in old ifup/ifdown style. That means you find the network configuration in /etc/network/interfaces.

In addition there is systemd-resolve with its DNS configuration file /etc/systemd/resolved.conf where you can put your DNS configuration in.

[Resolve]
DNS=8.8.4.4 8.8.8.8 2001:4860:4860::8844 2001:4860:4860::8888
#FallbackDNS=
Domains=example.com
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes

You can check your DNS settings with

systemd-resolve --status

You can restart systemd-resolve with

systemctl restart systemd-resolved

Alternatively you can put your settings in /etc/resolvconf/resolv.conf.d/tail which will be added to /run/resolvconf/resolv.conf during boot.

3

Ubuntu 20.04 uses /etc/netplan to set DNS. Do you have nameservers section in your /etc/netplan/?.yaml file?

yaml-file should have a section similar like this:

            nameservers:
                addresses:
                - 8.8.8.8
                - 2001:4860:4860::8888

resolve.conf is generated from netplan during boot and should should look like this.

nameserver 127.0.0.53
options edns0 trust-ad
search example.com

There is also a /etc/systemd/resolved.conf where static configuration may be strored. You can read more details man resolved.conf

Furthermore you can investigate journalctl -b and search for systemd-resolved messages.