我可以在没有 netplan 和 ifupdown 的情况下使用 systemd-network 吗?

我可以在没有 netplan 和 ifupdown 的情况下使用 systemd-network 吗?

我不确定我是否完全理解了 ifupdown、systemd-networkd 和 netplan 之间的整个关系。我认为 netplan 将其 YAML 配置转换为更详细的 systemd-network 配置,我自己也可以维护。这与经典的 ifupdown 方式和 /etc/network/interfaces 有什么关系吗?我不知道旧解决方案背后的工具是如何调用的,我只知道 /etc/network/interfaces 是设置的地方。一些神奇的工具会读取该文件并执行某些操作。

因此,我现在面临的情况是,Ubuntu 20.04 附带了 netplan,但不支持 preferred_lft=0 的附加 IPv6 地址,而这是我现在需要的功能。因此,我无法为此使用 netplan。systemd-network 似乎不允许一个接口有多个匹配的配置文件,所以我认为我根本不能使用 netplan。

现在的问题是:我应该去哪里?我可以保留 systemd-network 并完全自己维护该配置文件吗?还是我必须(或者我应该,以及为什么)一路回到 /etc/network/interfaces 和 ifupdown?

有许多教程和答案解释了如何返回 ifupdown,但根本没有提到 systemd-network。所以我不知道这是否是一个可行的选择,也许是一个更面向未来的选择(ifupdown 现在在 universe 档案中,可能得到更少或更短的支持)。这些文章还建议编辑 Linux 内核命令行,这似乎会产生相当大的影响。内核真的需要知道哪些用户空间工具将管理网络吗?

我的环境是数据中心中的一台服务器,用于共享网络托管和其他服务,它具有静态地址,需要一些额外的地址,并使用 VLAN 连接到同一数据中心的其他服务器。它与 WLAN 没有任何联系。它可能以某种形式充当 VPN 服务器。

答案1

是的你可以。

只需保留默认的 /etc/network/interfaces 文件(该文件仅定义环回(“lo”)接口),从 /etc/netplan/*.yaml 中删除任何 netplan YAML 配置,并在 /etc/systemd/network/* 中定义您自己的手动 systemd-networkd 配置,如 systemd 文档所述:

https://www.freedesktop.org/software/systemd/man/systemd.network.html

相关内容