ネットワークエラーが発生した場合は、systemd-networkdがこれを通知できますか?

ネットワークエラーが発生した場合は、systemd-networkdがこれを通知できますか?

systemd-networkdネットワークの構成に使用するのは基本的には次のとおりです。

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

[Network]
DHCP=yes

ただし、ネットワークがダウンしたら、システム(ラズベリーパイに似たデバイス)をいくつか変更する必要があります。私はいくつか試してみました。

/sys/class/net/eth1/carrier-1監視できますが、物理ネットワーク接続が変更されたときにのみ変更されることを確認しました。

-2実行すると、journalctl -fu systemd-networkdsystemd-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変形を試しました。これらのトリガーはシステムネットワークとは別のものですか?

run最も重要なのは、eth1ネットワークが現在のsystemd-networkd設定でダウンしているときにファイルに書き込んだり信号を送信したりできるように何かを接続したいことです。可能ですか?これが発生したときに実際に実行したいコマンドは次のとおりです。

`systemctl restart my_other_service`

ネットワークに障害が発生した場合。この依存関係をファイルに入れる方法があれば、my_other_serivce.service私は最善を尽くします。トリガーは、ネットワークに障害が発生した場合は再起動(停止しない)必要があることです。

(私はDebian 10を使用しています)

関連情報