Please enable Javascript to view the contents

Linux网络-命令: netplan

 ·  ☕ 3 分钟

1. 简介

  • 网络后端驱动: OS中用来管理网络接口、网络配置的软件。Linux中常见网络后端驱动有:NetworkManager、systemd-networkd、ifupdown 等。详情见

Netplan是为了简化网络配置,在网络后端之上增加的一个抽象层。它允许用户以 YAML 格式定义网络配置。Netplan再将配置信息传递给底层网络驱动程序。

2. 安装

netplan是python3脚本, 从Ubuntu17开始引入的。

1
apt install netplan.io

3. 配置文件说明

Netplan 的配置文件通常位于 /etc/netplan/ 目录下, 以 .yaml 结尾。

每个文件都包含一个或多个网络设备配置。以下是一个基本的 Netplan 配置文件结构示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

在这个示例中:

  • network:根键,包含网络配置的所有信息。
  • version:配置文件的版本号,目前推荐使用 2。
  • renderer:指定网络配置的后端,networkd 是 Netplan 的默认后端。
  • ethernets:定义以太网接口的配置。
  • enp3s0:具体的网络接口名称。
  • dhcp4:指定是否使用 DHCP 来获取 IPv4 地址。
  • addresses:静态分配的 IPv4 地址列表。
  • gateway4:IPv4 默认网关。
  • nameservers:DNS 服务器地址。

DHCP

1
2
3
4
5
6
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true

静态IP

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
      - "192.168.1.11/24"
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
      gateway4: 192.168.1.1

WIFI-无密码

1
2
3
4
5
6
7
network:
  version: 2
  wifis:
    wl0:
      access-points:
        opennetwork: {}
      dhcp4: yes

WIFI-无密码

1
2
3
4
5
6
7
network:
  version: 2
  wifis:
    wl0:
      access-points:
        opennetwork: {}
      dhcp4: yes

WIFI-WPA加密

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
network:
  version: 2
  renderer: networkd
  wifis:
    wlp2s0b1:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.11/24]
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
      gateway4: 192.168.1.1
      access-points:
        "network_ssid_name":
          password: "**********"

4. 基本操作

查看网络配置

要查看当前的网络配置,可以使用以下命令:

这个命令将显示 Netplan 处理后的配置,包括所有接口的详细信息。

1
netplan get

显示信息举例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
network:
  version: 2
  ethernets:
    ens160:
      addresses:
      - "192.168.1.11/24"
      nameservers:
        addresses:
        - 8.8.8.8
      gateway4: 192.168.1.1

修改网络配置

应用新的网络配置
当你修改了 Netplan 配置文件后,可以使用以下命令应用新的配置:

1
sudo netplan apply

这个命令会重新加载配置文件并应用新的网络设置。

检查网络状态
要检查网络状态,可以使用以下命令:

1
ip addr show

或者使用 Netplan 提供的命令:

1
netplan status

Netplan 高级配置
配置多个网络接口
Netplan 允许你在一个配置文件中配置多个网络接口。例如:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
    enp4s0:
      dhcp4: yes

配置无线网络
Netplan 也支持无线网络配置。例如:

yaml
network:
version: 2
renderer: networkd
wireless:
wlo1:
dhcp4: no
addresses: [192.168.2.100/24]
gateway4: 192.168.2.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
配置 VLAN
Netplan 还支持 VLAN 配置。例如:

yaml
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
vlans:
vlan10:
id: 10
addresses: [192.168.10.100/24]
gateway4: 192.168.10.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
结论
Netplan 是 Ubuntu 网络配置的未来,它提供了一种简洁、统一的方式来管理网络接口。通过理解 Netplan 的配置文件结构和基本操作,你可以轻松地配置和管理你的网络环境。随着 Ubuntu 系统的更新,Netplan 将继续发展和改进,成为网络管理的强有力工具。

分享

Hex
作者
Hex
CloudNative Developer

目录