我们在使用OpenVpn时,默认会将所有路由添加至路由表中。这样非常的伤服务器、且会使日常链接变得非常非常慢。因此,我们需要学会添加路由表来实现自适应代理。
1.从客户端修改
这种情况只要改本地配置文件即可,服务器不需要修改。适合客户端比较多且网络条件比较复杂,某些客户端有定制路由的需求,或者临时有修改的情况。例如打开openvpn的配置文件open.ovpn,如下所示:
route-nopull
route 13.58.0.0 255.254.0.0 vpn_gateway
route 13.64.0.0 255.255.0.0 vpn_gateway
- 其中 route-nopull 是 不默认建立路由表(即不会出现所有流量经过VPN)
- route语句中 13.58.0.0 代表的是目标服务器的IP地址、255.254.0.0 代表的是目标的子网掩码、而 vpn_gateway 的意思是该路由通过VPN转接。
- 相对的有 net_gateway 即该路由被VPN排除,不过使用此规则时不能添加 route-nopull
修改完成后,我们可以通过 cmd 输入如下命令来查看我们的路由表
route print
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
自此,即添加完成。