Homepage » come » Come riavviare automaticamente il router in modo Geeky

    Come riavviare automaticamente il router in modo Geeky

    Verizon FIOS è fantastico - le velocità sono incredibili e il prezzo è ... beh, un po 'caro. Il vero problema è che il terribile router che ti danno ha bisogno di essere riavviato continuamente, il che è un dolore reale considerando che è giù nel seminterrato. Inoltre, non voglio scendere dal divano.

    Così ho pensato a come risolvere questo problema usando la tecnologia. Questo è ciò che fanno i geek, giusto?

    Sì, lo so, probabilmente potrei chiamare Verizon e aggiornare il router, sono sicuro che ora hanno un modello migliore. E sicuramente, è possibile aggiornare il firmware, ma questo non funzionerà con il mio vecchio router poiché non c'è un aggiornamento. Tempo per una soluzione più semplice che idealmente coinvolge un lavoro cron. I lavori Cron sono sempre una buona decisione.

    Dopo tre minuti di ricerca e brainstorming, si è presentata una soluzione: è possibile abilitare il telnet sul router, impostare uno script che esegua automaticamente una serie di comandi utilizzando l'interfaccia telnet e quindi pianificare lo script con un cron job da eseguire su un normale base. Per me, ciò significava ogni mattina alle 7 del mattino, un'ora prima del mio risveglio, e di nuovo alle 5:30 del pomeriggio, visto che sono sempre fuori di casa a quel punto. Problema risolto, e posso usare Vim, che mi rende anche felice.

    E, naturalmente, è possibile eseguire uno script su richiesta per riavviare immediatamente il router quando lo si desidera.

    Nota: probabilmente puoi fare la stessa cosa con un router che non è Verizon. Dovrai controllare il pannello di amministrazione del tuo router e vedere come funzionano le opzioni lì.

    Connessione al tuo router tramite Telnet

    La prima cosa che vorrai fare è capire come abilitare il telnet sul router. Per il router Verizon, è stato necessario accedere a Advanced -> Local Administration e assicurarsi che "Using Primary Telnet Port" sia abilitato. Assicurati di fare clic su Applica.

    A questo punto è possibile utilizzare facilmente telnet dal terminale o prompt dei comandi per connettersi al router. Se stai usando Windows, probabilmente dovrai abilitare Telnet. Per connetterti, digita questo, sostituendo l'indirizzo IP per l'IP del tuo router, se necessario (anche se molti sono impostati per utilizzare l'intervallo 192)

    telnet 192.168.1.1

    Una volta che sei lì, di solito puoi digitare il comando help per vedere quali sono le opzioni. Per Verizon FIOS, l'opzione che stavo cercando era nella sottosezione di sistema, ed era giustamente intitolata "reboot". Devi effettivamente digitare "riavvio del sistema" e non solo "riavvio" anche se.

    Dopo aver digitato il comando al prompt, sarai disconnesso e il router verrà riavviato. Facile, sì. Ma chi vuole fare tutto ciò che scrive ogni volta?

    Scripting Telnet tramite il terminale (OS X o Linux o Cygwin su Windows)

    Supponiamo che tu abbia accesso alla shell bash, che sia nel tuo normale SO, o se il tuo SO (Windows) non ha bash, potresti dover installare Cygwin.

    È sorprendentemente facile scrivere una serie di comandi e inserirli nell'applicazione telnet. Tutto ciò che devi fare è qualcosa del genere:

    (echo commandname; echo anothercommand) | telnet 192.168.1.1

    L'unico problema è il fastidioso login che devi superare ... non viene visualizzato subito. Quindi, se inserisci un "echo admin" e poi "echo password", avverrà troppo rapidamente e non verrà inviato al server. La soluzione? Usa il comando di sonno!

    Aggiungendo un paio di comandi sleep 3, per attendere tre secondi, risolve il problema. Per prima cosa echeggeremo il nome utente e la password, quindi echeeremo il comando di riavvio e ogni volta aspetteremo tra tre secondi. Il comando finale riavvierà immediatamente il server:

    (sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; echo system reboot; sleep 3;) | telnet 192.168.1.1

    Puoi metterlo in uno script di shell ed eseguirlo quando vuoi. Oppure puoi aggiungerlo al tuo cron in questo modo (su OS X o Linux):

    crontab -e

    Aggiungi questa linea da qualche parte:

    1 7 * * * (sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; echo system reboot; sleep 3;) | telnet 192.168.1.1

    Questo riavvierà il router alle 7:01 AM ogni mattina.

    Riavvio del router in modalità Windows

    Se stai usando Windows, è molto più complicato programmarlo automaticamente, ma possiamo sicuramente copiarlo abbastanza facilmente. Per prima cosa dovrai andare nel Pannello di controllo, accedere al pannello "Attiva o disattiva le funzionalità di Windows" (cercalo solo), quindi abilitare il client Telnet.

    Ora puoi incollare quanto segue in Blocco note, ma cambiare l'IP del router se necessario, e modificare invece la linea di parole chiave in modo che sia la tua vera password. Potrebbe essere necessario modificare lo script per diversi comandi.

    Opzione esplicita Dim oShell set oShell = Wscript.CreateObject ("WScript.Shell") oShell.Run "telnet" WScript.Sleep 3000 oShell.Sendkeys "apre 192.168.1.1 ~" WScript.Sleep 3000 oShell.Sendkeys "admin ~" WScript. Sleep 3000 oShell.Sendkeys "mypassword ~" WScript.Sleep 3000 oShell.Sendkeys "riavvio del sistema ~" WScript.Sleep 3000 oShell.Sendkeys "~" Wscript.Quit

    Salvalo come estensione .vbs, quindi puoi fare doppio clic su di esso ogni volta che desideri riavviare il router.

    Pianificazione in Windows con un'attività pianificata

    Aprire l'Utilità di pianificazione e creare una nuova attività di base, assegnandogli un nome e un programma - ogni giorno a un certo orario funzionerebbe. Quindi utilizza l'opzione Avvia un programma e cerca il file di script che hai creato.

    Questo è praticamente tutto quello che devi fare.

    Nota: le istruzioni in questo articolo sono specifiche per Verizon FIOS ma è possibile farlo con qualsiasi router. Fateci sapere nei commenti se si lavora con un altro router e aggiorneremo l'articolo per rispecchiarlo.