OpenVPN客户端配置下排除特定IP及子网路由的方法咨询
OpenVPN客户端配置下排除特定IP及子网路由的方法咨询
嘿,这个需求完全可以在客户端配置里搞定,不用碰服务器端!我给你两种靠谱的方法,按需选就行:
方法一:修改客户端配置文件(持久生效)
直接在你的OpenVPN客户端.ovpn配置文件里添加一行路由规则:route 200.0.0.0 255.0.0.0 net_gateway简单解释下:这条指令告诉OpenVPN,当访问
200.0.0.0/8这个子网时,不要走VPN的网关,而是用你本地网络原来的默认网关。哪怕服务器端推送了全路由(比如redirect-gateway def1),这条客户端规则的优先级更高,会覆盖掉全路由里对这个子网的设置。方法二:临时手动添加路由(重启VPN失效)
如果只是临时测试不想改配置文件,可以在VPN连接成功后,用系统命令手动添加排除路由:- Linux/macOS下:先查本地默认网关(没连VPN时用
ip route show看default via后面的IP),然后执行:ip route add 200.0.0.0/8 via <你的本地网关IP> - Windows下:同样先查本地网关(
route print找0.0.0.0对应的网关),然后以管理员身份运行命令:route add 200.0.0.0 mask 255.0.0.0 <你的本地网关IP>
- Linux/macOS下:先查本地默认网关(没连VPN时用
两种方法都能实现让指定子网不走VPN路由的效果,推荐用第一种配置文件的方式,一劳永逸~
备注:内容来源于stack exchange,提问作者Rustam




