netplan:通过命令行使用(无需手动编辑这个烦人的 yaml 文件)?

netplan:通过命令行使用(无需手动编辑这个烦人的 yaml 文件)?

看起来 netplan 是未来,但是与这个简单的命令相比:

ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up

编辑烦人的 yaml 文件需要做更多的工作(yaml 解析器感觉像是一项 20 年前的技术……)。

有人知道一个仅使用命令行就可以修改 netplan 配置的好工具吗?

答案1

事实证明,现在有用于 netplan 编辑配置的 cli 工具。这些工具被添加到https://github.com/canonical/netplan/pull/163在2020年9月。

netplan set就是那个工具。

用于netplan get转储您的配置。

遗憾的是,这个工具的文档记录很差,其内容只在手册页中 -https://manpages.ubuntu.com/manpages/impish/man8/netplan-set.8.html

netplan  set [key=value] writes a given key/value pair or YAML subtree into a YAML file in
       /etc/netplan/ and validates its format.

       You  can  specify  a   single   value   as:   "[network.]ethernets.eth0.dhcp4=[1.2.3.4/24,
       5.6.7.8/24]" or a full subtree as: "[network.]ethernets.eth0={dhcp4: true, dhcp6: true}".

测试中有更广泛的示例:https://github.com/canonical/netplan/blob/main/tests/test_cli_get_set.py

寻找self._set线条。

对于您的具体示例:

ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up

你会使用

netplan set ethernets.eth0.addresses=[192.168.1.1/24]

这将更新 /etc/netplan 中的相关配置(与 ifconfig 不同,它从不修改启动配置,只修改运行时)。

您可以按照此操作netplan trynetplan apply从存储的配置中更新您正在运行的系统。

您可以阅读更多文档,例如,https://netplan.io/

答案2

该命令在 Ubuntu 中仍然存在,但其作用和预期用途ifconfig之间没有任何等价性。是一种用于修改系统上接口当前状态的工具。是一种用于持久管理系统上网络配置的工具。ifconfignetplanifconfignetplan

如果您知道如何使用一系列 ifconfig 命令配置网络接口,则可以添加 systemd 单元或 init 脚本以在启动时运行这些脚本,但这与使用 netplan 相比,与系统启动的集成性较差。

目前没有用于编辑 netplan 配置的命令行工具。

答案3

您可能会发现此页面很有用:

https://p5r.uk/blog/2010/ifconfig-ip-comparison.html

例如 :

ip addr add 192.168.0.77/24 broadcast 192.168.0.255 dev eth0

相关内容