If-Koubou

Cum de a reporni automat Router-ul tău Geeky

Cum de a reporni automat Router-ul tău Geeky (Cum să)

Verizon FIOS este minunat - vitezele sunt incredibile, iar prețul este ... bine, destul de scump. Problema reală este că routerul teribil pe care îl dau trebuie să fie repornit tot timpul, ceea ce reprezintă o durere regală, având în vedere că este în subsol. În plus, nu vreau să cobor pe canapea.

Așa că am gândit cum aș putea rezolva această problemă folosind tehnologia. Așa fac geekii, nu?

Da, știu, aș putea să sun pe Verizon și să îmbunătățesc router-ul, sunt sigur că au un model mai bun acum. Și sigur, puteți actualiza firmware-ul, dar asta nu va funcționa pentru vechiul meu router, deoarece nu există o actualizare. Timp pentru o soluție mai ușoară, care implică, în mod ideal, o activitate cron. Activitățile Cron sunt întotdeauna o decizie bună.

După trei minute de cercetare și brainstorming, sa prezentat o soluție: puteți să activați telnet pe router, să configurați un script care rulează automat o serie de comenzi utilizând interfața telnet și apoi să programați acel script cu o sarcină cron să ruleze pe o rețea obișnuită bază. Pentru mine, asta însemna în fiecare dimineață la ora 7:00, cu o oră înainte de a mă trezi și din nou la ora 17:30, fiindcă mereu am ieșit din casă în acel moment. Problema este rezolvată și pot folosi Vim, ceea ce mă face și eu fericit.

Și, desigur, puteți face un script pentru a rula la cerere pentru a reporni imediat ruterul ori de câte ori doriți.

Notă:probabil că puteți face același lucru cu un router care nu este Verizon. Va trebui să verificați panoul de administrare a routerului și să vedeți cum funcționează opțiunile acolo.

Conectarea la Router prin Telnet

Primul lucru pe care doriți să-l faceți este să aflați cum să activați telnet-ul pe router. Pentru routerul Verizon, care necesită intrarea în Advanced -> Administrație locală și asigurarea că "Utilizarea portului primar Telnet" este activată. Asigurați-vă că faceți clic pe Aplicați.

În acest moment, puteți utiliza cu ușurință telnet din terminalul sau din linia de comandă pentru a vă conecta la router. Dacă utilizați Windows, va trebui probabil să activați telnet. Pentru a vă conecta, tastați doar acest lucru, înlocuind adresa IP pentru IP-ul propriului router, dacă este necesar (deși cele mai multe sunt setate să utilizeze intervalul 192)

telnet 192.168.1.1

Odată ce sunteți acolo, puteți tasta de obicei comanda de ajutor pentru a vedea ce opțiuni sunt. Pentru Verizon FIOS, opțiunea pe care o căutam a fost în sub-secțiunea de sistem și a fost denumită în mod repetat "reboot". Trebuie să introduceți tipul de "reboot sistem" și nu doar "reboot".

După ce introduceți comanda la prompt, veți fi deconectat și ruterul va fi repornit. Ușor, da. Dar cine vrea să facă tot ce scrie de fiecare dată?

Scripting Telnet prin Terminal (OS X sau Linux sau Cygwin pe Windows)

Vom presupune că aveți acces la shell-ul bash, indiferent dacă acesta este în sistemul dvs. normal de operare sau dacă sistemul dvs. de operare (Windows) nu are bash, este posibil să fie necesar să instalați Cygwin.

Este surprinzător de ușor să scriem un set de comenzi și să le folosim în aplicația telnet. Tot ce trebuie să faceți este ceva de genul:

(nume de comandă ecou; echo othercommand) telnet 192.168.1.1

Singura problemă este conectarea la naștere pe care trebuie să o depășiți ... nu apare imediat. Deci, dacă conduceți într-un "admin ecou" și apoi "parola ecou", se va întâmpla prea repede și nu va fi trimis la server. Soluția? Utilizați comanda de somn!

Adăugarea în câteva comenzi de somn 3, pentru a aștepta trei secunde, rezolvă problema. Mai întâi vom reda numele de utilizator și parola, iar apoi vom repeta comanda de repornire și de fiecare dată vom aștepta trei secunde între. Comanda finală va reporni imediat serverul:

(somn 3, echo admin, somn 3, echo mypassword, somn 3, reboot sistem echo, somn 3;) | telnet 192.168.1.1

Puteți pune acest lucru într-un script de shell și rulați-l ori de câte ori doriți. Sau puteți să o adăugați în cronul dvs. (pe OS X sau Linux):

crontab -e

Adăugați această linie undeva:

1 7 * * * (somn 3, echo admin, somn 3, echo mypassword, somn 3, reboot sistem echo, somn 3;) | telnet 192.168.1.1

Acest lucru va reporni router-ul la 7:01 în fiecare dimineață.

Repornirea Router-ului cu Windows-ul

Dacă executați Windows, este mult mai complicat să programați acest lucru în mod automat, însă cu siguranță putem să-l scriem cu ușurință. Mai întâi trebuie să intrați în Panoul de control, accesați panoul "Porniți sau dezactivați caracteristicile Windows" (doar căutați-l) și apoi activați Clientul Telnet.

Acum puteți insera următoarele în Notepad, dar schimbați IP-ul router-ului, dacă este necesar, și schimbați linia de cuvinte-cheie ca parolă reală. Este posibil să fie necesar să modificați scriptul pentru diferite comenzi.

Opțiune explicită Setare oShell DimShell = Wscript.CreateObject ("WScript.Shell") oShell.Run "telnet" WScript.Sleep 3000 oShell.Sendkeys "deschis 192.168.1.1 ~" WScript.Sleep 3000 oShell.Sendkeys "admin" "WScript. Sleep 3000 oShell.Sendkeys "mypassword ~" WScript.Sleep 3000 oShell.Sendkeys "sistem de repornire ~" WScript.Sleep 3000 oShell.Sendkeys "~" Wscript.Quit

Salvați-l ca o extensie .vbs și apoi faceți dublu clic pe el oricând doriți să reporniți routerul.

Programarea în Windows cu o sarcină programată

Deschideți Task Scheduler și creați o nouă sarcină de bază, oferindu-i un nume și un program - zilnic la un moment dat ar funcționa. Apoi, utilizați opțiunea Porniți un program și răsfoiți fișierul script pe care l-ați creat.

Asta e tot ce trebuie să faci.

Notă:instrucțiunile din acest articol sunt specifice pentru FIOS-ul Verizon, dar probabil că puteți face acest lucru cu orice router. Spuneți-ne în comentariile dvs. dacă ați lucra cu un alt router și vom actualiza articolul pentru a-l reflecta.