双网卡双网段路由设置同时访问内外网

现象

电脑通过VPN访问公司服务器的内网时无法访问互联网

原因

如果你电脑同时装了双网卡(包括无线网卡),且分别属于不直接相连的网段,此时如果在两个属性里都设了网关,Windows只认其中一个导致两
个网段不能同时上。由于windows系统不支持共用路由问题(server级别除外),所以在同一时间不能同时上两个网。

解决办法

Windows也是有路由表的,只不过大家平时上网的时候大多数是用一块网卡,很少用到路由概念

如果是两块网卡,那就有两条默认路由,虽然两条默认路由的有着不同的Metric(Metric即跃点数,值越小优先级越高),然而windows还没聪明到能够首辨认哪条路由到外网网关,哪条路由到内网网关。它所能做的就是找一条路由作为全部数据包的出口,至于选择的对错与否,那它就不再过问了。

那怎么办呢?办法就是人为操控windows的路由表,来告诉它,哪个网卡ip是走哪个网关。

VPN TCP/IP高级设置

设置VPN网络TCP/IPv4高级IP设置,取消勾选“在远程网络上使用默认网关”选项。

图例

添加永久路由

通过使用route命令内网地址永久性地默认通过内网网关

例如网络情况如下:

IP 子网掩码 网关 类型
10.28.52.83 255.255.255.0 10.28.52.1 内网
172.16.16.138 255.255.255.0 172.16.16.1 外网
  • 打开cmd命令行窗口
  • 输入route print就可以看见windows路由表
  • 路由添加命令
1
2
3
4
#-p命令 永久保存
route -p add 10.28.52.0 mask 255.255.255.0 10.28.52.1
#外网没有设网关或者设置了自动获取的外网可以不加
route -p add 172.16.16.0 mask 255.255.255.0 172.16.16.1

如果需要删除添加的路由使用如下命令

1
route delete 10.28.52.0  删除添加的网关