Verizon FIOS este minunat - viteza este incredibilă, iar prețul este ... ei bine, cam scump. Adevărata problemă este că teribilul router pe care ți-l oferă trebuie să fie repornit tot timpul, ceea ce este o durere regală, având în vedere că este în subsol. În plus, nu vreau să cobor de pe canapea.
Așa că am gândit cum aș putea rezolva această problemă folosind tehnologia. Asta fac geeks, nu?
Da, știu, aș putea probabil să sun la Verizon și să actualizez routerul, 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. Este timpul pentru o soluție mai ușoară care implică în mod ideal un job cron. Locurile de muncă Cron sunt întotdeauna o decizie bună.
După trei minute de cercetare și brainstorming, s-a prezentat o soluție: puteți activa telnet pe router, puteți configura un script care rulează automat o serie de comenzi folosind interfața telnet și apoi programați acel script cu un job cron pentru a rula în mod regulat bază. Pentru mine, asta însemna în fiecare dimineață la 7 dimineața, cu o oră înainte să mă trezesc și din nou la 17:30, deoarece sunt mereu afară din casă în acel moment. Problema a fost rezolvată și pot folosi Vim, ceea ce mă face și fericit.
Și, desigur, puteți crea un script pentru a rula la cerere pentru a reporni imediat routerul oricând 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 al 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 pe router. Pentru routerul Verizon, acest lucru necesită accesarea Advanced -> Local Administration și asigurarea faptului că „Utilizarea portului Telnet primar” este activat. Asigurați-vă că dați clic pe Aplicați.
În acest moment puteți utiliza cu ușurință telnet de la terminal sau de la promptul de comandă pentru a vă conecta la router. Dacă utilizați Windows, probabil va trebui să activați telnet. Pentru a vă conecta, tastați doar acest lucru, înlocuind adresa IP cu IP-ul propriului router, dacă este necesar (deși majoritatea sunt setate să utilizeze gama 192)
telnet 192.168.1.1
După ce vă aflați acolo, puteți tasta de obicei comanda de ajutor pentru a vedea care sunt opțiunile. Pentru Verizon FIOS, opțiunea pe care o căutam era în subsecțiunea de sistem și era intitulată în mod corespunzător „repornire”. De fapt, trebuie să tastați „repornirea sistemului” și nu doar „repornirea”.
După ce tastați comanda la prompt, veți fi deconectat și routerul va fi repornit. Ușor, da. Dar cine vrea să facă toate astea de tastare de fiecare dată?
Scriptarea 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. de operare normal sau dacă sistemul dvs. de operare (Windows) nu are bash, poate fi necesar să instalați Cygwin .
Este surprinzător de ușor să creați un set de comenzi și să le introduceți în aplicația telnet. Tot ce trebuie să faceți este ceva de genul acesta:
(echo nume comandă; ecou altă comandă) | telnet 192.168.1.1
Singura problemă este conectarea dureroasă pe care trebuie să o treceți ... nu apare imediat. Deci, dacă introduceți un „echo admin” și apoi „echo password”, se va întâmpla prea repede și nu va fi trimis la server. Soluția? Folosiți comanda sleep!
Adăugarea în câteva somn a 3 comenzi, pentru a aștepta trei secunde, rezolvă problema. Mai întâi vom reaminti numele de utilizator și parola, apoi vom reaminti comanda de repornire și de fiecare dată vom aștepta trei secunde între ele. Comanda finală va reporni serverul imediat:
(sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; echo system reboot; sleep 3;) | telnet 192.168.1.1
Puteți pune acest lucru într-un script shell și îl puteți rula oricând doriți. Sau îl puteți adăuga la cronul dvs. astfel (pe OS X sau Linux):
crontab -e
Adăugați această linie undeva:
1 7 * * * (sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; echo system reboot; sleep 3;) | telnet 192.168.1.1
Aceasta va reporni routerul la 7:01 AM în fiecare dimineață.
Repornirea routerului în modul Windows
Dacă rulați Windows, este mult mai complicat să programați automat acest lucru, dar cu siguranță îl putem scripta suficient de ușor. Mai întâi va trebui să accesați Panoul de control, să accesați panoul „Activarea sau dezactivarea caracteristicilor Windows” (căutați-l doar) și apoi activați clientul Telnet.
Acum puteți lipi următoarele în Notepad, dar schimbați adresa IP a routerului dacă este necesar și schimbați linia mypassword pentru a fi parola dvs. reală. Poate fi necesar să editați scriptul pentru diferite comenzi.
Opțiune explicită Dim oShell set oShell = 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 "repornirea sistemului ~" WScript.Sleep 3000 oShell.Sendkeys "~" Wscript.Quit
Salvați-l ca extensie .vbs și apoi puteți face 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 o anumită oră ar funcționa. Apoi utilizați opțiunea Porniți un program și navigați la fișierul de script pe care l-ați creat.
Este cam tot ce trebuie să faci.
Notă: instrucțiunile din acest articol sunt specifice Verizon FIOS, dar probabil puteți face acest lucru cu orice router. Vă rugăm să ne informați în comentarii dacă faceți ca acesta să funcționeze cu un alt router și vom actualiza articolul pentru a-l reflecta.