Ubuntu 21.10 VPN 断开连接不会恢复到 /etc/resolv.conf 中的原始 DNS 服务器

Ubuntu 21.10 VPN 断开连接不会恢复到 /etc/resolv.conf 中的原始 DNS 服务器

当我在 Ubuntu 21.10 中断开与公司 VPN 的连接时(使用 Gnome GUI 进行 VPN 连接/断开连接),/etc/resolv.conf 中没有以前的 DNS 服务器条目。有人能帮忙解决这个问题吗?我将在下面列出状态并尝试简要解释一下:

启动 Ubuntu 后,DNS 服务器正确——我的本地路由器的 IP:

$ ls -al /etc/resolv.conf
lrwxrwxrwx 1 root root 34 apr 22 15:44 /etc/resolv.conf -> ../run/systemd/resolve/resolv.conf

$ cat /etc/resolv.conf | grep nameserver
nameserver 192.168.2.1

VPN 连接后,添加了我公司的 DNS 服务器(注意还有 192.168.2.106,我不知道它来自哪里 --> 这以前是我的本地 DNS 服务器,但现在不存在了,所以这对我来说是第一个谜 - 这个 IP 是从哪里获取的):

$ cat /etc/resolv.conf | grep nameserver
nameserver 21x.xx.xx.x0
nameserver 21x.xx.xx.x1
nameserver 192.168.2.106

断开 VPN 后,我注意到 2xx.xx.xx.x1 被保留,有时它甚至排在第一位,所以它会尝试使用我公司的 DNS,这是错误的:

$ cat /etc/resolv.conf | grep nameserver
nameserver 192.168.2.1
nameserver 2xx.xx.xx.x1

在日志中我发现了这个错误,不确定是否相关:

systemd-resolved[1580]: Failed to save link data /run/systemd/resolve/netif/6: Permission denied

任何帮助都将受到赞赏。

编辑:下面添加一些进一步的信息。我的公司使用 Palo Alto Global Protect VPN,我使用 network-manager-openconnect-gnome 连接到它。我没有安装任何其他第三方 vpn 相关软件。但是当我连接到我的个人 openvpn 服务器时,我描述的 DNS 问题也存在。我的个人 VPN 服务器配置为推送 8.8.8.8 和 8.8.4.4 作为 DNS 服务器。见下文,此 VPN 也存在问题。

干净启动:

$ cat /etc/resolv.conf | grep nameserver
nameserver 192.168.2.1

Openvpn连接:

$ cat /etc/resolv.conf | grep nameserver
nameserver 8.8.8.8
nameserver 8.8.4.4

Openvpn 已断开连接(查看来自 vpn 的一个 DNS 被保留):

$ cat /etc/resolv.conf | grep nameserver
nameserver 192.168.2.1
nameserver 8.8.4.4

相关内容