我正尝试使用我的 Macbook(OSX 10.10)逃避大学 wifi 网络规则。
大学允许我们使用一个服务器,比如 bastion.univ.com,来安装 ssh 端口转发。我在家里运行了一个 OpenVPN 服务器(tunnelblick)。
在客户端:我安装一个 ssh 端口来转发我的 VPN 数据包,然后连接到 VPN。如果我不使用redirect-gateway def1
,即当我不通过 VPN 重定向所有流量时(已完成测试:我可以手动路由一些流量,route add -net ...
),一切都会正常工作。如果我使用 def1,连接将不起作用,并且保持我的端口打开的 ssh 进程会残酷地结束。
我以为,当我告诉 OpenVPN 客户端重定向所有流量时,它会尝试在通过 ssh 端口之前重定向流量。所以它不起作用。
如何配置客户端以使用我的 VPN 服务器重定向所有流量(或 github.com、sf.com 等域列表)但仍使用 ssh 端口?
编辑 :
我刚刚尝试添加一条规则来重定向除 SSH 服务器之外的所有流量:
#redirect all trafic through VPN
redirect-gateway def1
#except the ssh port forward
allow-pull-fqdn #allow use of domaine names in route
route bastion.univ.com 255.255.255.255 net_gateway
现在一切正常!
答案1
我必须为 SSH 服务器流量添加一条明确的路由,以使其不通过 VPN,正如 @daniel-b 所说:
#redirect all trafic through VPN
redirect-gateway def1
#except the ssh port forward
allow-pull-fqdn #allow use of domaine names in route
route bastion.univ.com 255.255.255.255 net_gateway