BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Detectar que el router se ha colgado, y reiniciarlo

BocaDePez
BocaDePez

Hola:

Después de varios días lejos de casa, y sabiendo que había pasado algo porque no podía entrar de ninguna manera a mi ordenador desde fuera, al llegar a casa me encuentro con que simplemente no había conexión, porque el router se había colgado. Esto es un auténtico inconveniente. Me preguntaba si habría alguna manera de detectar cada X horas si hay conexión, y si no hay, resetear el router (con el navegador se hace fácil).

Mi principal problema es cómo averiguo si tengo conexión, y cómo hago que el proceso se ejecute cada, digamos, 20 horas. ¿No se le ha planteado a nadie este problema antes que a mí?

Gracias y saludos a todos.

BocaDePez
BocaDePez

curl para pedir páginas del router, grep para ver si el contenido de la pagina tiene una cadena concreta, con todo ello hacemos un shellscript y lo programamos en el cron

tienes que leer un poco todavía, pero los pasos básicos son esos

🗨️ 6
BocaDePez
BocaDePez

Seguro que tendré que leer, pero eso no me asusta. Lo que yo necesitaba era que alguien me pusiera en el camino correcto. ¡GRACIAS!

🗨️ 5
BocaDePez
BocaDePez

Eso estaría bien para el caso de que pierdas la conexión de Internet, pero la LAN se mantenga.

El problema es que si el router se cuelga del todo, ni siquiera va a funcionar el acceso interno por HTTP/Telnet/SNMP.

🗨️ 4
BocaDePez
BocaDePez

Suele mantenerse la LAN cuando pasa eso. Había pensado en descargar algún pequeño fichero que esté en Internet, y luego comprobar si se descargó o no. Si la LAN se fastidia, ni siquiera podría acceder al router para reiniciarlo, y sería necesaria presencia física. Pero como ya te comento ése no ha sido nunca el caso. Podré entrar el router y resetearlo, prácticamente siempre.

🗨️ 3
BocaDePez
BocaDePez
🗨️ 2
BocaDePez
BocaDePez
BocaDePez
BocaDePez
anthrax

Hola,

en su día un antiguo moderador de este foro (undertow para más señas) hizo un script que justamente permitía hacer lo que comentas.

Primero comprobaba si había conectividad hacia internet a través del router (con un triste ping), y si no la había se conectaba al router y lo reiniciaba.

Básicamente era un script que estaba hecho con la utilidad expect de linux y se ejecutaba cada x tiempo a través de un crontab de un sistema GNU/Linux.

Si buscas un poco por google veras que ya hay más de uno que ha hecho un script con expect que de forma automática se conecta al router de marras (por telnet) y una vez dentro ejecuta un comando. A menudo un reinicio del router.

Coger eso y adaptarlo a que expect haga un ping y si el ping no funciona ejecute la parte del expect que reinicia el router no debería ser muy complejo :)

Saludos B-)