0x01 实际情景
WiFi 网卡连接的是手机热点,内网是通过网线连接。
当前情况是:如果连接内网的网线,笔记本在内网当中是正常访问的,但是我想通过我的WIFI网卡连接手机热点或者其他互联网WIFI实现网络,实现内网和外网同时访问。
0x02 解决过程
我查询了一些资料,发现写的都过于复杂,大体上都是先删除本地的所有永久路由信息,然后再手动配置。
可详见这两篇文章:
-
但是对于我这个对windows系统路由表不太熟悉的同学呢,防止删除默认路由表后无法本机无法访问互联网的问题。我选取直接添加临时路由表的方法。
经检查,笔记本电脑先连接网线,后连接WIFI,则会导致,内网无法访问,是由于所有流量都走了互联网的那个网关。
那为什么先走了互联网的网关呢,而不是先走内网网关呢,
通过cmd输入命令”route print“查看ipv4路由表发现,有两个默认网关:
IPv4 路由表
===================================================================
活动路由:
网络目标 网络掩码 网关 接口 跃点数
0.0.0.0 0.0.0.0 10.1.13.1 10.1.13.3 291
0.0.0.0 0.0.0.0 192.168.43.240 192.168.43.143 50
...........
#省略无关路由信息
不难发现手机热点的互联网网关192.168.43.240的跃点数较小。
补充windows路由网关的优先级规则:
- 系统通常会根据接口的“跃点数”(metric)自动选择使用的网关。跃点数低的接口会优先使用。
- 你可以通过设置网络连接的跃点数,来控制优先使用哪个网关。
0x03 解决方法
方法一 添加临时路由条目
内网,我的需求是访问这两个网段,那么我直接添加两条临时路由条目好了
route add 10.1.1.0 mask 255.255.255.0 10.1.13.1
route add 10.1.2.0 mask 255.255.255.0 10.1.13.1
执行完成之后,查询路由表。可以看到这两条路由的跳跃点数小,优先级高,直接解决内网无法访问10.1.1.0和10.1.2.0网段的路由问题。
IPv4 路由表
===================================================================
活动路由:
网络目标 网络掩码 网关 接口 跃点数
0.0.0.0 0.0.0.0 10.1.13.1 10.1.13.3 291
0.0.0.0 0.0.0.0 192.168.43.240 192.168.43.143 50
10.1.1.0 255.255.255.0 10.1.13.1 10.1.13.3 36
10.1.2.0 255.255.255.255 10.1.13.1 10.1.13.3 36
...........
#省略无关路由信息
除了添加临时路由条目之外,还可以用-p添加为永久路由表。
方法二 修改默认路由优先级
修改路由表的默认路由优先级,将内网网关的跃点数,改小,优先级调高。
修改办法详见这篇文章:Windows下同时使用多网卡时的跃点数修改-CSDN博客