Estou executando um conjunto de servidores baseados no Debian Jessie e preciso de uma maneira confiável de fazer o upload de seu endereço IP de rede local quando o link de rede é estabelecido. Eu escrevi um script que faz isso e o registrei 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
Ai, se isso estivesse funcionando como esperado, não seria uma pergunta sobre o SO. O script faz uso do comando route
para determinar o dispositivo de rede usado por padrão, mas não é executado porque a rota sai devido à rede ainda não estar ativa. Além disso, o sistema pode inicializar sem uma conexão de rede e só pode ser conectado posteriormente, 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 aumentar e não antes?
Tags networking systemd