在Linux上使用Netplan进行网络配置
来源:程序员小新人学习     阅读:823
一米
发布于 2018-11-02 23:08
查看主页

Netplan是一个命令行程序,用于在某些Linux发行版上配置网络;下面展现了它的使用方法。

多年来,Linux管理员和客户一直都在以一种固定的方式配置了他们的网络接口。例如,假如你是一个Ubuntu客户,你可以通过桌面GUI或者者从/etc/network/interfaces文件配置网络连接。这种方法简单而且也很好用。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 

或者者,假如您使用的是非systemd的发行版,您可以像这样重新启动网络:

sudo /etc/init.d/networking restart 

您的网络将重新启动,新配置的接口也能工作的很好。

这就是多年来的做法。但是现在不同了。在某些发行版(如Ubuntu 18.04)中,网络的配置和控制发生了很大的变化。我们现在需要转向Netplan,而不是使用接口文件和/etc/init.d/networking脚本。Netplan是一个命令行程序,用于配置某些Linux发行版上的网络。Netplan使用YAML形容文件来配置网络接口,并从这些形容中为任何给定的工具生成必要的配置选项。

我将向您展现如何在Linux上使用Netplan来配置静态IP地址和DHCP地址。我将在Ubuntu Server 18.04上进行演示。需要提示的是,你为Netplan创立的.yaml文件必需在间距上保持一致,否则它们将无法工作。你不必为每行使用特定的间距,只需保持一致就行了。

创立新的配置文件

打开一个终端窗口(或者者通过SSH登录到你的Ubuntu Server)。您将在/etc/netplan目录中找到Netplan的新配置文件。使用命令cd /etc/netplan切换到该目录。进入该目录后,您可能只会看到一个文件:

01-netcfg.yaml

您可以创立一个新文件或者编辑默认文件。假如选择编辑默认文件,我建议首先使用以下命令制作一个备份:

sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak 

有了备份,即可以进行配置了。

网络设施名称

在配置静态IP地址之前,需要知道要配置的设施的名称。为此,您可以使用命令ip a来找出要使用的设施(如下图)。


在Linux上使用Netplan进行网络配置


我将为设施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]

其中:

  • 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将自动恢复到以前的工作配置。假如新的配置工作,它将被应用。

应用新配置

假如您确定您的配置文件,您可以跳过try选项,直接应用新配置。对此的命令是:

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之前应用。你可以根据需要为您的服务器创立尽可能多的配置文件。

这就是一律

信不信由你,这就是使用Netplan的一律内容。尽管这对于我们之前所习惯的配置网络地址的方式来说是一个重大的改变,但这并不难习惯。考虑到这种类型的配置将会在linux中变的越来越流行,你最终还是需要习惯它。

免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 系统环境 Linux
相关推荐
前台面试每日 3+1 —— 第292天
python的函数(简略版)
太棒了!2018-2020前台经典面试题整理合集,还附带大厂面试题分享!
JavaScript 学习随笔
高龄程序员的面临的处境:你有时候没有错,只是年纪大了
首页
搜索
订单
购物车
我的