当使用 systemd/networkctl 启动特定网络接口时,即每次进入“可路由”状态时,我需要运行脚本。
当接口启动或关闭时,设备保持“活动”状态,即我不能依赖“sys-subsystem-net-devices-$DEVICE.device”单元。
我尝试创建一个路径单元来观看“/sys/class/net/$DEVICE/operstate”,但这似乎不适用于 sysfs 文件系统。
还有其他方法可以做到这一点吗?
当使用 systemd/networkctl 启动特定网络接口时,即每次进入“可路由”状态时,我需要运行脚本。
当接口启动或关闭时,设备保持“活动”状态,即我不能依赖“sys-subsystem-net-devices-$DEVICE.device”单元。
我尝试创建一个路径单元来观看“/sys/class/net/$DEVICE/operstate”,但这似乎不适用于 sysfs 文件系统。
还有其他方法可以做到这一点吗?
安装
networkd-broker
服务(或较旧的服务networkd-dispatcher
)。它通过 D-Bus 对网络事件做出反应并相应地运行 shell 脚本。