Slik gjenoppretter du ruteren din automatisk på Geeky Way
Verizon FIOS er flott - hastighetene er utrolig, og prisen er ... vel, ganske dyrt. Det virkelige problemet er at den forferdelige ruteren de gir deg, må gjenopprettes hele tiden, noe som er en kongelig smerte med tanke på at den er nede i kjelleren. I tillegg vil jeg ikke gå av sofaen.
Så jeg tenkte på hvordan jeg kunne løse dette problemet ved hjelp av teknologi. Det er hva geeks gjør, ikke sant?
Ja, jeg vet, jeg kunne nok ringe Verizon og oppgradere ruteren, jeg er sikker på at de har en bedre modell nå. Og sikkert, du kan oppdatere firmware, men det vil ikke fungere for min gamle ruteren siden det ikke er en oppdatering. Tid for en enklere løsning som ideelt sett innebærer en cron jobb. Cron jobber er alltid en god beslutning.
Etter tre minutter med forskning og brainstorming, presenterte en løsning: Du kan aktivere telnet på ruteren, sette opp et skript som automatisk kjører en rekke kommandoer ved hjelp av telnet-grensesnittet, og deretter planlegge det skriptet med en cron-jobb for å kjøre regelmessig basis. For meg betydde det hver morgen klokken 7, en time før jeg våkner, og igjen klokka 17:30, siden jeg alltid er ute av huset på det tidspunktet. Problemet løst, og jeg kan bruke Vim, som også gjør meg glad.
Og selvfølgelig kan du lage et skript for å kjøre på forespørsel for å omstarte ruteren umiddelbart når du vil.
Merk: du kan nok gjøre det samme med en router som ikke er Verizon. Du må sjekke rutens administrasjonspanel og se hvordan alternativene fungerer der.
Koble til ruteren via Telnet
Det første du vil gjøre er å finne ut hvordan du aktiverer telnet på ruteren. For Verizon-ruteren var det nødvendig å gå inn i Avansert -> Lokal administrasjon og sørge for at "Bruke Primær Telnet-port" er aktivert. Pass på å klikke på Bruk.
På dette punktet kan du enkelt bruke telnet fra terminalen eller ledeteksten for å koble til ruteren. Hvis du bruker Windows, må du sannsynligvis aktivere telnet. For å koble til skriver du bare dette, og erstatter IP-adressen til din egen ruters IP hvis nødvendig (selv om de fleste er satt til å bruke 192-serien)
telnet 192.168.1.1
Når du er der, kan du vanligvis skrive hjelpekommandoen for å se hva alternativene er. For Verizon FIOS var alternativet jeg lette etter, i systemets underavdeling, og var passende tittelen "reboot." Du må faktisk skrive "systemstart" og ikke bare "reboot" skjønt.
Når du skriver inn kommandoen ved spørringen, blir du koblet fra, og ruteren vil bli startet på nytt. Lett, ja. Men hvem vil gjøre alt som skriver hver gang?
Scripting Telnet gjennom terminalen (OS X eller Linux eller Cygwin på Windows)
Vi kommer til å anta at du har tilgang til bash-skallet, enten det er i ditt vanlige OS, eller hvis OS-en din (Windows) ikke har bash, må du kanskje installere Cygwin.
Det er overraskende enkelt å skanne et sett med kommandoer og rør dem inn i telnet-applikasjonen. Alt du trenger å gjøre er noe slikt:
(ekkokommandoen; ekko annenkommando) | telnet 192.168.1.1
Det eneste problemet er nagging innlogging som du må komme gjennom ... det kommer ikke opp med en gang. Så hvis du piper i en "ekkoadministrator" og deretter "ekkopassord", vil det skje for fort og vil ikke bli sendt til serveren. Løsningen? Bruk sovkommandoen!
Legge i et par søvn 3 kommandoer, for å vente tre sekunder, løser problemet. Først vil vi ekko brukernavnet og passordet, og da vil vi ekko kommandoen for omstart, og hver gang vi venter tre sekunder mellom. Den endelige kommandoen vil starte serveren omgående på nytt:
(sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; echo system reboot; sleep 3;) | telnet 192.168.1.1
Du kan sette dette inn i et skallskript og kjøre det når du vil. Eller du kan legge den til din cron som dette (på OS X eller Linux):
crontab -e
Legg til denne linjen et sted:
1 7 * * * (sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; echo system reboot; sleep 3;) | telnet 192.168.1.1
Dette vil starte om ruteren klokken 07:01 hver morgen.
Gjenopprett ruteren på Windows-måten
Hvis du kjører Windows, er det mye mer komplisert å planlegge dette automatisk, men vi kan definitivt skrive det ut lett nok. Først må du gå inn i Kontrollpanel, gå til "Slå Windows-funksjoner på eller av" panel (bare søk etter det), og aktiver deretter Telnet-klienten.
Nå kan du lime inn følgende i Notisblokk, men endre IP-ruteren hvis nødvendig, og endre Mypassword-linjen for å være ditt eget passord i stedet. Du må kanskje redigere skriptet for forskjellige kommandoer.
Alternativ eksplisitt Dim oShell sett oShell = Wscript.CreateObject ("WScript.Shell") oShell.Run "telnet" WScript.Sleep 3000 oShell.Sendkeys "åpne 192.168.1.1 ~" WScript.Sleep 3000 oShell.Sendkeys "admin ~" WScript. Sove 3000 oShell.Sendkeys "mypassword ~" WScript.Sleep 3000 oShell.Sendkeys "systemstart" ~ WScript.Sleep 3000 oShell.Sendkeys "~" Wscript.Quit
Lagre det som en .vbs-utvidelse, og deretter kan du dobbeltklikke på det når du vil starte om ruteren.
Planlegging i Windows med en planlagt oppgave
Åpne oppgaveplanleggeren og opprett en ny grunnleggende oppgave, og gi den et navn og en tidsplan - det vil da fungere daglig på en bestemt tid. Bruk deretter alternativet Start et program og bla til skriptfilen du har opprettet.
Det er stort sett alt du trenger å gjøre.
Merk: instruksjonene i denne artikkelen er spesifikke for Verizon FIOS, men du kan sannsynligvis gjøre dette med en hvilken som helst ruter. Gi oss beskjed i kommentarene hvis du får det til å fungere med en annen ruter, og vi oppdaterer artikkelen for å gjenspeile den.