我将为 ens5 配置一个静态的 IP。
配置静态 IP 地址
使用命令打开原来的 .yaml 文件:
sudo nano /etc/netplan/01-netcfg.yaml
文件的布局看起来就像这样:
network:
Version: 2
Renderer: networkd
ethernets:
DEVICE_NAME:
Dhcp4: yes/no
Addresses: [IP/NETMASK]
Gateway: GATEWAY
Nameservers:
Addresses: [NAMESERVER, NAMESERVER]
其中:
1.DEVICE_NAME 是需要配置设备的实际名称。
2.yes/no 代表是否启用 dhcp4。
3.IP 是设备的 IP 地址。
4.NETMASK 是 IP 地址的掩码。
5.GATEWAY 是的地址。
6.NAMESERVER 是由逗号分开的 DNS 服务器列表。
这是一份 .yaml 文件的样例:
network:
version: 2
renderer: networkd
ethernets:
ens5:
dhcp4: no
addresses: [192.168.1.230/24]
gateway4: 192.168.1.254
nameservers:
addresses: [8.8.4.4,8.8.8.8]
编辑上面的文件以达到你想要的效果。保存并关闭文件。
注意,掩码已经不用再配置为 255.255.255.0 这种形式。取而代之的是,掩码已被添加进了 IP 地址中。参考在Ubuntu 18.04系统中设置静态IP的方法一文。
测试配置
在应用改变之前,让我们测试一下配置。为此,使用命令:
sudo netplan try
上面的命令会在应用配置之前验证其是否有效。如果成功,你就会看到配置被接受。换句话说,Netplan 会尝试将新的配置应用到运行的系统上。如果新的配置失败了,Netplan 会自动地恢复到之前使用的配置。成功后,新的配置就会被使用。
应用新的配置
如果你确信配置文件没有问题,你就可以跳过测试环节并且直接使用新的配置。它的命令是:
sudo netplan apply
此时,你可以使用 ip a 看看新的地址是否正确。
配置 DHCP
虽然你可能不会配置 DHCP 服务,但通常还是知道比较好。例如,你也许不知道网络上当前可用的静态 IP 地址是多少。你可以为设备配置 DHCP,获取到 IP 地址,然后将那个地址重新配置为静态地址。
在 Netplan 上使用 DHCP,配置文件看起来就像这样:
network:
version: 2
renderer: networkd
ethernets:
ens5:
Addresses: []
dhcp4: true
optional: true
保存并退出。用下面命令来测试文件:
sudo netplan try
Netplan 应该会成功配置 DHCP 服务。这时你可以使用 ip a 命令得到动态分配的地址,然后重新配置静态地址。或者,你可以直接使用 DHCP 分配的地址(但看看这是一个服务器,你可能不想这样做)。
也许你有不只一个的网络接口,你可以命名第二个 .yaml 文件为 02-netcfg.yaml 。Netplan 会按照数字顺序应用配置文件,因此 01 会在 02 之前使用。根据你的需要创建多个配置文件。