我设法使用脚本 [1] 安装了 openvpn,并且能够在 Mac OSX 上连接。
但是,默认选项是所有流量现在都通过 VPN IP 路由。
仅当目标 IP 为 时,是否可以使用此 VPN 路由流量X.X.Y.Z
?
对于其余流量,无需 VPN 即可使用。
答案1
如果你控制服务器,那么你可以通过在配置文件中添加指令来推送特定路由,例如
push "route X.X.Y.Z 255.255.255.255"
push "route 192.0.2.0 255.255.255.0"
您可能还想删除该redirect-gateway
指令(如果使用的话)。
如果您想在客户端执行此操作,则需要忽略推送的路由,然后通过向客户端配置添加指令来配置您自己的路由,例如
route-nopull
route X.X.Y.Z 255.255.255.255
route 192.0.2.0 255.255.255.0
这两种情况都会使指定的主机/网络通过 VPN 进行路由。
答案2
请注意与服务器推送选项的冲突: https://openvpn.net/faq/overriding-a-pushed-route-in-the-clients-config-throws-an-error/
你可能会遇到一个错误:
Options error: option 'route' cannot be used in this context
这个问题的出现是因为“route-nopull”选项剥夺了客户端安装服务器推送路由的权限,实际上是告诉选项解析器“不,这个选项在这里无效”。
正确配置它的方法是(route-nopull 位于最后):
...
# Options
client
route 10.1.0.0 255.255.255.128
route-metric 50
route-nopull
...