场景1:
在实车上测试车机连接路由器的性能,车机连接着以太网,但是以太网没有网
然后车机通过WIFI连接一个路由器,电脑也连接路由器,突然发现车机通过路由器无法ping通路由器下的电脑,而且也ping不通路由器本身的192.168.31.1,更诡异的是从电脑ping 车机可以ping通;
再次测试,手机开热点,车机连接手机热点,电脑也连接手机热点,车机和电脑能互相ping通
通过分析:
此时车机ip rule命令下以太网的策略路由在前,wlan0的策略路由在后,以太网的网段在172.25.0.0,以太网策略和wlan0的策略里都有默认规则,此时以太网在前,所以 ping路由器192.168.31.1,走的网卡是以太网,可以它通过tcpdump来确认
此时为了单独测试车上wifi的性能,在策略策略路由前加一条特殊的规则:
ip route add 192.168.31.0/24 dev wlan0 proto static scope link table 31
ip rule add from all to 192.168.31.0/24 lookup 31
这样在192.168.31.0网段下,就不受制于以太网和wlan的切换的影响
注意:
1、又做了如下测试,我在本地接了以太网转换盒子,以太网link上,但是跟其他设备不通,
此时连接没有网络的路由器,以太网的策略路由也是在wlan0前面,但是就能正常ping 192.168.31.1及路由器下的设备,暂时没有想通
2、最上面的场景,尝试将以太网的策略路由删除,发现第一次删不会删掉,第二次虽然ip rule不显示以太网的策略路由了,但是依然ping不通192.168.31.1,甚至出现unreachable