我在宿舍网络的 http 代理后面使用 Windows 10 顺利使用 OpenVPN。当我使用Linux Mint使用相同的客户端.ovpn,我可以成功进行身份验证。但是当我使用 wireshark 检查流量时,我看到 DNS 包转到宿舍网络 DNS 服务器。我无法将 OpenVPN 的 DNS 设置覆盖为宿舍网络 DNS 服务器。我尝试使用脚本,编辑 resolve.conf,禁用解析服务但无法解决。
那么,我该如何覆盖它?我希望我的 Linux 像 Windows 10 一样使用 OpenVPN DNS 系统范围设置。
答案1
我搞定了!!Linux 和 Windows 之间的 DNS 工作方式不同。在 Windows 中,当我们的 vpn 服务器将 dns 设置推送到 tun0 接口(openvpn 创建)时,它就可以工作了!
在 Windows 中,您可以为不同的适配器设置不同的 DNS 服务器 IP。但在 Linux 中,您只能为每个适配器使用单个 DNS 服务器。
您可以使用 Linux 中 etc/resolve.conf 中写的任何内容作为 DNS 服务器(例如名称服务器 DORM_DNS_SERVER_IP)。
因此您需要重写 NetworkManager。这可以通过 3 种方法实现。没有其他方法可以实现它:
1- 安装 openresolv(为您的 Linux 下载)。
2- 编辑 /etc/resolveconf.conf(添加名称服务器 DNS_IP_YOU_WANT)
3-edit client.ovpn(将这 2 行添加到 /etc/openvpn/update-resolv-conf 下,将 /etc/openvpn/update-resolv-conf 下)
3.directive 自动使用 openresolve 应用程序和 resolveconf.conf 文件创建新的 resolve.conf。OpenVPN Linux 客户端能够使用 openresolve 和 openvpn 内置脚本 */etc/openvpn/update-resolv-conf
如果 /etc/openvpn/update-resolv-conf 不存在,请在互联网上查找并将其粘贴到该目录中。
所以它有效!
我很震惊,因为之前没有人在互联网上谈论过这个。