WiFi模块和其他网络接口同时使用时如何配置开发者套件优先使用WiFi路由
现象描述
首次通过WiFi模块配置开发者套件连接网络时,需要通过接口方式连接开发者套件,配置WiFi。此时如果有线连接已经配置了网关,使用route -n命令查询结果如下。以开发者套件IP“192.168.137.100”为例,为WIFI配置的网关优先级低于默认网口网关。

解决方案
若用户仅需要在此次开机使用时,临时通过WiFi访问外网,请依次执行以下命令。
route del -net default gw 192.168.137.1 # 删除网口网关 route del -net default gw 192.168.43.1 # 删除已配置的WiFi网关 route add -net default gw 192.168.43.1 # 重新配置WiFi网关
运行完成后重新执行route -n查询网关配置。

此时,开发者套件将通过WiFi的网关“192.168.43.1”访问外网了。
若用户希望此配置永久生效,需要按照以下步骤修改配置文件,以有线连接网关为“192.168.137.1”和WiFi网关为“192.168.43.1”为例。
Ubuntu操作系统:
执行以下命令查看WiFi模块的mac地址。
ifconfig -a
如图中红框所示,该WiFi模块的mac地址为“08:be:ac:2c:b4:2a”。
修改配置文件: 修改“/etc/udev/rules.d/70-persistent-net.rules”文件的内容。
执行以下命令打开或者新建“/etc/udev/rules.d/70-persistent-net.rules”文件。
vi /etc/udev/rules.d/70-persistent-net.rules
将以下内容追加或者写入到文件中。
将ATTR
{address}的值修改为1获得的mac地址。SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:be:ac:2c:b4:2a", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"执行
wq:保存后退出,该操作可为WiFi模块绑定一个Interface名称“wlan0”,方便后续修改“/etc/netplan/01-netcfg.yaml”网络配置文件。执行以下命令打开“/etc/netplan/01-netcfg.yaml”文件。
vi /etc/netplan/01-netcfg.yaml
在文件底部添加如下内容:wifis:
wlan0:
dhcp4: yes
dhcp6: yes
routes:
- to: default
via: 192.168.43.1
metric: 0
access-points:
WiFi_name:
password: WiFi_password将WiFi名称和对应密码填入代码块加粗位置。
说明- WiFi名称如有空格等特殊字符请将WiFi名称用英文双引号引用,其他情况WiFi名称和对应密码无需加入双引号。
- wlan0即为2.b中配置的wlan0,用户可自行修改名称,但需与设置的名 称对应。
修改网关“192.168.137.1”对应的eth1的配置,修改-to参数为WiFi网关。
eth1:
dhcp4: no
addresses: [192.168.137.100/24]
routes:
- to: 192.168.43.1
via: 192.168.137.1
nameservers:
addresses: [8.8.8.8]
addresses: [114.114.114.114]完整配置文件样例如下:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: yes
nameservers:
addresses: [8.8.8.8]
addresses: [114.114.114.114]
eth1:
dhcp4: no
addresses: [192.168.137.100/24]
routes:
- to: 192.168.43.1
via: 192.168.137.1
nameservers:
addresses: [8.8.8.8]
addresses: [114.114.114.114]
usb0:
dhcp4: no
addresses: [192.168.0.2/24]
wifis:
wlan0:
dhcp4: yes
dhcp6: yes
routes:
- to: default
via: 192.168.43.1
metric: 0
access-points:
WiFi_name:
password: WiFi_password在开发者套件命令行执行reboot重启并生效配置。
须知- 若需要重新使用有线网络,需将有线网络的“- to”参数修改为default,同时WiFi的“- to”参数也需修改,修改方法不做限制,保证路由网络联络通畅即可。
- 修改配置文件中“Metric”参数的值可引导路由优先级选择不同的网关,值越小,优先级越高。但修改后容易造成路由配置不正确,出现默认网关为空的情况,请谨慎使用。
openEuler操作系统:
用户在任意目录下执行以下命令。
nmcli con mod SSID +ipv4.routes inet/netmask Gateway Metric
说明- SSID参数填写WiFi的名称,可以通过nmcli dev wifi list命令查看;
- inet参数为WiFi ip地址,可以通过ifconfig -a命令查看;
- netmask参数填写子网掩码,可以填写0;
- Gateway参数为路由ip地址,根据用户需要自行填写;
- Metric为网络优先级,越低代表优先级越高,可选项。
执行以下命令进行网络配置。
systemctl restart NetworkManager
说明更多网络配置详情请参见《OpenEuler 网络配置》章节。