Cum să reporniți automat Router-ul pe calea goală
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, corect?
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 acest lucru 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 scriptul cu o sarcină cron pentru a rula 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 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, trebuie doar să tastați acest lucru, înlocuind adresa IP pentru propriul IP al routerului, 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ă tastați tipul de "reboot de sistem" și nu doar "reboot".
După ce introduceți comanda la prompt, veți fi deconectat și routerul 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ă fie necesar 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 genul:
(nume de comandă ecou; echo othercommand) telnet 192.168.1.1
Singura problemă este autentificarea la care trebuie să treci ... 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 serverul imediat:
(somn 3, ecos admin, somn 3, echo mypassword, somn 3, reboot sistem de ecou, somn 3;) | telnet 192.168.1.1
Puteți pune acest lucru într-un script 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; ecos admin; somn 3; echo mypassword; somn 3; repornirea sistemului ecou; somn 3; telnet 192.168.1.1
Acest lucru va reporni router-ul la 7:01 în fiecare dimineață.
Repornirea Router-ului cu Windows
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 introduce 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 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ă o veți utiliza pentru a lucra cu un alt router și vom actualiza articolul pentru ao reflecta.