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”参数的值可引导路由优先级选择不同的网关,值越小,优先级越高。但修改后容易造成路由配置不正确,出现默认网关为空的情况,请谨慎使用。
- 执行以下命令打开或者新建“/etc/udev/rules.d/70-persistent-net.rules”文件。
- 执行以下命令查看WiFi模块的mac地址。
- 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
- 用户在任意目录下执行以下命令。
- Ubuntu操作系统:
父主题: 开发者套件启动、登录与联网