在 Ubuntu 13.04 中连接到 VPN 时出现 DNS 问题

ets*_*uer 30 vpn dns 13.04

我正在使用 vpnc 连接到 Cisco VPN 服务器。连接后,我的机器无法从新 VPN 自动更新 DNS 设置。我通过使用适当的名称服务器和搜索域临时更改 /etc/resolv.conf 进行了测试,一切正常。这显然不是一个长期的解决方案,所以我在网络管理器的 VPN 设置中添加了一个额外的 DNS 服务器和搜索域。有了这些设置,resolvconf 会添加搜索域,但不会添加 DNS IP,我仍然无法进行任何查找。

从这里配置或故障排除的下一步是什么?

jdt*_*ood 57

首先确保nameserver/etc/resolvconf/resolv.conf.d 中的任何文件中都没有以 开头的行。如果 /etc/resolvconf/resolv.conf.d/tail 是指向 target 的符号链接original,请将其指向/dev/null.

其次,断开与 VPN 的连接。编辑/etc/NetworkManager/NetworkManager.conf

$ sudo gedit /etc/NetworkManager/NetworkManager.conf
Run Code Online (Sandbox Code Playgroud)

并注释掉

dns=dnsmasq
Run Code Online (Sandbox Code Playgroud)

(即,添加一个#,使其看起来如下所示)

#dns=dnsmasq
Run Code Online (Sandbox Code Playgroud)

进而

sudo restart network-manager
Run Code Online (Sandbox Code Playgroud)

  • 在 Ubuntu 16.04 上重启网络管理器:`sudo systemctl restart NetworkManager` (12认同)
  • 令我惊讶的是,这在 3 年后的 16.10 中仍然是一个问题。 (8认同)
  • 另一种现代重启方法:sudo service network-manager restart (6认同)
  • +1——Ubuntu 16.04——同样的问题。同样的解决方案。谢谢 (3认同)

Par*_*mar 6

尝试检查您的/etc/resolv.conf是否有指向/run/resolvconf/resolv.conf 的。它为我解决了这个问题。

要检查它是否具有符号链接:

ls -la /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)

示例输出,如果它有符号链接:

lrwxrwxrwx 1 root root 27 Jun 30 22:22 resolv.conf -> /run/resolvconf/resolv.conf
Run Code Online (Sandbox Code Playgroud)

否则,删除或备份现有的 /etc/resolv.conf 然后:

sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)