força ip renewal on eth0
This commit is contained in:
Vendored
+26
-8
@@ -194,6 +194,25 @@ disable_wifi() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Função para forçar renovação de IP
|
||||||
|
force_ip_renewal() {
|
||||||
|
local iface="$1"
|
||||||
|
|
||||||
|
if systemctl is-active --quiet systemd-networkd; then
|
||||||
|
log "A forçar renovação de IP em $iface (reiniciando systemd-networkd)..."
|
||||||
|
if systemctl restart systemd-networkd; then
|
||||||
|
log "Serviço systemd-networkd reiniciado com sucesso. IP deve ser atribuído em breve."
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
log "Erro: Falha ao reiniciar systemd-networkd."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
log "Aviso: systemd-networkd não está ativo. Tentando alternativa..."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Tarefa em Background para monitorizar rede
|
# Tarefa em Background para monitorizar rede
|
||||||
monitor_network_task() {
|
monitor_network_task() {
|
||||||
log "Monitor: A iniciar monitorização contínua da rede..."
|
log "Monitor: A iniciar monitorização contínua da rede..."
|
||||||
@@ -228,19 +247,18 @@ monitor_network_task() {
|
|||||||
log "Monitor: Wi-Fi ($WLAN_IFACE) já está desativado ou não encontrado."
|
log "Monitor: Wi-Fi ($WLAN_IFACE) já está desativado ou não encontrado."
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
log "Monitor: Interface $IFACE ativa mas sem IP. Wi-Fi permanece ativo ou inicia ativação."
|
log "Monitor: Interface $IFACE ativa mas sem IP. Tentando forçar renovação de IP..."
|
||||||
if ip link show "$WLAN_IFACE" &> /dev/null; then
|
if force_ip_renewal "$IFACE"; then
|
||||||
if ip link show "$WLAN_IFACE" | grep -q "DOWN"; then
|
log "Monitor: Renovação de IP bem-sucedida. Wi-Fi permanece ativo até confirmação."
|
||||||
|
else
|
||||||
|
log "Monitor: Falha ao renovar IP. Ativando Wi-Fi como fallback..."
|
||||||
|
if ip link show "$WLAN_IFACE" &> /dev/null && ip link show "$WLAN_IFACE" | grep -q "DOWN"; then
|
||||||
if ip link set "$WLAN_IFACE" up; then
|
if ip link set "$WLAN_IFACE" up; then
|
||||||
log "Monitor: Wi-Fi ($WLAN_IFACE) ativado com sucesso."
|
log "Monitor: Wi-Fi ($WLAN_IFACE) ativado como fallback."
|
||||||
else
|
else
|
||||||
log "Monitor: Falha ao ativar Wi-Fi ($WLAN_IFACE)."
|
log "Monitor: Falha ao ativar Wi-Fi ($WLAN_IFACE)."
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
log "Monitor: Wi-Fi ($WLAN_IFACE) já está ativo."
|
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
log "Monitor: Interface $WLAN_IFACE não encontrada."
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user