Quando uma interface de rede é ativada ou desativada, os scripts sob /etc/network
são executados. Você pode colocar seu script em /etc/networking/if-down.d
ou em /etc/networking/if-post-down.d
. O primeiro é executado com a interface ainda disponível enquanto o segundo é executado com a interface já desconectada; é claro, a interface pode ter sido desativada automaticamente porque a rede local falhou e, nesse caso, você não conseguirá usar a rede mesmo a partir de if-down
. O script obtém informações sobre a interface de rede por meio de variáveis de ambiente, conforme documentado no interfaces(5)
Se a conexão de rede cair devido a uma falha em algum lugar fora do link local ou até mesmo porque o primeiro roteador para de funcionar corretamente, sua máquina não será notificada. Para detectar essa perda de serviço, você precisa executar algum tipo de serviço de heartbeat que verifique periodicamente se o servidor remoto ainda está ativo e respondendo. Não há uma solução única para todos os casos aqui, porque diferentes casos de uso exigem diferentes limites entre "a rede / servidor está lenta" e "a rede / servidor está inativa". Além disso, determinar se o servidor está ativo é específico do aplicativo; pode ser um ping ou uma solicitação HTTP ou um pacote keepalive em uma conexão TCP, etc.