3
11月
2023
15:25

netplan 作为 /etc/network/interfaces 的替代品

3 11月 2023 15:25

如何使用接口文件配置网络 过时的

首页

netplan 实用程序用于网络配置。 它将 YAML(结构化文本文件)格式的配置文件转换为 SystemD 网络服务 systemd-networkd 服务的设置。
Netplan于2017年在Ubuntu 18.04“Bionic Beaver”中引入,然后逐渐投入使用:它出现在OS 20.04“Focal Fossa”中。 Ubuntu 22.04“Jammy Jallyfish”和 Linux Mint 21.2“Victoria”默认启用 netplan。 此外,如果您没有使用以下命令升级版本,/etc/network/interfaces 文件丢失sudo do-发布-升级 (从包装中 update-manager-core )或 须藤mintupgrade (来自同名包)。

КонNetplan 配置可能并不总是用于桌面操作系统,但始终用于从 22.04 开始的 Ubuntu 操作系统的服务器版本。 事实上,禁用netplan需要对内核参数进行干预(互联网上有关于禁用netplan的方法的信息)。

在台式电脑上,默认情况下,netplan 将网络管理委托给 NetworkManager(请参阅下面的“默认 natplan 配置”)。

要使 netplan 正常工作,您需要操作系统版本 18.04 及更高版本。 在版本 18.04 和 20.04 中,要使用与标准配置不同的配置,您需要强制启动 systemd-networkd 网络服务。 (在 22.04 中,它在默认安装后启动)。

sudo systemctl 启动 systemd-networkd
sudo systemctl enable systemd-networkd

!!需要运行 systemd-networkd 服务才能使 netplan 工作,才能使用动态分配 DHCP 和静态 IP 地址的配置,以及中描述的其他选项。*config.yaml

1.Netplan默认配置

使用 systemd-networkd 时,不再接受 /etc/network/interfaces 配置,并且系统中可能不存在该文件。

yaml文件形式的配置位于文件夹中 /etc/netplan

在全新安装的系统(例如 Linux Green)上,netplan 配置为转移设置控制 图形组件NetworkManager (使用任务栏上系统托盘中的小程序进行配置)。

Netplan默认配置:

文件 /etc/netplan/1-network-manager-all.yaml:

<前>#让 NetworkManager 管理该系统上的所有设备
网络:
版本:2
渲染器:NetworkManager

使用以下命令应用配置:

sudo netplan apply

2. DHCP的Netplan配置

! 要使用 netplan 文件而不是 NetworkManager GUI 来配置配置,您需要在目录中 /etc/netplan/ 在 YAML 文件中,“renderer”行从“NetworkManager”到“networked”。 在这种情况下,系统托盘中的“NetworkManager”小程序将失去管理网络的能力,并显示“断开的连接”图标,无论是否有网络。

如果网络使用动态IP地址,则在路由器上配置DHCP服务,并在客户端上使用以下netplan配置:

文件 /etc/netplan/00-installer-config.yaml[标记]用于 DHCP[/标记]
<前>网络:
渲染器:网络化
以太网:
enp1s10:
dhcp4: true
版本:2
</前>

在我的例子中,网卡的名称是enp1s10(外部网卡),对于内置网卡,它可以是enp1s0和enp2s0。
如果路由器也可以使用IPv6协议分配IP地址,如下 dhcp4: true пишем dhcp6: true 具有相同的缩进(制表符或空格很重要)!

应用配置:

sudo netplan apply

3. 静态IP地址的Netplan配置

文件中的缩进非常重要。 下面是静态 IP 地址的正确 netplan 配置文件的示例。

文件 /etc/netplan/000-installer-config.yaml 对于[标记]静态IP地址[/标记]:
<前>网络:
渲染器:网络化
以太网:
enp1s10:
dhcp4: false
dhcp6: false
optional: false
addresses: [192.168.1.2/24]
nameservers:
addresses: [192.168.1.1,8.8.8.8]
routes:

  • to: default
    via: 192.168.1.1
    metric: 100
    版本:2
    </前>

其中:

  • 可选= false 设备不需要启动

  • 可选 = true 设备需要启动。
    如果设备被标记为可选,则网络服务将不会等待它。
    默认值为 false。

  • 地址 - 可能包括多个 IP 地址,例如 [192.168.14.2/24, "2001:1::2/64"]

gateway4 和 gateway6 配置参数已弃用;相反,使用以下形式的“默认路由”:

<前>
routes:

  • to: default
    via: 192.168.1.1
    metric: 100
    </前>

不要忘记应用配置:

sudo netplan apply

! 要检查网络配置以确定其是否正确,您需要使用_try_而不是apply。 用户有 120 秒的时间检查网络运行情况。 如果按Ctrl+C或超时,配置将被取消。 要应用配置,请按 Enter。

4.在Debian上安装netplan

(2023 年 11 月 4 日的附录):

su -
apt update
apt install netplan

5. 如何以编程方式找出正在使用哪种网络管理机制?

您可以使用以下命令确定 netplan 的使用:

systemctl 状态 systemd-networkd
(检查 systemd-networkd 服务的状态)。

cat /run/network/ifstate

(对于 netplan 它将是 lo=lo)。

使用 NetworkManager 设置网络

如果文件 /etc/netplan/*.yamlpoints 到图形实用程序 NetworkManager,则当前网络设置需要查看配置文件:
/etc/NetworkManager/NetworkManager.conf

如果设备不受 NetworkManager 管理:
<前>[主要]
插件=ifupdown,密钥文件

[如果上下]
托管=假

[设备]
匹配设备=接口名称:*

要使用 NetworkManager 管理设备(从任务栏旁边的状态栏):
<前>[主要]
插件=ifupdown,密钥文件

[如果上下]
托管=真

[设备]
匹配设备=接口名称:*

不要忘记重新启动 NetworkManager 服务:

sudo systemctl restart NetworkManager

对于受管设备( 托管=真 )出现附加菜单项“禁用“,”如果向上向下“并且设置部分变得可用 “连接设置”

  1. 在系统托盘中,单击网络管理器图标并选择网卡名称
  2. 底部菜单项“连接设置...” 用于更改设置(MTU、网络唤醒、链路协商、速度、代理、IPv4 参数 - DHCP 或手动、其他静态地址、DNS 服务器(用于静态 IP 地址)、其他 DNS 服务器(用于动态 IP 地址)、搜索域、IPv6 参数)。

[标记]添加:[/mark] 自 03/01/2025 起:您还需要使用 NetworkManager 小程序或命令行实用程序“发起”连接 nmcli

nmcli 连接显示
nmcli connection up "Проводное подключение 1"

更新日期:2024 年 7 月 30 日。 设置 netplan 后,您应该重命名 /etc/network/interfaces 文件,重新启动网络服务并检查 IP 地址(它应该更改为 Network Manager 中的连接设置或 YAML 配置文件 /etc/netplan/*.yaml 中指定的地址)。

sudo mv /etc/network/interfaces /etc/network/interfaces.old
sudo systemctl restart networking
systemctl status systemd-networkd
ip addr

结论

与许多其他文章一样,本文包含为 DHCP 和简单静态 IP 配置 netplan 的示例。 接口文件已过时。 使用网络规划。 Netplan 使用 YAML 进行配置。 应删除 /etc/network/interfaces 文件以避免混淆。


资料来源:
ubuntu-bionic-netplan
人网计划
*网络计划



相关出版物