我正在尝试让我的 VPN 连接仅通过 VPN 连接路由与我的工作场所相关的网络流量,并通过我的 Wi-Fi 连接路由任何其他流量。
如果我的 Wi-Fi 位于服务订单列表的顶部,我就无法通过连接 VPN 访问我的工作网络;而当我的 VPN 连接位于顶部时,我就无法访问工作网络以外的任何网络。
问题是否可能是因为我的工作 DNS 服务器可以解析互联网地址,但不允许通过其路由器连接到互联网绑定地址?
我的本地路由器/名称服务器是:10.10.10.3 远程 VPN 名称服务器是:10.1.1.88
输出scutil --dns
如下,我发现 VPN 名称服务器出现在resolver #1
DNS configuration
resolver #1
search domain[0] : home-domain.com
nameserver[0] : 10.1.1.88
order : 100000
resolver #2
nameserver[0] : 10.10.10.3
order : 200000
resolver #3
domain : local
options : mdns
timeout : 5
order : 300000
resolver #4
domain : 254.169.in-addr.arpa
options : mdns
timeout : 5
order : 300200
resolver #5
domain : 8.e.f.ip6.arpa
options : mdns
timeout : 5
order : 300400
resolver #6
domain : 9.e.f.ip6.arpa
options : mdns
timeout : 5
order : 300600
resolver #7
domain : a.e.f.ip6.arpa
options : mdns
timeout : 5
order : 300800
resolver #8
domain : b.e.f.ip6.arpa
options : mdns
timeout : 5
order : 301000
DNS configuration (for scoped queries)
resolver #1
search domain[0] : home-domain.com
nameserver[0] : 10.10.10.3
if_index : 5 (en1)
flags : Scoped
resolver #2
search domain[0] : vpn-domain.com
nameserver[0] : 10.1.1.88
if_index : 8 (ppp0)
flags : Scoped
查看我的 netstat -r 显示以下内容,我可能在这里注意到没有 10.1 的路由。。我的大多数目的地都在那里(10.1.7.* 只是 VPN 连接)。
Destination Gateway Flags Refs Use Netif Expire
default home.gateway UGSc 17 0 en1
default 119.225.149.174 UGScI 2 0 ppp0
10.1.7/24 ppp0 USc 0 0 ppp0
10.10.10/24 link#5 UCS 8 0 en1
home.gateway 0:4:ed:d:ed:b9 UHLWIi 40 58916 en1 1192
brettsmac.localdom localhost UHS 0 1704 lo0
10.10.10.255 ff:ff:ff:ff:ff:ff UHLWbI 0 2 en1
119.225.149.174 home.gateway UGHS 3 34401 en1
127 localhost UCS 0 0 lo0
localhost localhost UH 8 1672518 lo0
169.254 link#5 UCS 0 0 en1
更新:与我们的基础设施团队交谈后,他们告诉我如何在 Windows 7 中解决这个问题;在 VPN 连接的“高级 TCP/IP 设置”选项卡下,我们要取消勾选“在远程网络上使用默认网关”选项,OSX 中是否有类似的设置?
答案1
将 VPN 网络移至服务订单列表的顶部。这将确保您正在使用工作 VPN 的名称服务器,您需要该服务器来解析工作网络地址。现在,假设您的工作 VPN 不会破坏更广泛的互联网的名称解析(即,它通过阻止路由而不是 DNS 解析来进行过滤),那么剩下的就是修复到互联网的路由。
让我们看一下路由表的前四个条目:
- 第一行将所有流量发送到您的家庭路由器。
- 第二行将所有流量发送到您的 VPN 隧道。
- 第三行将工作地址流量(10.1.7/24)发送到VPN。
- 第四行将本地流量(10.10.10/24)发送到您的路由器。
假设 (3) 和 (4) 中的网络地址确实描述了您的工作网络和本地网络(我猜是这样),那么这些线路将处理您想要完成的所有工作 VPN 路由。因此,剩下的就是确保默认流量流向您的路由器而不是 VPN。
看起来 (1) 应该这样做,我猜这行代码在你启动 VPN 之前就已经存在了。所以看起来 (2) 覆盖了它。(它们显然存在冲突,谁知道覆盖逻辑是什么?)所以解决方案是删除 (2) 或将其更改为与 (1) 相同。
我会尝试:
sudo route change -net default home.gateway
或者
sudo route change -net default 0:4:ed:d:ed:b9
或者
sudo route change -net -interface default 0:4:ed:d:ed:b9
或者
sudo route delete default
sudo route add -net default home.gatway
ETC..