如何使用 Netplan 在 Ubuntu 上配置网络
Netplan 是所有最新 Ubuntu 版本中的 Ubuntu 网络配置工具。 Netplan基于基于YAML的配置系统,简化了配置过程。它取代了我们在 Ubuntu 和其他 Linux 发行版中用于配置网络接口的旧配置文件 /etc/network/interfaces。
在本教程中,您将学习如何使用 Netplan 在 Ubuntu 中配置网络。我们将了解静态和动态 IP 配置。我将使用 Ubuntu 22.04 LTS 来描述本文中的过程,但相同的步骤也适用于较旧的 Ubuntu 20.04。
使用Netplan进行网络配置
您可以在 /etc/netplan/*.yaml 中找到新的配置文件。 Ubuntu 服务器为 system-networkd 生成名为 01-netcfg.yaml 的 Netplan 配置文件,而 Ubuntu 桌面为 Network-Manager 生成名为 01-network-manager-all.yaml 的 Netplan 配置文件。
当我在 Ubuntu 桌面上工作时,我的 /etc/netplan 目录中有 01-network-manager-all.yaml 文件用于网络配置。 01-network-manager-all.yaml 用于配置第一个接口。如果您有多个接口,请使用 02-network-manager-all.yaml 作为第二个接口。 Netplan 按数字顺序应用配置。这意味着 01 文件将在 02 文件之前应用。
现在让我们转向网络配置。请按照以下步骤在 Ubuntu 中配置静态或动态 IP 寻址:
1. 首先,找到要配置的活动网络接口的名称。为此,请运行以下命令:
ip a
记下要使用 Netplan 配置的接口名称。
2. Netplan默认配置文件位于/etc/netplan目录下。使用以下命令可以找到:
ls /etc/netplan/
3. 要查看 Netplan 网络配置文件的内容,请运行以下命令:
cat /etc/netplan/*.yaml
4. 现在您需要在任何编辑器中打开配置文件:由于我使用 Nano 编辑器来编辑配置文件,因此我将运行:
sudo nano /etc/netplan/*.yaml
5. 根据您的网络需求更新配置文件。对于静态 IP 寻址,请添加 IP 地址、网关、DNS 信息,而对于动态 IP 寻址,则无需添加此信息,因为它会从 DHCP 服务器获取此信息。使用以下语法编辑配置文件。
network:
Version: 2
Renderer: NetworkManager/ networkd
ethernets:
DEVICE_NAME:
Dhcp4: yes/no
Addresses: [IP_ADDRESS/NETMASK]
Gateway: GATEWAY
Nameservers:
Addresses: [NAMESERVER_1, NAMESERVER_2]
在哪里
- DEVICE_NAME:接口的名称。
- Dhcp4:是或否取决于动态或静态 IP 寻址
- 地址:设备的 IP 地址(采用前缀表示法)。不要使用网络掩码。
- 网关:连接外部网络的网关IP地址
- 名称服务器:DNS 名称服务器的地址
请注意,YAML 文件的缩进相当严格。使用空格而不是制表符进行缩进。否则,您将遇到错误。
在Ubuntu中配置静态IP地址
要手动配置 IP 地址,请使用上述配置文件语法并添加 IP 地址、网关和 DNS 服务器信息。在这里你可以看到我的静态IP寻址配置文件:
在 Ubuntu 中配置动态 IP 地址
要从 DHCP 服务器获取 IP 寻址,请使用与上述配置文件语法相同的语法。但不要添加 IP 地址、网关和 DNS 服务器信息。
在这里你可以看到我的动态IP寻址的配置文件:
完成静态或动态 IP 配置后,保存并退出配置文件。
测试配置
在应用任何更改之前,我们将测试配置文件。以 sudo 身份运行以下命令来测试配置:
sudo netplan try
如果没有问题,它将返回配置接受消息。如果配置文件未通过测试,它将恢复到以前的工作配置。
应用配置
现在通过以 sudo 身份运行以下命令来应用新配置:
sudo netplan apply
如果您看到任何错误,请尝试调试以调查问题。要运行调试,请使用以下命令作为 sudo:
sudo netplan –d apply
重新启动网络服务
成功应用所有配置后,通过运行以下命令重新启动 Network-Manager 服务:
sudo systemctl restart network-manager
如果您使用的是 Ubuntu 服务器,请使用以下命令:
$sudo systemctl restart system-networkd
验证 IP 地址
现在要验证新配置是否成功应用,请运行以下命令来验证 IP 地址:
ip a
无论您拥有 Ubuntu 服务器还是桌面,您都可以简单地使用 Netplan 配置静态或动态 IP 寻址,无需任何复杂的配置。