树莓派Ubuntu 20.04网络设置
参考文档:Wi-Fi or Ethernet
参考文档:树莓派Ubuntu网络设置
参考文档:Netplan——新一代网络配置工具
参考文档:Netpan官方文档
1. 网络设置工具
- Netplan 即抽象网络配置生成器,是一个用于配置 Linux 网络的简单工具。Netplan 从
/etc/netplan/*.yaml
中读取配置信息,根据配置信息 Netplan 即可生成所需要的配置。从而忽略底层管理工具之间的区别。 - Netplan 采用
NetworkManager
和Systemd-networkd
两种网络管理工具。Ubuntu默认使用 Netplan 结合Systemd-networkd
来完成网络设置。
2. 首次开机前连接Wi-Fi
2.1 配置Wi-Fi设置
编辑SD卡的 system-boot
分区中的 network-config
文件,去除掉以下段落的注释符号 #
类似如下:
注意:务必保证正确的缩进,且网络名称和密码必须用引号引起来。
wifis:
wlan0:
access-points:
"SSID":
password: "Password"
dhcp4: true
optional: true
2.2 配置Wi-Fi的静态IP地址
DHCP 自动获取需要修改为 no,相同的结构适用于文件中的 eth0 或 wlan0 部分:
# wlan0 配置
wifis:
wlan0:
access-points:
"SSID":
password: "Password"
dhcp4: false
optional: true
addresses: [192.168.3.224/24]
gateway4: 192.168.3.1
nameservers:
addresses: [192.168.3.1]
也可以同时配置有线网络的静态IP(配置格式类似),当连接网线时即可生效:
ethernets:
eth0:
dhcp4: false
optional: true
addresses: [10.0.0.2/24]
gateway4: 10.0.0.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
注意:在第一次启动期间,树莓派将尝试连接到此网络。它会在第一次失败。只需重新启动,它就会工作。开机后在
/etc/netplan/50-cloud-init.yaml
配置文件内可以看到配置内容。补充:
yaml
文件是一种比较新的配置文件格式,使用缩进代表层级关系,需要注意的是缩进只能使用空格不允许使用Tab
缩进 ,不考虑空格数量但同一级的字段要对齐,冒号后面要带上空格(键和值之间),注释用#
表示。常用的其他配置文件格式有ini
、xml
、json
。
3 非首次开机时配置Wi-Fi和有线网络
- 这里使用系统默认的网络管理工具
Systemd-networkd
来配置网络,由于使用NetworkManager
来配置网络需要额外安装组件,浪费系统内存资源,且完成的工作相同。 - Netplan 操作命令提供两个子命令:
netplan generate
:以/etc/netplan
配置为管理工具生成配置;
netplan apply
:应用配置(以便生效),必要时重启管理工具; - 需提前将系统默认生成
/etc/netplan/50-cloud-init.yaml
做备份后删除原文件。 - 其中
renderer: networkd
代表所使用的网络管理工具为networkd
;若使用NetworkManager
则写成renderer: NetworkManager
。
3.1 配置Wi-Fi设置
配置
/etc/netplan/01-wifi.yaml
network:
version: 2
renderer: networkd
wifis:
wlan0:
access-points:
"SSID":
password: "Password"
dhcp4: false
optional: true
addresses: [192.168.3.224/24]
gateway4: 192.168.3.1
nameservers:
addresses: [192.168.3.1]
使用
sudo netplan apply
应用配置
3.2 配置有线网络设置
配置
/etc/netplan/02-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: false
optional: true
addresses: [10.0.0.2/24]
gateway4: 10.0.0.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
使用
sudo netplan apply
应用配置