在有线,4G,wifi多个网络接入开发板的情况下,路由表中就会存在多个默认网关 我们如果需要某一个线路优先可以上外网,我们需要修改路由规则,修改完后的路由规则是可以保证指定网卡的时候某一路也可以ping通外网。不过可能会存在优先级较低线路ping域名,数据包不返回的情况,原因是默认开启了反向路径校验,对每个进来的数据包校验其反向路径是否为最佳路径,如果反向路径不是最佳路径,则丢弃该数据包。 可以修改/etc/sysctl.conf。将这两个字段的1改为0关闭源地址校验。 这个是默认多网络接入开发板的路由表 可以看到以太网、4G和wifi的路由信息都自动生成了。如果访问外网,系统会根据路由缓存信息和速度最优的原则,通过速度更快的网关进行访问。Linux系统支持对默认网关的优先级进行设置,这时需要用到metric这个参数,metric为跃点数,当系统中有多个默认网关时,数据包会通过metric更低的接口传输。 目前可以看到的是eth0的metric最低排在最前面,目前eth0优先级最高,数据包就会优先通过eth0通讯 如果我们希望数据包优先通过4G,可以调整优先级 删除优先级最高的eth0 route del default gw 172.16.0.1 dev eth0 下调优先级 route add default gw 172.16.0.1 dev eth0 metric 11 再次查看路由表,eth2(4G节点)的metric为0/10小于eth0,数据包优先通过4G通讯。 如果我们希望数据包优先通过wlan0,同理。 我们可以从上图看到wlan0目前还不是默认网关,我们首先把wlan0设为默认网关 route add default gw 192.168.4.1 dev wlan0 删除优先级最高的eth2 route del default gw 10.110.19.65 dev eth2 metric 0 此时查看路由表,由于前面已经做过eth0的优先级调整,并且eth2的metric10一直存在,wlan0已经是最高的优先级,此时数据包优先通过wlan0通讯 |
|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )
GMT+8, 2024-11-23 02:46
Powered by Discuz! X3.4
© 2001-2013 Comsenz Inc.