21Jul
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ă m-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 pentru a rula pe unin mod regulat. 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 router-ul ori de câte ori doriți.
Notă: 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 routerul dvs. 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 - & gt;Administrarea 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 propriul IP al ruterului, dacă este necesar( deși cele mai multe sunt setate să utilizeze intervalul 192)
telnet 192.168.1.1Odată ce sunteți acolo, de obicei, tastați comanda de ajutora 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 tastaț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ă este în sistemul dvs. normal de operare sau dacă sistemul dvs. de operare( Windows) nu are bash, este posibil să trebuiască să instalați Cygwin.
Este surprinzător de ușor să scripți un set de comenzi și să le introduceți în aplicația telnet. Tot ce trebuie să faceți este ceva de felul următor:
( nume de comandă ecou; echo othercommand)telnet 192.168.1.1Singura problemă este autentificarea la care trebuie să treci. .. nu apare imediat. Deci, dacă conduceți într-un "admin echo" și apoi "parola echo", se va întâmpla prea repede și nu va fi trimis la server. Soluția? Utilizați comanda de somn!
Adăugând 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 serverul imediat:
( somn 3, ecou admin, somn 3, echo mypassword, somn 3, reboot sistem de repornire, somn 3;) |telnet 192.168.1.1Puteți pune acest lucru într-un script de shell și îl puteți rula ori de câte ori doriți. Sau puteți să-l adăugați în cron-ul dvs.( pe OS X sau Linux):
crontab -eAdăugați această linie undeva:
1 7 * * *( somn 3, echo admin, somn 3, echo mypassword;echo sistem reboot; somn 3;)telnet 192.168.1.1Acest lucru va reporni router-ul la 7:01 în fiecare dimineață.
Repornirea routerului cu calea Windows
Dacă rulați Windows, este mult mai complicat să programați acest lucru automat, dar putem să îl scriem cu siguranță 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ă Dim set oShell Set oShell = Wscript. CreateObject( "WScript. Shell") oShell. Run "telnet" WScript. Sleep 3000 oShell. Sendkeys "deschide 192.168.1.1 ~" WScript. Sleep 3000 oShell. Sendkeys "admin ~" WScript. Setați 3000 oShell. Sendkeys "mypassword ~" WScript. Sleep 3000 oShell. Sendkeys "sistem de repornire ~" WScript. Sleep 3000 oShell. Sendkeys "~" Wscript. QuitSalvați-l ca o extensie. vbs și apoi puteți dubla- faceți 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 Verizon FIOS, 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.