ARM板有多网络设备时,如何配置其上网优先级?

2022-08-30 16:52:07 浏览数 (1)

常见的上网外设有以太网、WIFI、4G/5G等接口,一块硬件主板经常会搭载多种网络访问硬件资源。如何配置不同网络外设的使用优先级呢?本文将为您介绍Linux系统下的常用配置方法。

测试环境:HDG2L-IOT评估套件,搭载双千兆网、4G CAT1模组;运行Ubuntu系统,内核版本5.10 。具体操作步骤见下文。

HDG2L-IOT套件HDG2L-IOT套件

图1 HDG2L-IOT套件

1、获取IP地址

网络设备获取IP地址。固定IP模式下略过此步骤,自动IP模式下执行以下操作。

  • 将以太网,wifi连接上网络
  • 使用udhcpc -i eth0 -q命令,让以太自动寻找IP
  • 进入到/home/wifi目录,执行wifi.sh,让wifi接入路由器;一路千兆网口与路由器保持正常连接。

2、查看路由信息表

使用route命令查看路由信息,可以看到以太网eth0和wifi网络wlan0的路由信息都自动生成了,而且存在两个默认网关。如果访问外网,系统会根据路由缓存信息和速度最优的原则,通过速度更快的网关进行访问。

路由表路由表

图2 路由表

3、修改网关优先级

Linux系统支持对默认网关的优先级进行设置,这时需要用到mteric这个参数。当系统中有多个默认网关时,数据包会通过metric更低的接口传输,通常情况下,默认的metric都为0,所以优先级是相同的。

配置网关优先级即配置网络设备的metric值,下面我们就为eth0和wlan0分别设置优先级。

  • 首先将metric值为0的默认网关删除:

route del default gw 192.168.20.1 dev eth0

route del default gw 192.168.30.1 dev wlan0

  • 然后重新设置默认网关和metric:

route add default gw 192.168.30.1 dev wlan0 metric 10

route add default gw 192.168.20.1 dev eth0 metric 20

  • 最后使用route命令查看网关,可以看到wifi的wlan0和以太eth0的metric 的值分别为10和20,配置优先级成功。
优先级配置优先级配置

图3 优先级配置

4、验证优先级

验证优先级的方法有很多,此处提供一个较为简单易用的方法。

使用ping 114.114.114.114 -I wlan0和ping 114.114.114.114 -I eth0命令可以分别获取wlan0、eth0的网络延时,使用ping 114.114.114.114 可以获取当前默认上网设备的网络延时,两者的值进行对比可验证配置结论。

注意:此方法有局限性,wlan0、eth0的网络延时接近时不可使用此方法。

0 人点赞