最近遇到一个烦恼就是内外网访问的问题,出差佛山之后这边竟然有外网了,自然是很开心地使用上了外网。但是有时候我们还是需要访问下内网服务比如说:考勤、出差的办理等。这时候通常就需要先关闭无线网络,然后再插上网上用本地连接。这样就非常的繁琐,用内网的时候就访问不了外网服务,用外网的时候就访问不到内网的服务。
解决办法
这里我们通过配置电脑中的路由规则,通过route命令来指定网段使用特定的线路来访问。route命令的基本语法为:ROUTE [-f] [-p] [-4|-6] command [destination] [MASK mask] [gateway] [METRIC metric] [IF interface],其中参数[-f] 为清除所有网关项的路由表,[-p] 增加永久路由。[-4] 指IPv4网络地址,[-6] 指IPv6网络地址,[command] 指具体的操作:print、 add、 delete、 change,[destination] 为目标地址,[mask] 为子网掩码,[gateway] 为网关,[metric] 指跳越数,[if] 为网卡号。
分析路由
首先我们先来分析路由情况,用管理员身份运行CMD并输入指令:route print就可以打印路由表。目前主流的还是IPV4协议,所以我们主要看IPV4协议的内容。在路由表中【网络目标】指可以访问的网段(0.0.0.0为所有网段),【子网掩码】指路由器能够访问到的地址类,【网关】是网络连接的“关口”,【接口】指路由器分配给网卡的IP地址,【跃点数】指传输过程中需要经过多个网络层。
配置route
根据路由分析我们可以通过添加永久路由来解决内外网同时访问的问题,用管理员身份运行CMD并输入指令:route add -p ***来实现即可。让内网服务走内网网关,外网服务走外网网关。
- 内网永久访问路由:route add -p 10.188.136.240 mask 255.255.255.0 10.188.136.1
- 外网永久访问路由:route add -p 192.168.10.56 mask 255.255.255.0 192.168.10.1
再用管理员身份运行CMD并输入指令:route print查看路由表可以看到多了两条永久静态路由,跃点数如果不指定默认为1。
配置路由之后测试发现内网还是无法访问,删除之前的内网访问路由:route delete 0.0.0.0试试。还是不行….,断开无线后试了下也不行了?于是我改了路由配置,添加的路由的可访问范围。问题还是没能解决,看来问题不在这里了。
- 内网永久访问路由:route add -p 10.0.0.0 mask 255.0.0.0 10.188.136.1
- 外网永久访问路由:route add -p 192.0.0.0 mask 255.0.0.0 192.168.10.1
网络优先级
研究了很久才发现是网络优先级的问题, 我的笔记本默认使用了WiFi作为优先链接。所以这里我们需要修改优先级,将有线网络的优先级提高。这里我们可以通过修改【跃点数】来实现,【跃点数】表示数据在传输过程中需要经过多个网络,【跃点数】越低说明网络越可靠。进入网络和共享中心–>更改适配器设置,分别在有线和无线连接上点右键“属性”,双击【Internet协议版本4(TCP/IPv4)】–>点击右下角的【高级】,然后取消勾选“IP设置”标签页下面的【自动跃点】,希望哪个在前面数值就输入小点,这样就是高优先级连。