openvpn客户端路由控制

openvpn客户端路由控制

官网WIKI: https://community.openvpn.net/openvpn/wiki/IgnoreRedirectGateway

参考博客:

https://ring0.me/2013/10/openvpn-default-not-via-vpn/

https://www.52os.net/articles/openvpn-add-local-routing-table.html

 

1.禁止生成默认路由

(1)启动openvpn client默认会生成两条路由:

128.0.0.0/1 via 192.168.30.14 dev tun0

0.0.0.0/1 via 192.168.30.14 dev tun0

为什么 OpenVPN 不直接覆盖默认路由,而是添加了这么奇怪的两项呢?因为 OpenVPN 连接断开时还要把路由表恢复到初始状态,采用这种 0.0.0.0/1 和 128.0.0.0/1 的办法,只需在 VPN 连接断开时删除这两条路由表项即可,无需存储原来的默认路由。

(2)在openvpn client启动时添加参数”–pull-filter ignore redirect-gateway”,可以禁止产生这两条路由

 

2.在配置文件中控制路由

(1)执行网段不走vpn,在配置文件中添加:

route 172.16.100.0 0.0.0.0 net_gateway 

(2)执行网段走vpn,在配置文件中添加

route 172.17.100.0 0.0.0.0 vpn_gateway 

openvpn路由配置

openvpn路由配置

通常openvpn部署好以后,客户端连接VPN后会被配置一些路由,其客户端的路由会被修改为所有的流量都通过VPN来传输。但有时候,我们需要客户端的某些IP走VPN或者本地网关。这里有两种方法进行openvpn的路由配置

第一种方法: 客户端进行配置
在配置文件下增加如下内容:
route-nopull # 客户端连接openvpn后 不从服务端获取路由
max-routes 1000 # 设置路由的最大条数,默认是100,这里可以根据需求修改
route 192.168.0.0 255.255.0.0 net_gateway # 使192.168.0.0/24网段,不走vpn网关
route 192.168.1.0 255.255.0.0 vpn_gateway # 使192.168.1.0/24网段,走vpn网关

第二种方法: 在服务端进行配置
服务端和客户端的配置略有不同
push “route 192.168.0.0 255.255.0.0 net_gateway” # 将引号中的路由推送到客户端
push “route 192.168.1.0 255.255.0.0 vpn_gateway ” # 将引号中的路由推送到客户端
注意: 如果这里有 若配置中有redirect-gateway则需要先删除

配置完成后,需要重启openvpn服务。

两种方法选取其一即可。

openvpn客户端路由控制

openvpn客户端路由控制

官网WIKI: https://community.openvpn.net/openvpn/wiki/IgnoreRedirectGateway

参考博客:

https://ring0.me/2013/10/openvpn-default-not-via-vpn/

https://www.52os.net/articles/openvpn-add-local-routing-table.html

 

1.禁止生成默认路由

(1)启动openvpn client默认会生成两条路由:

128.0.0.0/1 via 192.168.30.14 dev tun0

0.0.0.0/1 via 192.168.30.14 dev tun0

为什么 OpenVPN 不直接覆盖默认路由,而是添加了这么奇怪的两项呢?因为 OpenVPN 连接断开时还要把路由表恢复到初始状态,采用这种 0.0.0.0/1 和 128.0.0.0/1 的办法,只需在 VPN 连接断开时删除这两条路由表项即可,无需存储原来的默认路由。

(2)在openvpn client启动时添加参数”–pull-filter ignore redirect-gateway”,可以禁止产生这两条路由

 

2.在配置文件中控制路由

(1)执行网段不走vpn,在配置文件中添加:

route 172.16.100.0 0.0.0.0 net_gateway 

(2)执行网段走vpn,在配置文件中添加

route 172.17.100.0 0.0.0.0 vpn_gateway