前言
这两天有个朋友公司有这麽一个情况,有个客户部署环境网络使用的是专线,完全内网,无法外网访问,确实安全,系统是Windows;离他们公司也很远,每次有问题都得开车7、8个小时才能到现场,酒店也不好找,来回一次开销不小;所以朋友就想能不能在有问题时,能远程解决问题。
朋友立刻想到了USB快捷wifi网卡,里面插电话卡的那种,这卡的话费相比每次来回开销毛毛雨。
眼看网卡到了,兴奋的插上,习惯性打开浏览器….baidu.com,嘿,百度一下。。。成了。。
就在这时转头看了下系统大屏(实时的),问题出来了,看板数据没有了。
出于回滚的思路,朋友马上把wifi网卡拔掉了,嘿。。看板数据恢复了。
基于这两个现象描述,我简单判断为网络层的问题。
查看全部路由
接下来我让朋友把wifi卡插上,然后终端
route print网络目标 网络掩码 网关 接口 跃点数 0.0.0.0 0.0.0.0 192.168.216.1 192.168.216.100 291 0.0.0.0 0.0.0.0 62.65.32.1 62.65.32.94 281明显“0.0.0.0”两条路由冲突,然后数据到了机器后,机器不知道发给哪个,所以大屏就没有数据了
查看网卡信息:
ifconfig以太网适配器 xxx 2: 连接特定的 DNS 后缀 . . . . . . . : 本地链接 IPv6 地址. . . . . . . . : x::x:x:x:x IPv4 地址 . . . . . . . . . . . . : 62.65.32.94 子网掩码 . . . . . . . . . . . . : 255.255.255.128 默认网关. . . . . . . . . . . . . : 62.65.32.1 以太网适配器 以太网: 连接特定的 DNS 后缀 . . . . . . . : 本地链接 IPv6 地址. . . . . . . . : x::x:x:x:x IPv4 地址 . . . . . . . . . . . . : 192.168.216.100 子网掩码 . . . . . . . . . . . . : 255.255.255.0 默认网关. . . . . . . . . . . . . : 192.168.216.1解决路由冲突:内网和外网使用不同的网卡
接下来,我让朋友先把wifi的网卡改成静态IP(之前默认是DHCP)
然后,删除这两条路由:
route delete 0.0.0.0然后,添加
0.0.0.0路由,加-p防止丢失route -p add 0.0.0.0 mask 0.0.0.0 192.168.216.1然后,添加
62.65.0.0路由,同时也加-proute -p add 62.65.0.0 mask 255.255.0.0 62.65.32.1这时看数据看板就有数据
但是还没完,还需要访问另外一个系统,ip是
172.19.39.99,这个时候又访问不通了,再没有这个wifi网卡时是可以访问的,由此可以得到,之前访问Ip时,默认路由0.0.0.0是内网。此刻默认路由设置的是这个wifi的,所以无法访问到172.19.39.99。指定网段走指定网卡
那么就在加一条
172.19.39.0路由route -p add 172.19.39.0 mask 255.255.255.0 62.65.32.1此时,再使用浏览器,就可以访问了。
这里是win的OS,其他的OS遇到此类问题同样可以使用此思路。
扩展
- route | Microsoft Learn
- Mac环境需要使用
netstat -nr代替route print,具体可以查看Mac OS路由设置常命令 - route(8) - Linux manual page (man7.org)