![OS X 的“通过 VPN 连接发送所有流量”似乎失败了](https://linux22.com/image/1318458/OS%20X%20%E7%9A%84%E2%80%9C%E9%80%9A%E8%BF%87%20VPN%20%E8%BF%9E%E6%8E%A5%E5%8F%91%E9%80%81%E6%89%80%E6%9C%89%E6%B5%81%E9%87%8F%E2%80%9D%E4%BC%BC%E4%B9%8E%E5%A4%B1%E8%B4%A5%E4%BA%86.png)
或者说我的期望是错误的。
我以为选中“通过 VPN 连接发送所有流量”不仅会通过我的 VPN 连接发送浏览器 http 和 https 流量,还会发送 helpd、终端、其他应用程序以及所有流量。但事实并非如此。通过观察网络活动,似乎流量同时通过 VPN 和默认连接。
系统是否有错误,我可以纠正吗?我的预期是错误的吗?
答案1
在办公室的 OS X Server 上设置 VPN 时,我遇到了无法让 OS X 客户端选项“通过 VPN 发送所有流量”真正发挥作用的问题。事实上,该设置似乎对我的客户端机器没有任何改变。在谷歌和 Apple 讨论论坛上搜索了很多次后,我找不到任何与我的问题有关的具体内容,所以我想在这里透露解决方案,供其他人参考。
只需前往网络偏好设置, 打开你的网络端口配置,然后将 VPN 条目拖至列表顶部。
无论“通过 VPN 发送所有流量”设置是什么,这似乎都会强制所有 TCP/IP 流量通过 VPN,但只有当您连接到 VPN 时才如此。我认为这不是一个理想的解决方案,但至少它允许我在旅行时通过隧道传输所有流量。
答案2
我没有专门测试过,但如果你查看网络吞吐量,你就会看到我所期望的结果。
例如,假设你从某个随机互联网服务器传输了 100MB 的数据。该服务器的数据包完全通过 VPN 连接传输,因此你会看到 100MB 的流量通过 VPN 接口。但 VPN 连接本身通过默认接口进行路由,因此您可能会看到 110MB(100MB + 开销)通过默认接口传输。
答案3
路由不应该依赖于服务。路由表用于确定到达特定主机/网络的路径。您不能将某些服务(使用一组端口和协议)路由为使用一条路由,而将其他服务路由为使用另一条路由。即使我不知道某件事,也不会那么常见。
然而,有可能的是分裂隧道被使用。这在很大程度上取决于路由器的配置方式以及您使用的 VPN 软件(是否允许覆盖)。在大多数情况下,网络管理员不喜欢拆分隧道,并且(如您所愿)通过 VPN 路由所有流量,禁止任何覆盖(除非使用另一个 VPN 客户端 :-) )。虽然它更安全,但工作起来很麻烦,比如同时播放音乐。
您可以使用traceroute 命令查看到达特定目的地的交通路径。
您可以尝试更改默认网关并在建立连接后将所有流量引导至 VPN。但是,这取决于另一个站点是否有用于 VPN 连接的互联网路由,因为它可能只知道本地网络。
答案4
对于 MacOS Monterey,请访问设置 -> 网络。在左下角你会看到三个按钮,点击第三个按钮(在 + 和 - 按钮之后)并选择“设置服务订单...”。
现在,首先重新订购您的 VPN 服务并确认更改。就这样。