Execute o script quando a conexão de rede estiver ativa

Execute o script quando a conexão de rede estiver ativa

Estou executando um conjunto de servidores baseados em Debian Jessie e preciso de uma maneira confiável de fazer upload do endereço IP da rede local quando o link de rede for estabelecido. Escrevi um script que faz isso e registrei-o como um serviço systemd:

[Unit]
Description=Server Registration
Requires=network.target network-online.target
After=network.target network-online.target

[Service]
ExecStart=<script-location>
Type=simple
Restart=on-failure
WatchdogSec=21600

[Install]
WantedBy=multi-user.target

Infelizmente, se isso estivesse funcionando como esperado, não seria uma pergunta no SO. O script utiliza o routecomando para determinar o dispositivo de rede usado por padrão, mas falha na execução porque a rota é encerrada porque a rede ainda não está ativa. Além disso, o sistema pode inicializar sem uma conexão de rede e só ser conectado mais tarde, portanto, o script precisa ser acionado sempre que a rede for ativada.

A rede é configurada usando systemd-networkd.

Como posso garantir que meu script seja executado sempre que a rede for ativada, e não antes?

informação relacionada