netplan

文章目录

前言

netplan 是 ubuntu 17.10 版本中引入的一种全新的命令行网络配置程序,用于在 ubuntu 系统中轻松管理和配置网络设置。

netplan 可以使用 NetworkManager(桌面系统中使用)或 Systemd-networkd(服务器系统中使用)的网络守护程序来做为内核的接口,这样就为用户把底层的网络差异透明化了。netplan 的默认配置文件在 /etc/netplan/*.yaml 里,配置文件采用 YAML 语法。

官网

https://netplan.io/

配置文件

配置文件所在路径为 /etc/netplan/

bash 复制代码
liyongjun@Box:/etc/netplan$ ls
01-network-manager-all.yaml

你可以创建一个新的 YAML 文件,或者直接编辑默认文件。如果你打算修改默认文件,建议你先做一个备份

bash 复制代码
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak

默认配置

我使用的是 Ubuntu 20.04 桌面版,默认使用 NetworkManager 来管理所有网络接口

bash 复制代码
liyongjun@Box:/etc/netplan$ cat 01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

NetworkManager 简介

NetworkManager 是一项后端服务(networkmanager.service),是一个用于控制 Ubuntu 操作系统上的网络接口图形化界面的工具。

systemd-networkd 简介

systemd-networkd 是 systemd 的一部分 ,负责 systemd 生态中的网络配置部分(systemd-networkd.service, systemd-resolved.service)。使用 systemd-networkd,你可以为网络设备配置基础的 DHCP/静态 IP 网络等,还可以配置虚拟网络功能,例如网桥、隧道和 VLAN 等等。systemd-networkd 与 wpa_supplicant 服务配合可以支持配置 WiFi 无线适配器。

NetworkManager VS systemd-networkd

NetworkManager 和 systemd-networked 可以理解为相互替代关系,一个是基于图形化界面的工具,另外一个是基于命令行界面的工具。因此,用户可以根据自己的需求,决定使用 networkmanager 还是 systemd-netword。 如果要禁用 NetworkManager,则应启用 systemd-networkd,而在 systemd-networkd 运行时最好禁用 networkmanager。

Netplan 简介

Netplan 是 Canonical(Ubuntu)开发的做为某些 Linux 发行版(主力为 ubuntu Linux 发行版)上默认的网络配置命令行工具。Netplan 使用 YAML 描述文件来配置网络,然后通过这些描述为任何给定的底层呈现工具(主要就是 systemd-networkd 和 networkmanager 两种工具)生成必要的配置选项。

如下图所示,我们可以看到 Netplan 读取 /etc/netplan 下的描述网络用的各个 yaml 文件,生成backend config 后端配置项。将这些后端配置项通过 yaml 文件里指定的 renderers 渲染器(systemd-networkd 或者 networkmanager)将配置下发到 Linux 内核中。

Netplan 目前支持的网络管理工具:

  • NetworkManager Systemd
  • networkd

netplan提供的命令

  • netplan apply:应用配置,使配置生效。
  • netplan try:试用配置,然后等待用户的确认;如果网络中断或没有给出确认,就自动回滚。
  • netplan generate:以 /etc/netplan 配置为输入为 renderer 指定的底层网络管理工具生成配置文件。

示例

默认情况下,我的 Ubuntu 系统下的以太网卡 enp0s3 拿到 IPv4 以及 IPv6 地址

我现在想禁用 IPv6 地址,只需要这样修改

bash 复制代码
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp0s3:
      dhcp4: true
      dhcp6: false

修改后,执行 sudo netplan apply 生效一下

可以看到,地址只剩 IPv4 了,IPv6 被禁掉了。

使用 networkd 方式来管理网络

bash 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: true
      dhcp6: false

可以看到,Ubuntu 图形界面已经无法配置该网卡了

多个配置文件

在 /etc/netplan 目录下,如果有多个 yaml 文件,netplan 会根据文件名称排序,挨个生效,后面的配置会覆盖前面的配置。

相关推荐
Eileen Seligman3 个月前
Kali Linux网络问题解决与静态IP配置技巧
linux·网络·tcp/ip·网络配置·kali linux·kali无法上网·静态ip配置
周湘zx3 个月前
Linux知识复习第3期
linux·运维·网络·网络配置
云计算练习生8 个月前
Linux基础篇:VMware centos7虚拟机网络配置——桥接模式
linux·运维·服务器·网络·centos·网络配置
Fang_Qianling10 个月前
Linux网络配置与抓包工具介绍
网络配置·tcpdump·bonding
ManageEngine卓豪1 年前
在Cisco设备上配置接口速度和双工
网络配置·cisco
ManageEngine卓豪1 年前
在思科(Cisco)设备上配置 DHCP 服务器
网络配置·dhcp·配置dhcp服务器
ManageEngine卓豪1 年前
什么是网络地址转换 (NAT)
网络配置·nat·网络地址转换
ManageEngine卓豪1 年前
在思科(Cisco)路由器中使用 SNMP
网络配置·snmp·cisco
ManageEngine卓豪1 年前
恢复配置并减少网络停机时间
网络配置恢复·网络配置管理·网络配置工具·网络配置