如何在Linux上使用网络配置工具Netplan

发布时间:2025-04-12 点击:32
netplan 是一个命令行工具,用于在某些 linux 发行版上配置网络。
多年以来 linux 管理员和用户们以相同的方式配置他们的网络接口。例如,如果你是 ubuntu 用户,你能够用桌面 gui 配置网络连接,也可以在 /etc/network/interfaces 文件里配置。配置相当简单且可以奏效。在文件中配置看起来就像这样:
auto enp10s0 iface enp10s0 inet static address 192.168.1.162 netmask 255.255.255.0 gateway 192.168.1.100 dns-nameservers 1.0.0.1,1.1.1.1保存并关闭文件。使用命令重启网络:
sudo systemctl restart networking<、pre>或者,如果你使用不带 systemd 的发行版,你可以通过老办法来重启网络:
sudo /etc/init.d/networking restart<、pre>你的网络将会重新启动,新的配置将会生效。
这就是多年以来的做法。但是现在,在某些发行版上(例如 ubuntu linux 18.04),网络的配置与控制发生了很大的变化。不需要那个 interfaces 文件和 /etc/init.d/networking 脚本,我们现在转向使用 netplan。netplan 是一个在某些 linux 发行版上配置网络连接的命令行工具。netplan 使用 yaml 描述文件来配置网络接口,然后,通过这些描述为任何给定的呈现工具生成必要的配置选项。
我将向你展示如何在 linux 上使用 netplan 配置静态 ip 地址和 dhcp 地址。我会在 ubuntu server 18.04 上演示。有句忠告,你创建的 .yaml 文件中的缩进必须保持一致,否则将会失败。你不用为每行使用特定的缩进间距,只需保持一致就行了。
新的配置文件
打开终端窗口(或者通过 ssh 登录进 ubuntu 服务器)。你会在 /etc/netplan 文件夹下发现 netplan 的新配置文件。使用 cd /etc/netplan 命令进入到那个文件夹下。一旦进到了那个文件夹,也许你就能够看到一个文件:
01-netcfg.yaml<、pre>你可以创建一个新的文件或者是编辑默认文件。如果你打算修改默认文件,我建议你先做一个备份:
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak<、pre>备份好后,就可以开始配置了。
网络设备名称
在你开始配置静态 ip 之前,你需要知道设备名称。要做到这一点,你可以使用命令 ip a,然后找出哪一个设备将会被用到(图 1)。
图 1:使用 ip a 命令找出设备名称
我将为 ens5 配置一个静态的 ip。
配置静态 ip 地址
使用命令打开原来的 .yaml 文件:
sudo nano /etc/netplan/01-netcfg.yaml<、pre>文件的布局看起来就像这样:
network: version: 2 renderer: networkd ethernets: device_name: dhcp4: yes/no addresses: [ip/netmask] gateway: gateway nameservers: addresses: [nameserver, nameserver]<、pre>其中:
device_name 是需要配置设备的实际名称。yes/no 代表是否启用 dhcp4。ip 是设备的 ip 地址。netmask 是 ip 地址的掩码。gateway 是网关的地址。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 地址中。
测试配置
在应用改变之前,让我们测试一下配置。为此,使用命令:
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 trynetplan 应该会成功配置 dhcp 服务。这时你可以使用 ip a 命令得到动态分配的地址,然后重新配置静态地址。或者,你可以直接使用 dhcp 分配的地址(但看看这是一个服务器,你可能不想这样做)。
也许你有不只一个的网络接口,你可以命名第二个 .yaml 文件为 02-netcfg.yaml 。netplan 会按照数字顺序应用配置文件,因此 01 会在 02 之前使用。根据你的需要创建多个配置文件。
就是这些了
不管怎样,那些就是所有关于使用 netplan 的东西了。虽然它对于我们习惯性的配置网络地址来说是一个相当大的改变,但并不是所有人都用的惯。但这种配置方式值得一提……因此你会适应的。
via: https://www.linux.com/learn/intro-to-linux/2018/9/how-use-netplan-network-configuration-tool-linux
作者:jack wallen 选题:lujun9972 译者:luuming 校对:wxy


SEO赚钱变现方法介绍分享
域名价值怎么看 教你几点看准域名价值
利用模板建站需要多少钱
被你们开了百度云加速后网站就打不开了域名解析也是正确的解析
php如何去除字符串中数字
注册商标用商品和服务项目分类—第35类 广告销售
网站一般怎么建设
为产品结构的设计 为用户任务的设计