systemd-networkd 可以在网络出现故障时发出通知吗?

systemd-networkd 可以在网络出现故障时发出通知吗?

我用来systemd-networkd配置我的网络,基本上只有:

cat /etc/systemd/network/eth1-dhcp.network
[Match]
Name=eth1

[Network]
DHCP=yes

但现在,当网络出现故障时,我需要对我的系统(类似树莓派的设备)进行一些更改。我尝试过一些事情。

-1 我注意到我可以观看/sys/class/net/eth1/carrierfor 但它仅在物理网络连接更改时才会更改。

-2 当我运行时,journalctl -fu systemd-networkd我可以观察 systemd-networkd 对网络连接变化的反应。

-3 我尝试添加如下脚本:

cat /etc/network/if-down.d/downTrigger.sh
#!/bin/sh
/usr/bin/echo `/usr/bin/date` > /run/justDownTriggered

ls -l /etc/network/if-down.d/downTrigger.sh
-rwxr-xr-x 1 root root 65 Apr  2 22:03 /etc/network/if-down.d/downTrigger.sh

所述脚本手动运行得很好,但当我断开网络时不会运行。我if-post-down.d也尝试了一个变体。这些触发器是否可能与 systemd-networkd 分开?

最重要的是,我想连接一些东西,这样run当 eth1 网络按照我当前顶部的 systemd-networkd 配置出现故障时,我可以写入文件或发送信号或其他任何内容。是否可以?当出现这种情况时我实际想要运行的命令是:

`systemctl restart my_other_service`

当网络出现故障时。如果有一种方法可以将这种依赖关系放入文件中my_other_serivce.service,我会全力以赴。触发因素是当网络出现故障时它应该重新启动(而不是停止)。

(我在 Debian 10 上运行)

相关内容