forticlient vpn 打破了非 vpn dns

forticlient vpn 打破了非 vpn dns

我使用的是 Ubuntu 14.10,我安装了 forticlient 来连接到我的工作网络(按照他们的文档操作),一段时间后,我开始在连接大多数互联网网站时遇到大麻烦。经过一番搜索(以及许多我忘记的测试和配置...),我意识到了这一点:

  • 我不认为问题发生在安装和/或第一次使用 forticlient 之后
  • forticlient 碰巧显示了一些与 sslvpn 相关的无法读取的错误消息
  • (现在)连接到 VPN 后一切正常,

然后当没有使用 VPN 时:

  • 我连接到 VPN 时访问的地址/网站仍然有效
  • host 和 nslookup 似乎有效
  • 通常没有 - 但对于我在 VPN 上连接的地址
  • Firefox 总是返回“未找到服务器”页面 - 但对于我在 VPN 上连接的地址
  • nslookup 输出从Got recursion not available from X.X.X.X, trying next server哪里开始X.X.X.X指向我工作的服务器

实际上,最后一点让我意识到问题可能来自 forticlient,然后我意识到第三点。

所以我有两个问题:

  1. 我该如何修复非 VPN 连接?
  2. DNS 和 VPN 系统在 Ubuntu/Linux 中如何工作?有哪些文件和程序与之相关,以何种方式/顺序?

谢谢

答案1

我发现即使没有连接到 vpn,也可能/etc/resolf.conf包含我工作的服务器地址(X.X.X.X问题中的)。实际上它包含了两次,当客户端连接时,则有 3 个。我猜 vpnclient 恰好在出现某些错误时留下了这些行。

所以我删除了那几行,只保留:

# 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
nameserver 127.0.1.

而且它似乎又能正常运作了。

如果我再次遇到该问题,我会更正此答案。

答案2

我在 Ubuntu 20.04 上遇到了类似的问题。

第一次使用 Forticlient 连接 VPN 后,系统根本无法连接到互联网。尝试过卸载它,但也没有用。

Forticlient 可能弄乱了该/etc/resolv.conf文件。

尝试重新安装resolveconf,但卸载后,由于没有网络而无法重新安装。

解决方案是resolveconf从 Ubuntu repo手动下载软件包

http://archive.ubuntu.com/ubuntu/pool/main/r/resolvconf/

以及它的依赖性ifupdown

http://archive.ubuntu.com/ubuntu/pool/main/i/ifupdown/

并使用以下方式安装它们:

sudo dpkg -i ifupdown_0.8.35ubuntu1_amd64.deb
sudo dpkg -i resolvconf_1.78ubuntu7_all.deb

安装后,在文件中添加以下行/etc/resolvconf/resolv.conf.d/tail以指定名称服务器:

nameserver 8.8.8.8

将其添加到尾部将确保.conf在完成任何更新后将该行附加到文件。

并运行以下命令来更新文件.conf

sudo resolvconf -u

名称服务器现在应该出现在 中/etc/resolv.conf

网络也应该恢复正常了。

答案3

扩展已接受的答案,为了防止 forticlient 使用虚假的名称服务器行更新 /etc/resolv.conf 文件,我使用了一个命令这里推荐

 sudo chattr +i /etc/resolv.conf

这样,resolv.conf 将不会被修改(与使用 chmod 删除写入权限不同,这不会阻止它更新文件)。注意:它对我有用,但对其他人不一定有用 - 我预计当 DNS 设置在 DHCP 之后自动更新时它会失败。

在应用该标志之前,不要忘记删除 forticlient 插入的行。应用不可变标志后,forticlient 会报告错误,/etc/resolv.conf: Permission denied但 VPN 无论如何都能正常工作。

答案4

对我来说情况更糟,基本上所有的“互联网”都停止工作了,甚至连 forticlient 都无法再次连接。

我必须手动添加一个有效的 DNS 条目 /etc/resolv.conf

问题就解决了。

相关内容