看来我只能让 DNS 或路由工作。不能同时工作。
我导入了客户端的 ovpn 文件,当我连接时(使用默认设置),我可以访问防火墙后面的资源,他们的 DNS 服务器接管,一切正常。唯一的问题是:我无法访问任何不是在他们的服务器上:
host onvpn.com
123.45.67.89host npr.org
216.35.221.76ping 123.45.67.89
成功ping 216.35.221.76
失败
当我取消勾选“仅将此连接用于其网络上的资源”时,我仍然可以 ping 其服务器后面的 IP,但服务器上的 DNS 却死机了:
host onvpn.com
未找到host npr.org
216.35.221.76ping 123.45.67.89
成功ping 216.35.221.76
成功
如果我取消Automatic
选中 DNS(同时仍然保留“仅限其网络上的资源”选中状态),然后手动输入我应该使用的 DNS 服务器的地址,我会得到相同的结果。
我真的只能获得路由或 DNS 吗?选择一个?
我在 Zesty 上。我正在使用该network-manager-openvpn-gnome
软件包来管理连接。它在我的 Windows 机器和 Mac(带有 TunnelBlick)上使用 ovpn 文件中的默认设置运行良好。
== 编辑 ==
我在两种状态下都运行过systemd-resolve --status
,除了勾选“使用此连接...”后域前面的波浪号外,其他都一模一样。我不知道如何调试。我真的不想使用 Windows 或手动编辑我的主机文件...VPN 后面有很多机器......
答案1
我的工作如下:
- 添加另一个 LAN 连接配置文件,该配置文件具有 VPN 内的 DNS 服务器的 IP 地址
- 现在,如果您使用此配置文件,DNS将被破坏,直到您连接到VPN
- 因此,更改 VPN 配置以连接到静态 IP 地址而不是主机名(或将 IP 地址放在 hosts 文件中)
完成了!这不是一个让我很开心的解决方法,但是,嘿,它有效。
答案2
我只是增加了 VPN 的路由度量,因此添加了默认网关 + DNS,但旧的默认网关具有更高的优先级。然后我在 VPN 网络中添加了其他路由。
nmcli connection modify MYVPN ipv4.route-metric 101
结果:VPN 的 DNS 服务器、通过 VPN 的 VPN 网络路由(包括 DNS)、通过本地网关的本地网络和互联网仍然可用。