Cómo reiniciar automáticamente tu enrutador de manera geek
Verizon FIOS es excelente, las velocidades son increíbles y el precio es ... bueno, un poco caro. El verdadero problema es que el terrible enrutador que te dan necesita ser reiniciado todo el tiempo, lo que es un dolor real, ya que está en el sótano. Además, no quiero levantarme del sofá.
Así que contemplé cómo podría resolver este problema usando la tecnología. Eso es lo que hacen los frikis, ¿verdad??
Sí, lo sé, probablemente podría llamar a Verizon y actualizar el enrutador, estoy seguro de que ahora tienen un modelo mejor. Y seguro, puede actualizar el firmware, pero eso no funcionará para mi viejo enrutador ya que no hay una actualización. Tiempo para una solución más fácil que idealmente implica un trabajo cron. Los trabajos de Cron son siempre una buena decisión..
Después de tres minutos de investigación y lluvia de ideas, se presentó una solución: puede habilitar telnet en el enrutador, configurar un script que ejecute automáticamente una serie de comandos utilizando la interfaz de telnet y luego programar ese script con un trabajo cron para que se ejecute de forma regular base. Para mí, eso significaba que todas las mañanas a las 7 am, una hora antes de despertarme, y nuevamente a las 5:30 pm, ya que siempre estoy fuera de la casa en ese momento. Problema resuelto, y puedo usar Vim, lo que también me hace feliz.
Y, por supuesto, puede hacer que un script se ejecute a pedido para reiniciar el enrutador inmediatamente cuando lo desee..
Nota: probablemente puedas hacer lo mismo con un enrutador que no sea Verizon. Tendrá que revisar el panel de administración de su enrutador y ver cómo funcionan las opciones allí..
Conexión a su enrutador a través de Telnet
Lo primero que querrá hacer es descubrir cómo habilitar telnet en el enrutador. Para el enrutador de Verizon, eso requería ir a Avanzado -> Administración local y asegurarse de que "Usar el puerto Telnet principal" esté habilitado. Asegúrese de hacer clic en Aplicar.
En este punto, puede utilizar fácilmente telnet desde el terminal o el símbolo del sistema para conectarse al enrutador. Si está usando Windows, probablemente tendrá que habilitar telnet. Para conectarse, simplemente escriba esto, sustituyendo la dirección IP por la propia IP de su enrutador si es necesario (aunque la mayoría está configurada para usar el rango 192)
telnet 192.168.1.1
Una vez que estás allí, normalmente puedes escribir el comando de ayuda para ver cuáles son las opciones. Para Verizon FIOS, la opción que estaba buscando estaba en la subsección del sistema, y acertadamente se tituló "reiniciar". En realidad, debe escribir "reiniciar el sistema" y no solo "reiniciar"..
Una vez que escriba el comando en el indicador, se desconectará y se reiniciará el enrutador. Fácil, sí. Pero quién quiere hacer todo eso escribiendo cada vez.?
Secuencias de comandos de Telnet a través de la Terminal (OS X o Linux o Cygwin en Windows)
Asumiremos que tiene acceso al shell bash, ya sea en su sistema operativo normal o si su sistema operativo (Windows) no tiene bash, es posible que tenga que instalar Cygwin.
Es sorprendentemente fácil escribir un conjunto de comandos y canalizarlos en la aplicación telnet. Todo lo que necesitas hacer es algo como esto:
(echo nombre de comando; echo otro comando) | telnet 192.168.1.1
El único problema es el inicio de sesión persistente que debe atravesar ... no aparece de inmediato. Por lo tanto, si introduce un "administrador de eco" y luego una "contraseña de eco", sucederá con demasiada rapidez y no se enviará al servidor. ¿La solución? Usa el comando de dormir!
Añadiendo un par de comandos de reposo 3, esperar tres segundos, resuelve el problema. Primero repetiremos el nombre de usuario y la contraseña, y luego repetiremos el comando de reinicio, y cada vez esperaremos entre tres segundos. El comando final reiniciará el servidor inmediatamente:
(reposo 3; echo admin; sueño 3; echo mypassword; reposo 3; reinicio del sistema de eco; reposo 3;) | telnet 192.168.1.1
Puedes poner esto en un script de shell y ejecutarlo cuando quieras. O puede agregarlo a su cron de esta manera (en OS X o Linux):
crontab -e
Agregue esta línea en alguna parte:
1 7 * * * (sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; echo sistema reinicio; sleep 3;) | telnet 192.168.1.1
Esto reiniciará su enrutador a las 7:01 AM cada mañana.
Reiniciando el enrutador a la manera de Windows
Si está ejecutando Windows, es mucho más complicado programar esto automáticamente, pero definitivamente podemos hacerlo con bastante facilidad. Primero deberá ingresar al Panel de control, acceder al panel “Activar o desactivar las características de Windows” (solo búsquelo) y luego habilitar el Cliente Telnet..
Ahora puede pegar lo siguiente en el Bloc de notas, pero cambie la IP del enrutador si es necesario, y cambie la línea mypassword para que sea su contraseña real. Puede que necesite editar el script para diferentes comandos.
Opción explícita Dim oShell set oShell = Wscript.CreateObject ("WScript.Shell") oShell.Run "telnet" WScript.Sleep 3000 oShell.Sendkeys "abrir 192.168.1.1 ~" WScript.Sleep 3000 oShell.Sendkeys "admin ~" WScript. Sleep 3000 oShell.Sendkeys "mypassword ~" WScript.Sleep 3000 oShell.Sendkeys "reinicio del sistema ~" WScript.Sleep 3000 oShell.Sendkeys "~" Wscript.Quit
Guárdelo como una extensión .vbs, y luego puede hacer doble clic en él cada vez que desee reiniciar el enrutador.
Programación en Windows con una tarea programada
Abra el Programador de tareas y cree una nueva Tarea básica, dándole un nombre y un cronograma; todos los días a una hora determinada funcionaría. Luego use la opción Iniciar un programa y busque el archivo de script que ha creado.
Eso es todo lo que tienes que hacer..
Nota: Las instrucciones en este artículo son específicas de Verizon FIOS, pero probablemente pueda hacerlo con cualquier enrutador. Háganos saber en los comentarios si lo hace funcionar con otro enrutador y actualizaremos el artículo para reflejarlo..