使用systemd-networkd将多个静态IP地址添加到服务器


10

我们有一台具有多个IP地址的服务器。最近,我们迁移到systemd,但该服务器上仍需要多个IP。使用systemd-networked时,我们很难找到配置示例。因此,我们在启动过程结束时使用bash脚本将ips添加到界面中。

有人可以提供系统联网的配置示例,以向一个接口添加多个IP。


你检查了man systemd.network吗?只是一个旁注,您不必在使用systemd-networked网络时全部使用。我们在谈论什么分布?
2014年

我们检查了联机帮助页。我认为,如果我们使用systemd-netword,它将非常兼容并且可移植,因为它将很快在所有发行版中提供。发行版是gentoo。
user61664 2014年

Answers:


11

根据systemd.network(5),您可以简单地Address=向该[Network]部分添加多行,并带有所需的地址。

[Network]
Address=10.2.3.4/16
Address=10.6.7.8/16
Gateway=...

或者,[Address]为每个地址创建一个单独的部分。

[Network]
Gateway=...

[Address]
Address=10.2.3.4/16

[Address]
Address=10.6.7.8/16

(这同样适用于[Route]节和Gateway=参数。)

请注意,systemd-networkd仍然是非常新的,几乎每天都会收到错误修复。确保您使用的是最新的systemd版本,并在可能的情况下测试Git版本。如果有错误,请参阅邮件列表和IRC频道#systemd以及#gentoo-systemd在freenode上。


3
在Ubuntu 16.04 LTS中,第一种方法似乎无效(只有第一个IP地址可访问)。但是,使用单独的[Address]节的第二种方法确实有效。对于它的价值,我在本[Network]节下定义了一个网关,如第二个示例所示。我还要补充一点,无论我如何尝试,我都无法在两个单独的物理网络接口上使用两个静态IP地址(我尚未在systemd文档中或网络上的其他地方找到此示例)。剩下的m个用于在单个接口上解决两个IP地址。
本·约翰逊

1

我在Proxmox下使用了一个容器,Proxmox /etc/systemd/network/eth0.network在容器中写入了自己的容器。为了避免无法依赖该文件不被覆盖,您可以使用其他IP地址创建一个插入文件,/etc/systemd/network/eth0.network.d/additional-ips.conf

[Match]
Name = eth0

[Address]
Address = 192.168.1.102/24
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.