网络管理器不考虑 OpenVPN dhcp-option 指令

网络管理器不考虑 OpenVPN dhcp-option 指令

我对 VPN 还不是很了解。我在家里设置了一个 OpenVPN 服务器,我以为在国外旅行时连接到该服务器,我就可以像在家里一样“虚拟”地使用互联网。然而,事实似乎并非如此,某些网站在国外无法访问。例如,当我的 VPN 连接处于活动状态时,Facebook 就无法访问。

思考原因时,我进行了跟踪路由测试,结果令人惊讶:traceroute facebook.com在我国外的笔记本电脑上(启用 VPN),30 跳后不会终止(IIUC 表示复杂的我正在尝试从我的笔记本电脑获取到 facebook.com 的路由)。但如果我ssh进入托管我的 VPN 服务器的机器并执行相同操作,它会在 11 个跳数后终止(这听起来很自然)。有趣的是,在这两种情况下,我的家用路由器(连接到互联网)都出现在列表顶部。

我的结论是,流量没有“完全”通过我的家庭 VPN 服务器进行传输。

作为参考,以下是我添加到客户端配置中的一些选项:

redirect-gateway def1 bypass-dhcp bypass-dns
dhcp-option DNS 8.8.8.8
dhcp-option DNS 8.8.4.4
mssfix 1300

更新:经过更多关注后,我发现 facebook.com 从我的笔记本电脑或 VPN 服务器解析为两个不同的 IP。

从我的笔记本电脑:

$ traceroute facebook.com
traceroute to facebook.com (10.10.34.35), 30 hops max, 60 byte packets
...snip...

但是从 VPN 服务器 (ssh):

$ traceroute facebook.com
traceroute to facebook.com (157.240.17.35), 30 hops max, 60 byte packets
...snip...

更有趣的是traceroute 157.240.17.35 从连接到 VPN 服务器的笔记本电脑通过 12 跳到达目的地,并且经过的节点与traceroute facebook.com从 VPN 服务器经过的节点完全相同。

dhcp-option因此,我得出结论,尽管客户端配置中有指令,但应该存在 DNS 问题。

我在网络管理器配置中手动指定了 Google DNS IP,问题已解决。 在此处输入图片描述

这是正常的吗?为什么网络管理器不考虑dhcp-option指令?

答案1

为什么从服务器到 facebook.com 只需要 9 次跳转,而从我在国外连接到 VPN 的机器到 facebook.com 则需要超过 30 次跳转

不同之处在于的起点traceroute

连接到 VPN 后,traceroute从您的计算机开始,到达您的 OpenVPN 服务器,然后从它一直到 Facebook 服务器。因此,路线自然会有些长且复杂。

当您在 OpenVPN 服务器上执行 SSH 控制台时,traceroute 将从服务器启动并遵循从服务器到 的路由Facebook。因此,路由要短得多,因为 不会跟踪从您的计算机到 VPN 服务器的路径traceroute。对于 SSH 隧道,这将被视为到 VPN 服务器的一跳。

相关内容