OSX 10.9 Mavericks中的“通过VPN连接发送所有流量”设置在哪里?


17

我试图更改通过OSX的内置VPN客户端在系统偏好设置中设置的Cisco IPSec VPN连接的设置。VPN可以按预期运行,因此我可以访问公司中受保护的服务器。我想通过此VPN访问互联网上的其他网站(youtube,wikipedia等)。据我所知,我的常规网络浏览不是通过VPN进行的。

这个Apple支持页面说有一个名为“通过VPN连接发送所有流量”的设置,可以通过Apple menu > System Preferences > Network > Advanced > Options对话框启用。但是,当我从网络接口列表中选择VPN并单击“高级...”按钮时,没有“选项”选项卡或按钮。我看到带有两个选项卡的对话框,“ DNS”和“代理”。在任何地方都找不到选项按钮或“通过VPN连接发送所有流量”。

那么,有什么用呢?这与我连接到哪种VPN(Cisco IPSec)有关吗?它与VPN的设置有关吗?无论如何,如何通过VPN路由正常浏览?


这是什么类型的VPN连接。在某些情况下,无论如何,所有流量都将通过VPN连接发送(处于活动状态时),因此该选项已过时(因此不可用)。示例:Cisco VPN ...没有选择。VPN(PPTP)...选项可用。
sdmeyers 2014年

@sdmeyers不太确定哪种连接。我真正看到的只是“ Cicsco IPSec”。在哪里可以查看设置类型?基于我对VPN的(有限的)理解,我相信我的流量虽然没有通过它路由。VPN服务器位于美国,当我查找当前的IP地址时,我看到主机位于我当前所在的非美国国家/地区。
Pwnosaurus

1
Google“我的IP是什么”可在连接到VPN之前和之后查看您的公共IP地址,此处应该有所不同。VPN不会更改您的本地IP地址。
sdmeyers 2014年

Mac的Cisco IPSec客户端似乎完全符合预期的行为-VPN服务器提供了受保护路由的列表,这些路由被附加到Mac的系统路由表中。虽然这里有相反的问题...我的路由中有10.xxxx和172.xxx netstat -rn,但是我却只能以某种方式访问​​10-而不是
172。– tishma

Answers:


11

我猜并不是Mac中内置VPN客户端的所有VPN连接都具有该选项。

PPTP和L2TP确实提供了以下选项:打开网络设置:

在此处输入图片说明

选择您的VPN连接,然后单击高级按钮。

在“会话选项”标题下将弹出一个带有三个复选框的新窗口。这些复选框的最后一个是您想要的复选框:“通过VPN重定向所有流量”。

但是,就像你说的那样。高级按钮不会随Cisco IPSec一起弹出。

我发现此线程(/superuser/91191/how-to-force-split-tunnel-routing-on-mac-to-a-cisco-vpn)可能是您问题的答案(如果您使用它来路由整个IP范围):

有谁知道如何破解路由表(在Mac上),以克服cisco VPN上所有事物的VPN路由强制?我几乎想做的就是在VPN上只有10.121。*和10.122。*地址,而其他所有内容都直接进入互联网。

以下对我有用。在连接到思科VPN以后运行这些。(我使用的是OS X的内置cisco客户端,而不是Cisco品牌的客户端。)

sudo route -nv add -net 10 -interface utun0
sudo route change default 192.168.0.1

将第一个命令中的“ 10”替换为位于隧道另一侧的网络。

将“ 192.168.0.1”替换为您本地网络的网关。

我将其放入bash脚本中,如下所示:

$ cat vpn.sh 
#!/bin/bash

if [[ $EUID -ne 0 ]]; then
    echo "Run this as root"
    exit 1
fi

route -nv add -net 10 -interface utun0
route change default 192.168.0.1

我还找到了有关在连接VPN时如何自动运行此操作的说明,但该操作已在星期五晚了,我不想尝试:)

https://gist.github.com/675916

编辑:

从那以后,我离开了使用Cisco VPN的工作,所以这是从内存中获得的。

第一个命令中的“ 10”是您要通过VPN路由的网络。“ 10”是“ 10.0.0.0/8”的简写。在Tuan Anh Tran的情况下,网络看起来像是“ 192.168.5.0/24”。

至于在第二个命令中指定哪个网关,它应该是您的本地网关。当您登录防止拆分隧道的VPN时,它将通过更改路由表来强制执行该策略,以便所有数据包都在虚拟接口上进行路由。因此,您想将默认路由更改回使用VPN之前的默认路由。

找出网关的最简单方法是在登录VPN之前运行netstat -rn,然后查看“默认”目标右侧的IP地址。例如,这是现在我的盒子上的样子:

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            10.0.1.1           UGSc           29        0     en1
10.0.1/24          link#5             UCS             3        0     en1
10.0.1.1           0:1e:52:xx:xx:xx   UHLWIi         55   520896     en1    481
10.0.1.51          7c:c5:37:xx:xx:xx   UHLWIi          0     1083     en1    350
10.0.1.52          127.0.0.1          UHS             0        0     lo0

我的网关是10.0.1.1,位于“默认”目标的右侧。


该答案与所要提供的相反。
sdmeyers 2014年

-1

Cisco VPN服务器通常会发送到专用网络的路由列表,因此您不会最终通过VPN服务器发送所有流量。为解决此问题,您可以尝试通过解密存储在CiscoVPN PCF文件中的密码或手动设置路由,将此处的建议从CiscoVPN迁移到本机OS X IPSec VPN。

希望它能有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.