OpenVPN 分流

默认配置的 OpenVPN 是所有流量都走 VPN 服务器的,但是我的需求是只希望操作内网服务器的流量才走 VPN,其他流量还是走默认的本地路由,所以可以对客户端或服务端增加参数,达到允许或不允许访问某些路由

客户端配置

主要由以下三个参数决定
1.route-nopull
当客户端加入这个参数后,openvpn 连接后不会添加路由,也就是不会有任何网络请求走openvpn.

2.vpn_gateway
当客户端加入 route-nopull 后,所有出去的访问都不从 Openvpn 出去,但可通过添加 vpn_gateway参数使部分IP访问走 Openvpn 出去

route 192.168.1.0 255.255.0.0 vpn_gateway
route 172.121.0.0 255.255.0.0 vpn_gateway

3.net_gateway
这个参数和 vpn_gateway 相反,表示在默认出去的访问全部走 Openvpn 时,强行指定部分IP访问不通过 Openvpn 出去.
max-routes 参数表示可以添加路由的条数,默认只允许添加100条路由,如果少于100条路由可不加这个参数.

max-routes 1000
route 172.121.0.0 255.255.0.0 net_gateway

服务端

增加

push "route 172.16.0.0 255.255.0.0 vpn_gateway"