【水蓝石】 win下通过路由设置实现vpn局部代理,避免不让你连外网的vpn流氓操作

2022-05-09   1,102 次阅读


引言

前段时间当地疫情被要求居家办公,而跑代码又要用公司内网连服务器,所以只能用vpn来操作。但是公司vpn有个问题,只要连上了vpn就不能连外网
image.png

这样的设置一看就是对我们的电脑做流氓操作。。这种事情不应该是属于一个vpn的权利。因为我明明有别的网络,为什么就不能控制只有连服务器的ip时才走公司vpn,跑外网时就用外网网络呢?

所以这时开始研究了。。网上这类资料还是挺少的,特别是针对windows下的。但是这边还是解决了问题

怎么解决问题

再思考一下问题,为什么连上vpn就不能上外网?因为vpn成了本机的默认网关,任何流量都先往vpn那里跑再传输到本机。但是vpn的服务器又拒绝了外网的数据,自然本机就不能接受来自外网的数据了。

分析出了问题就来尝试解决了

先取消vpn的默认网关设置

进入网络适配器设置,看到公司那VPN
image.png

按照这些路径依次点开
image.png
最右边的图中有个在远程网络中使用默认网关的选项,把这给取消,就等于要求的流量不默认走vpn了,而是走别的默认网关途径。

设置只有公司服务器的流量走公司vpn

首先获取到公司服务器的ip为xxx.xxx.xxx.xxx,子网掩码是mmm.mmm.mmm.mmm,查看到vpn给你分配的ip是vvv.vvv.vvv.vvv再用管理员模式打开cmd。我们可以用

route print

检查目前的路由设置是否有问题。若没什么值得注意的,就使用下列命令

route add xxx.xxx.xxx.xxx(服务器ip,不强制三位) mask mmm.mmm.mmm.mmm(掩码) vvv.vvv.vvv.vvv(vpn分配给你的内部ip)
# 若想永久添加可以在前面加上-p,但不建议,听说有bug

这样就可以将公司服务器的流量定向到公司vpn中解析,换成网页也一样。

删除配置的路由设置

不加-p的话一般重启后就失效了,但是若你加了,等不需要的时候就需要使用

route delete xxx.xxx.xxx.xxx(服务器ip)

来删除路由配置,恢复原来的样子

后记

当然,不止是vpn。当你在使用两个网络,想用这俩网络分配跑不同的ip应用时就可以这样。

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

无论在未来前做什么,未来都会普通的到来