在 systemd-networkd 中续订 DHCP 租约

vil*_*apx 8 networking dhcp 18.04 systemd-networkd

eth0通过netplan以下方式为 DHCPv4 配置了接口:

network:
    version: 2
    renderer: networkd
    ethernets:
        eth0:
            dhcp4: true
            dhcp6: true
            optional: true
Run Code Online (Sandbox Code Playgroud)

我如何告诉systemd-networkd续订我的 DHCP 租约?我知道dhclient它很简单dhclient -r eth0 && dhclient eth0,正如本网站上的许多其他答案所解释的那样,但是我该怎么做systemd-networkd

我在 Ubuntu 18.04 服务器中。

小智 21

从 systemd 版本 244开始,您可以使用以下命令在 systemd-networkd 中续订 DHCP 租约:

networkctl renew DEVICES...
Run Code Online (Sandbox Code Playgroud)

Ubuntu 20.04 附带了 systemd 245.4,并且是第一个可用此命令的 Ubuntu 版本。


vil*_*apx 5

我在 2014 年 8 月找到了Tom Gundersen的 freedesktop.org邮件列表帖子,它回答了我的问题,至少在撰写本文时:

> 有没有办法使用 systemd-networkd 强制 DHCPv4 发布/更新?

我们目前不允许与 networkd 进行动态交互,但是您可以通过重新启动 networkd 或拔掉/重新插入电缆(或者如果您正在使用的情况下关闭/打开您的 wifi)来强制更新版本。

-t

显然,如果您执行这两件事之一,systemd-networkd将更新您的 DHCP 租约。

  • 对你有用吗?[这似乎是正确的](https://askubuntu.com/a/1047656/349837),但是`systemctl restart systemd-networkd`没有帮助,只有`dhclient -v -r eth0; dhclient -v eth0`(在其他终端上使用“dhcpdump -i eth0”进行测试)。 (2认同)