Eu encontrei uma solução.
O cliente dhcp do Busybox chama deconfig_interface()
em /lib/netifd/dhcp.script
em caso de renovação do tempo limite.
Eu posso adicionar algumas chamadas de um script lá.
Estou conectado ao ISP usando a autenticação "IPoE".
Funciona dessa maneira. Quando um novo dispositivo de rede é conectado, ele obtém um endereço IP local (100.x.x.x) com uma concessão de 10 minutos e é necessária uma autorização da Web com nome de usuário e senha.
Após uma autorização bem-sucedida, o roteador obtém um IP da Internet com 10 min. locação.
Quando o acesso à Internet está fechado, por exemplo, porque uma conta não foi paga, a interface wan recebe um 100.x.x. endereço. O acesso é apenas para recursos internos.
Eu quero pegar esse tipo de evento por um script. É muito fácil capturar ifup
ou ifdown
eventos em hotplug.d
, mas há um problema.
Em alguns casos, quando há um problema no lado do provedor, a concessão expira, mas o novo endereço não é concedido. A interface da WAN permanece ativa, mas sem nenhum endereço.
Eu recebo uma mensagem de log
daemon.notice netifd: wan (1019): Lease lost, entering init state
O que é uma maneira de capturar esse evento que apenas analisa logs?
Tags networking dhcp router