如何防止 Juniper Network Connect 破坏 DNS 解析

如何防止 Juniper Network Connect 破坏 DNS 解析

Juniper Network Connect 在 64 位 Linux 上存在问题已有一段时间了。我找到了 2 个 Java 问题解决方案 (有人可以提供获取 juniper netconnect 和 citrix 的步骤吗?在 64 位 Ubuntu 中运行带有 sun-jre 的 32 位 Firefox),但现在我又面临一个新问题。

Network Connect 直接对文件进行更改/etc/resolv.conf。这会导致 Ubuntu 执行 DNS 解析的新方法出现问题,即将 DNS 指向本地解析器/缓存器:dnsmasq。一旦 NC 断开连接并且您更改网络(例如从办公室到家),DNS 就会停止正常工作。

实际情况是 NC 删除了/etc/resolv.conf实际链接到的文件/run/resolvconf/resolv.conf。更糟糕的是,NC 实际上删除的是原始文件而不是链接。因此,当您尝试使用以下命令恢复文件时:

sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf

它失败了,因为/run/resolvconf/resolv.conf现在已经消失了。重新安装resolvconf无法修复它,运行也无法修复它resolvconf

因此,到目前为止我发现的最佳方法是先备份/run/resolvconf/resolv.conf到另一个位置。断开 NC 后,我会运行一个脚本,删除/etc/resolv.conf、替换已删除的内容 /run/resolvconf/resolv.conf,然后将其/etc重新链接回去。

有人知道避免这种情况的方法吗?或者我是否已经找到了最好的“解决方法”?有什么方法可以防止 NC 破坏它?

答案1

第一的:点击登出按钮网络连接窗口(连接时显示 VPN IP 的窗口)和

然后点击登出按钮登录网页避免了这个问题。

请在评论中指出这是否有效。

谢谢

答案2

修复/etc/resolv.conf符号链接的最佳方法是运行

sudo dpkg-reconfigure resolvconf

并回答 YES 来准备 resolv.conf 进行动态更新。

答案3

我希望您不需要重新安装该软件包。只需重新启动 resolvconf 即可解决问题:

sudo service resolvconf restart

如果这不起作用,您还可以尝试重新启动网络服务,它将尝试将一组新值写入 /etc/resolv.conf

sudo service network restart

答案4

网络连接停止后,只需执行以下操作即可。

sudo ln -s ../run/resolvconf/resolv.conf /etc/resolv.conf
sudo resolvconf -u  # Regenerate /run/resolvconf/resolv.conf

您不需要事先备份 /run/resolvconf/resolv.conf。

相关内容