如何在 Ubuntu 上使用 Netplan 配置网络接口

Netplan 是一个现代网络配置工具,于 Ubuntu 17.10 中引入,并在之后的 Ubuntu 18.04 及更高版本中被采纳为管理网络接口的默认工具。凭借其基于 YAML 的配置文件,Netplan 简化了管理复杂网络设置的过程,为底层工具(如 systemd-networkd 和 NetworkManager)提供了无缝接口。
在本指南中,我们将引导您完成使用 Netplan 配置网络接口的过程,从理解其核心概念到排除潜在问题。到最后,您将能够处理 Ubuntu 系统上的基本和高级网络配置。
了解 Netplan
Netplan 作为一个统一的网络配置工具,允许管理员使用声明性 YAML 文件管理网络。这些配置由渲染器应用,例如
-
systemd-networkd:非常适合服务器环境。
-
NetworkManager:常用于桌面设置。
Netplan 的主要优点包括
-
简洁性:基于 YAML 的语法降低了复杂性。
-
一致性:所有接口的单个配置文件。
-
灵活性:支持简单和高级网络场景,如 VLAN 和桥接。
先决条件
在深入 Netplan 之前,请确保您拥有以下条件
-
受支持的 Ubuntu 系统(18.04 或更高版本)。
-
管理权限(sudo 访问权限)。
-
网络接口和 YAML 语法的基本知识。
定位 Netplan 配置文件
Netplan 配置文件存储在 /etc/netplan/
中。这些文件通常以 .yaml
扩展名结尾,可能包括诸如 01-netcfg.yaml
或 50-cloud-init.yaml
等文件名。
-
备份现有配置:在进行更改之前,使用以下命令创建备份
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
-
YAML 语法规则:YAML 对缩进敏感。始终使用空格(而不是制表符)进行缩进。
使用 Netplan 配置网络接口
以下是如何使用 Netplan 配置不同类型的网络接口。
步骤 1:识别网络接口在修改配置之前,使用以下命令识别可用的网络接口
ip a
此命令列出所有网络接口及其当前状态(例如,enp0s3
、eth0
、wlan0
)。
使用文本编辑器打开所需的配置文件。例如
sudo nano /etc/netplan/01-netcfg.yaml
步骤 3:配置常见场景
1. 动态主机配置协议 (DHCP)
要配置接口以通过 DHCP 动态获取 IP 地址
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: true
2. 静态 IP 地址
要为接口分配静态 IP 地址
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
3. Wi-Fi 配置
对于 Wi-Fi 接口,包括 SSID 和密码
network:
version: 2
renderer: networkd
wifis:
wlan0:
access-points:
"YourSSID":
password: "YourPassword"
dhcp4: true
4. 多个接口
要在单个文件中配置多个接口
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: true
enp0s8:
addresses:
- 192.168.2.100/24
gateway4: 192.168.2.1
应用和测试配置
编辑配置文件后,使用以下命令应用更改
sudo netplan apply
测试配置
-
验证接口状态:
ip a
-
检查连接性:
ping -c 4 google.com
netplan try
进行安全测试
netplan try
命令临时应用更改一段设定的时间(例如,120 秒)。如果您未能确认配置,它将恢复到之前的状态
sudo netplan try
高级配置
VLANnetwork:
version: 2
ethernets:
enp0s3:
dhcp4: no
vlans:
vlan10:
id: 10
link: enp0s3
addresses:
- 192.168.10.1/24
桥接
network:
version: 2
bridges:
br0:
dhcp4: true
interfaces:
- enp0s3
故障排除
常见问题和修复-
YAML 语法错误:
-
使用
yamllint
验证您的文件sudo apt install yamllint yamllint /etc/netplan/01-netcfg.yaml
-
-
连接问题:
-
使用
ip a
验证接口配置。 -
检查日志以查找错误
journalctl -u systemd-networkd
-
-
回滚更改:
-
恢复备份配置
sudo mv /etc/netplan/01-netcfg.yaml.bak /etc/netplan/01-netcfg.yaml sudo netplan apply
-
结论
Netplan 简化了 Ubuntu 上的网络配置,为管理网络接口提供了一致且直观的方法。无论您是配置基本的 DHCP 还是 VLAN 和桥接等高级设置,Netplan 基于 YAML 的语法都使其对新手和经验丰富的管理员都易于使用。
通过掌握本指南中概述的步骤,您将能够很好地处理各种网络场景,确保您的 Ubuntu 系统始终处于最佳配置状态。