OpenVPN实现客户端分流



问题

        由于公司使用了OpenVPN来保证网络的安全,但是发现每一次连接上VPN之后整个网络都变成服务器的出口IP了,这时候网络就非常慢了,并且这样也不对,应该需要走OpenVPN的再走。这时候就需要配置分流了。配置在服务端和客户端改一个都可以,由于改服务端影响比较大,所以那就改客户端的配置

客户端路由分流

路由控制需要由三个参数进行定义:

route-nopull

如果在客户端配置文件中配route-nopull,openvpn连接后将不会在电脑上添加任何路由,所有流量都将本地转发。

vpn_gateway

如果在客户端配置文件中配vpn_getaway,默认访问网络不走vpn隧道,如果可以通过添加该参数,下发路由,访问目的网络匹配到会自动进入VPN隧道。


route 10.0.0.0 255.255.255.0  vpn_gateway
route 172.16.0.0 255.255.255.0  vpn_gateway

net_gateway

这个参数和 vpn_gateway 相反,表示在默认出去的访问全部走 openvpn 时,强行指定部分IP地址段访问不通过 Openvpn 出去。

max-routes 参数表示可以添加路由的条数,默认只允许添加100条路由,如果少于100条路由可不加这个参数。

max-routes 1000
route 10.100.0.0 255.255.255.0 net_gateway


我个人这边选用的vpn_gateway,在需要使用vpn的时候在使用就行了

客户端配置分流

打开个人的ovpn文件,添加需要路由的ip就可以。添加完成之后一定要重启客户端服务


route-nopull
#以下路由根据自己实际情况进行添加调整
route 61.189.160.42 255.255.255.255 vpn_gateway


centos 内网安全 openvpn 路由分流
编程浪子走四方:CodeRonin