네트워크 오류가 발생하면 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저는 최선을 다하겠습니다. 트리거는 네트워크에 장애가 발생하면 다시 시작(중지 아님)되어야 한다는 것입니다.

(저는 데비안 10을 사용하고 있습니다)

관련 정보