openEuler Embedded网络配置¶
本文档将以树莓派4B配置为例,介绍如何在openEuler Embedded系统中配置网络,其它平台上的配置方法与树莓派类似。
有线网络配置¶
Note
根据使用的 init 程序,openEuler Embedded 提供了不同的网络配置管理:
针对 busybox 镜像,使用
/etc/network/interfaces
实现基础的网络配置。针对 systemd 镜像,使用
systemd-networkd
进行网络配置。
可以通过 ls -l $(which init)
确认您当前使用的镜像类型,并采用对应的网络配置方法。
1. 使用 /etc/network/interfaces 进行网络配置¶
动态获取IP地址
如果树莓派通过网线连接了路由器,在树莓派启动时,会通过 dhclient 服务来获取IP。
因为在
/etc/network/interfaces
文件中,有线网卡默认的配置是通过DHCP自动获取,即:# Wired or wireless interfaces auto eth0 # 系统启动后默认开启eth0网卡 iface eth0 inet dhcp # eth0 网卡使用DHCP来获取IP地址 iface eth1 inet dhcp
配置静态IP地址
如果网线另一端设备未提供DHCP服务时,此时需要在两端设备上同时配置静态IP才能正常通信。
临时配置:
在两端同时配置IP地址, 确保在同一子网中即可通信
$ ifconfig <有线网卡名称> 192.168.10.x
永久配置:
修改
/etc/network/interfaces
文件,为对应的有线网卡配置静态IP,以eth0为例:# 删除 iface eth0 inet dhcp,并配置静态IP: iface eth0 inet static # eth0 网卡使用静态IP地址 address 192.168.10.x # IP地址 netmask 255.255.255.0 gateway 192.168.10.1
修改成功后, 需要重启networking service更新配置文件:
$ service networking restart
更新配置文件后如果有线网卡没有自动启用的话, 可以手动使用命令up/down
ifdown eth0 ifup eth0
最后可以通过ifconfig查看对应网卡的IP地址
root@raspberrypi4-64:~# ifconfig eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:192.168.10.x Bcast:0.0.0.0 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:277 errors:0 dropped:0 overruns:0 frame:0 TX packets:157 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:30734 (30.0 KiB) TX bytes:23751 (23.1 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:2 errors:0 dropped:0 overruns:0 frame:0 TX packets:2 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:140 (140.0 B) TX bytes:140 (140.0 B)
See also
关于
/etc/network/interfaces
的详细解释,可以参考 network interface manpage。
2. 使用 systemd-networkd 进行网络配置¶
systemd-networkd.service 使用 .network
单元来进行网络配置,示例如下:
动态获取IP地址
# 1. 创建 eth0 对应的 network unit,并修改权限: $ cd /etc/systemd/network $ touch 50-eth0.network $ chmod 644 50-eth0.network # 2. 修改该文件,为 eth0 开启 DHCP: # 注意:[Match] 下的 Name 需要与网卡名称匹配。 $ vi 50-eth0.network [Match] Name=eth0 [Network] DHCP=yes # 3. 重启systemd服务,使网络配置生效: $ systemctl enable --now systemd-networkd # 4. 确认网络配置是否成功: $ ifconfig eth0
配置静态IP地址
# 1. 创建 eth0 对应的 network unit,并修改权限: $ cd /etc/systemd/network $ touch 50-eth0.network $ chmod 644 50-eth0.network # 2. 修改该文件,为 eth0 配置静态IP地址。 # 注意:[Match] 下的 Name 需要与网卡名称匹配。 $ vi 50-eth0.network [Match] Name=eth0 [Network] DHCP=no Address=192.168.10.8/24 # 3. 重启systemd服务,使网络配置生效: $ systemctl enable --now systemd-networkd # 4. 确认网络配置是否成功: $ ifconfig eth0
See also
关于
systemd network
的详细解释,可以参考 systemd network manpage。
Wi-Fi网络配置¶
Attention
当前只有22.09之后的版本默认支持以下方式配置Wi-Fi
当前树莓派Wi-Fi网络配置包括三部分: 1.使能无线驱动 2.增加Wi-Fi配置 3.启用Wi-Fi网卡
使能无线驱动
修改/etc/network/interfaces文件中无线网卡wlan0的配置
iface wlan0 inet dhcp wireless_mode managed wireless_essid any wpa-driver wext wpa-conf /etc/wpa_supplicant.conf # 当前树莓派所使用的无线网卡驱动是 nl80211系列 # 因此将wpa-driver wext 改为 wpa-driver nl80211 # 才能正确启动wpa_supplicant iface wlan0 inet dhcp wireless_mode managed wireless_essid any wpa-driver nl80211 wpa-conf /etc/wpa_supplicant.conf
修改完成后重启networking service使配置生效
增加Wi-Fi配置
通过wpa_supplicant配置文件增加Wi-Fi网络
Note
wpa_supplicant 是一款开源用户态软件, 其主要功能是提供用户和Wi-Fi驱动之间沟通的桥梁, 以及对Wi-Fi协议和加密认证. 是目前使用范围较广的Wi-Fi配置工具, 也还有其他配置工具wireless-tools, 当前openEuler Embedded仅引入wpa_supplicant工具.
修改wpa_supplicant启动时所指定的配置文件/etc/wpa_supplicant.conf, 增加如下network字段的配置, 最简单的network配置可以只需要ssid和psk字段即可. 其他高级选项和字段可以参考: wpa_supplicant官网文档
network={ # ssid Wi-Fi网络名称 ssid="home" # psk Wi-Fi网络密码 psk="very secret passphrase" # 可选, 隐藏的网络必须指定为1 scan_ssid=1 # 加密类型协议, 可选, 无此字段时会默认包含 WPA-PSK WPA-EAP key_mgmt=WPA-PSK }
如果担心配置文件中明文密码泄漏, 可以使用wpa_passphrase工具加密后再写入配置文件即可, 其用法为: wpa_passphrase <ssid> <psk>
wpa_passphrase test 12345678 # 工具会输出如下形式, 将加密后的psk复制到配置文件中, 删除明文即可 network={ ssid="test" #psk="12345678" psk=fe727aa8b64ac9b3f54c72432da14faed933ea511ecab15bbc6c52e7522f709a }
启用Wi-Fi网卡
使用ifup启动Wi-Fi连接并自动获取IP地址
root@raspberrypi4-64:~# ifup wlan0 Successfully initialized wpa_supplicant
使用ifconfig命令查看wlan0网卡, 已经具有IP地址, 并可以正常通信
root@raspberrypi4-64:~# ifconfig eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:192.168.10.x Bcast:0.0.0.0 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:565 errors:0 dropped:0 overruns:0 frame:0 TX packets:425 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:73072 (71.3 KiB) TX bytes:51915 (50.6 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:2 errors:0 dropped:0 overruns:0 frame:0 TX packets:2 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:140 (140.0 B) TX bytes:140 (140.0 B) wlan0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:192.168.43.x Bcast:192.168.43.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2 errors:0 dropped:0 overruns:0 frame:0 TX packets:2 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:365 (365.0 B) TX bytes:432 (432.0 B)
Attention
当修改/etc/wpa_supplicant.conf配置文件后, 例如新增Wi-Fi网络配置或修改Wi-Fi网络配置, 需要使用ifdown wlan0来关闭网卡, ifup wlan0开启网卡使wpa_supplicant配置重新加载生效