openvpn客户端证书路由详解修改路由并提速分流访问
写本文的原因是因为公司业务上的需要,办公环境和各公司互联的环境需要同时可以正常使用
要说到openvpn证书的路由就需要从openvpn的介绍说起,openvpn基于 openSSL 库的应用层,VPN虚
拟网络的实现,是基于SSL协议。
在一般默认的情形下,VPN隧道连接成功后会自动增加一些路由,并把网关地址设置成 vpn的,
所有的流量都会通过 VPN 来传送我们需要特定的流量不进VPN隧道或者进VPN隧道转发,来达到节
省流量或者提高访问速度的目的,我们就要通过定义路由来实现这个需求
Openvpn 客户端的路由配置
让特定 ip 走 Openvpn 的线路,自定义路由
由这三个参数决定 route-nopull、vpn_gateway、net_gateway
route-nopull
客户端的证书中加入这个参数后,openvpn 连接后不会添加路由,也就是不会有任何网络请求走 openvpn,所有的流量都由本地转发(单独使用这条参数无意义)。
route-nopull
—————————————————————————————————————————-
vpn_gateway
在客户端的证书中加入 route-nopull 后,所有出去的访问都不从 Openvpn 出去,这里用到 vpn_gateway 参数使指定的IP访问走 Openvpn 出去。
例如:
route-nopull
route 192.168.1.0 255.255.0.0 vpn_gateway
route 172.121.0.0 255.255.0.0 vpn_gateway
—————————————————————————————————————————-
net_gateway
这个参数和 vpn_gateway 相反,表示在默认出去的访问全部走 Openvpn 时,强行指定部分IP访问不通过 Openvpn 出去. max-routes 参数表示可以添加路由的条数,默认只允许添加100条路由,如果少于100条路由可不加这个参数.
例如:
max-routes 1000
route 192.168.1.0 255.255.255.0 net_gateway
常规做法是在客户端证书上直接加 route-nopull ,再用vpn-gateway逐条增加需要走openvpn的IP
我比较懒,直接使用net_gateway