EDIT (tl;dr)
I seem to have identified part of the problem here, as at least the differences in /etc/resolv.conf
and related files are gone.
But I still cannot connect via WiFi, so other difference probably persist.
I mean to identify these, and act upon them.
I intentionally selected the same title as this OP.
I have two Ubuntu systems, server1
and server2
, very similar in all respects.
Both are connected to the same router, via WiFi.
I worked by comparing the two systems to help tracking the problem.
In server2
, I just started having DNS name resolution problems. I was connected to a VPN, and the server was rebooted, so I guess this PostScriptum may describe the case.
server2
did not have resolvconf
and I installed it as an outcome.
At that time /etc/resolv.conf
started pointing at /run/resolvconf/resolv.conf
(note the modification date below), instead of /run/systemd/resolve/stub-resolv.conf
.
To do that, I had to manually add nameserver 8.8.8.8 at the top in /etc/resolv.conf
, plug a wired internet connection, and I could immediately sudo apt update
, etc.
Note:
As of now, the problem with file permissions quoted in the link above is not present. If it shows up next time I connect to/disconnect from a VPN, I will deal with it.
I am listing below: 1) what is different in server1
and server2
,
2) what is the same in both (with any
replacing the server name),
and 3) what is almost the same (with irrelevant differences, in my understanding).
Why DIFFERENCE #3
below? (nameserver ::1
).
How to fix server2
, if possible, by leaving it with the same configuration as server1
?
I could try modifying /etc/resolvconf/resolv.conf.d/tail
in server2
, but since that file is empty in server1
this action would possibly mask other problems, even if successful.
I guess if I could only have DIFFERENCES #1-4 below fixed, that will solve the problem. But all 4 files are quoted as dynamically created. I could not locate who is/was responsible for "creating" the differences, and how to fix that.
Different
dig
:
[server1]$ dig google.com
; <<>> DiG 9.16.1-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64202
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 94 IN A 216.58.202.46
;; Query time: 36 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: mar ago 10 03:44:51 -03 2021
;; MSG SIZE rcvd: 55
vs.
[server2]$ dig google.com
; <<>> DiG 9.16.1-Ubuntu <<>> google.com
;; global options: +cmd
;; connection timed out; no servers could be reached
/etc/resolv.conf
and related files:
[server1]$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.53
search fibertel.com.ar <--- DIFFERENCE #1
[server1]$ cat /run/systemd/resolve/stub-resolv.conf
This file is managed by man:systemd-resolved(8). Do not edit.
This is a dynamic resolv.conf file for connecting local clients to the
internal DNS stub resolver of systemd-resolved. This file lists all
configured search domains.
Run "resolvectl status" to see details about the uplink DNS servers
currently in use.
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.
nameserver 127.0.0.53
options edns0 trust-ad
search fibertel.com.ar <--- DIFFERENCE #2
[server1]$ cat /run/systemd/resolve/resolv.conf
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.
nameserver 192.168.0.1 <--- DIFFERENCE #3
search fibertel.com.ar <--- DIFFERENCE #3
[server1]$ cat /run/resolvconf/resolv.conf
Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
127.0.0.53 is the systemd-resolved stub resolver.
run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.53
search fibertel.com.ar <--- DIFFERENCE #4
[server1]$ ll /etc/resolv.conf
lrwxrwxrwx 1 root root 29 feb 1 2021 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
[server1]$ ll /run/resolvconf/resolv.conf
-rw-r--r-- 1 root root 327 ago 9 20:59 /run/resolvconf/resolv.conf
vs.
[server2]$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.53
[server2]$ cat /run/systemd/resolve/stub-resolv.conf
This file is managed by man:systemd-resolved(8). Do not edit.
This is a dynamic resolv.conf file for connecting local clients to the
internal DNS stub resolver of systemd-resolved. This file lists all
configured search domains.
Run "resolvectl status" to see details about the uplink DNS servers
currently in use.
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.
nameserver 127.0.0.53
options edns0 trust-ad
[server2]$ cat /run/systemd/resolve/resolv.conf
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.
nameserver ::1 <--- DIFFERENCE #3
[server2]$ cat /run/resolvconf/resolv.conf
Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
127.0.0.53 is the systemd-resolved stub resolver.
run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.53
[server2]$ ll /etc/resolv.conf
lrwxrwxrwx 1 root root 29 ago 9 22:38 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
[server2]$ ll /run/resolvconf/resolv.conf
-rw-r--r-- 1 root root 304 ago 10 03:13 /run/resolvconf/resolv.conf
Same
[any]$ uname -a
Linux <serverN> 5.11.0-25-generic #27~20.04.1-Ubuntu SMP Tue Jul 13 17:41:23 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
[any]$ dpkg -l | grep resolvconf
ii resolvconf 1.82 all name server information handler
[any]$ cat /etc/netplan/01-network-manager-all.yaml
Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
[any]$ cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
[device]
wifi.scan-rand-mac-address=no
[any]$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 <serverN>
The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
[any]$ cat /etc/nsswitch.conf
...
[any]$ cat /etc/systemd/networkd.conf
...
[any]$ ss -plnt | grep ':53'
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
[any]$ sudo systemctl status resolvconf.service
...
[any]$ /lib/systemd/network/
...
Almost the same
[server1]$ lsb_release -a
LSB Version: core-11.1.0ubuntu2-noarch:security-11.1.0ubuntu2-noarch
Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal
[server2]$ lsb_release -a
LSB Version: core-11.1.0ubuntu2-noarch:printing-11.1.0ubuntu2-noarch:security-11.1.0ubuntu2-noarch
Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal
Related: