systemd-networkd-如何在不重新启动的情况下强制执行新配置?


12

在我的Arch盒子上,我有一个网桥。目标是删除桥接,仅使用未桥接的网络适配器。为了这样做,我删除了下面的所有* .netdev和* .network配置文件,/etc/systemd/network并用一个简单的文件替换了它们:

/etc/systemd/network/lan.network
--------------------------------
[Match]
eno*

[Network]
DHCP=ipv4

然后systemctl restart systemd-networkd,我使用重启了网络服务,假设这将使我只剩下loeno*接口。不幸的是,这没有任何效果。快速浏览ip link仍然显示桥接接口处于活动状态。

因为在这种情况下正常运行时间并不重要,所以我重新启动了机器即可解决问题。尽管如此,我还是想重启对于这种事情不是必需的。我想念什么?


v244 has networkctl reloadand reconfigure @ github.com / systemd
frostschutz

Answers:


9

如果您的网桥主接口仍处于启动状态,则即使同时发现了新配置,其绑定的从接口也将保持绑定状态。因此,只是失去桥梁。

ip link set down br0
ip link del dev br0
systemctl restart systemd-networkd

1
在此过程中我不会失去网络访问权限吗?
vic

@vic-如果您的网络访问通过您绑定了nic的网桥路由,那么可以,我希望是这样。我想不出一种简单的方法来做其他事情,而我能想到的复杂的方法只是半生半熟,涉及暂时滞留的虚拟网卡和开发人员对所有数据包的内核内网过滤器复制。丑陋而愚蠢的。无论是时间旅行还是时间旅行。也许还有另一种方法,但是您不会了解我的。无论如何,只有在执行第一个命令后网络才会丢失,而在执行第三个命令后网络才恢复。可能比重启少。

1
@vic我知道我参加晚会很晚,但是一种方法是将命令链接在一起,例如ip link set down br0 && ip link del dev br0 && systemctl restart systemd-networkd。您的连接可能至少暂时断开,但主机的网络服务应重新联机,并且只要您知道重新启动后将获得的IP地址,便可以始终创建一个新的SSH会话。
–'code_dredd

1
使用分号,而不要&&链接这些命令。如果失败了,它仍然可以以一种可用的方式重新配置网络连接,因此您不必起床并访问服务器...
Josef Kufner
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.