当特定网络接口通过 systemd/networkctl 启动时,如何使用脚本?

当特定网络接口通过 systemd/networkctl 启动时,如何使用脚本?

我需要在使用 systemd/networkctl 启动特定网络接口时运行一个脚本,即每次它进入“可路由”状态时。

  • 当接口启动或关闭时,设备保持“活动”状态,即我不能依赖“sys-subsystem-net-devices-$DEVICE.device”单元。

  • 我尝试创建一个路径单元来监视“/sys/class/net/$DEVICE/operstate”,但这似乎不适用于 sysfs 文件系统。

还有其他方法可以做到这一点吗?

答案1

安装networkd-broker服务(或旧版本networkd-dispatcher)。它通过 D-Bus 对网络事件做出反应并相应地运行 shell 脚本。

相关内容