常见的上网外设有有线以太网、WIFI、4G/5G等接口,一块硬件主板经常会搭载多种网络访问硬件资源。如何配置不同网络外设的使用优先级呢?本文将为您介绍Linux系统下的常用配置方法。 测试环境:HDG2L-IOT评估套件,搭载双千兆网、4G CAT1模组;运行Ubuntu系统,内核版本5.10 。具体操作步骤见下文。
图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分别设置优先级。
- 最后使用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的网络延时接近时不可使用此方法。
|