当我在 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