嵌入式爱好者

多网口调整优先级同时上网

2021-12-28 09:33| 发布者: xhh| 查看: 744| 评论: 0

类目: I.MX6系列产品  >  Linux     文档编号: 584

在有线,4Gwifi多个网络接入开发板的情况下,路由表中就会存在多个默认网关

我们如果需要某一个线路优先可以上外网,我们需要修改路由规则,修改完后的路由规则是可以保证指定网卡的时候某一路也可以ping通外网。不过可能会存在优先级较低线路ping域名,数据包不返回的情况,原因是默认开启了反向路径校验,对每个进来的数据包校验其反向路径是否为最佳路径,如果反向路径不是最佳路径,则丢弃该数据包。

可以修改/etc/sysctl.conf。将这两个字段的1改为0关闭源地址校验

这个是默认多网络接入开发板的路由表

可以看到以太网、4Gwifi的路由信息都自动生成了。如果访问外网,系统会根据路由缓存信息和速度最优的原则,通过速度更快的网关进行访问。Linux系统支持对默认网关的优先级进行设置,这时需要用到metric这个参数,metric为跃点数,当系统中有多个默认网关时,数据包会通过metric更低的接口传输。

目前可以看到的是eth0metric最低排在最前面,目前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

再次查看路由表,eth24G节点)的metric0/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的优先级调整,并且eth2metric10一直存在,wlan0已经是最高的优先级,此时数据包优先通过wlan0通讯


已解决

未解决

只是看看

最新评论

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-23 02:46

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部