Você pode usar um script de despachante do Network Manager para executar um script quando a interface for ativada ou desativada, o que fará quando o ISP alterar seu endereço IP (ele descartará sua conexão e trará de volta com um novo. ).
Veja os arquivos em /etc/NetworkManager/dispatcher.d/
. No meu, há um script simples 20-chrony
que faz um bom modelo:
#!/bin/sh
# This is a NetworkManager dispatcher script for chronyd to set its NTP sources
# online/offline when a default route is configured/removed on the system.
export LC_ALL=C
if [ "$2" = "up" ]; then
/sbin/ip route list dev "$1" | grep -q '^default' &&
/usr/bin/chronyc -a online > /dev/null 2>&1
fi
if [ "$2" = "down" ]; then
/sbin/ip route list | grep -q '^default' ||
/usr/bin/chronyc -a offline > /dev/null 2>&1
fi
exit 0
Você pode adaptar as duas instruções if
para trabalhar com seus scripts ou, se seus scripts precisarem ser executados somente quando a interface aparecer, basta modificar o primeiro if
e remover o segundo.