默认情况下,VPN连接成功后会自动增加一些路由,并把网关设置成vpn的,所以所有的流量都会通过VPN来传送,但是如果使用openvpn,可以自己修改路由,指定某些ip走vpn,或者某些ip不走vpn,从而达到节省流量或者提高访问速度的目的。openvpn有两种方法修改路由表:

1.从客户端修改

这种情况只要改本地配置文件即可,服务器不需要修改。适合客户端比较多且网络条件比较复杂,某些客户端有定制路由的需求,或者临时有修改的情况。例如打开openvpn的配置文件open.ovpn,在“max-routes 1000” 后加入相应的路由就:

route 172.16.100.0 0.0.0.0 net_gateway
route 10.252.252.0 255.255.255.0 net_gateway
route 103.103.103.0 255.255.255.0 net_gateway

最后一个参数“net_gateway”表示强行指定IP段不使用vpn,还有一个正好相反的“vpn_gateway”强行指定IP段使用VPN。

2.在服务器端配置
在服务器中配置推送全局路由,客户端不需要更改任何配置,适合客户端网络条件比较相似的情况。在openvpn服务器的配置文件中加入:

push "route 172.16.100.0 0.0.0.0 net_gateway"
push "route 10.252.252.0 255.255.255.0 net_gateway"
push "route 192.168.1.0 255.255.255.0 net_gateway"
重启服务:
killall openvpn
openvpn --daemon --config /etc/openvpn/2.0/conf/server.conf

windows/linux下都可以用“ netstat -nr ”来查看路由是否添加成功。
当然windows/linux下也可以用route命令永久添加路由,采用什么方法,看你的需求和习惯了。

参考文章:
http://xiaolife.com/wordpress/use-openvpn-route-and-vpn_gateway/