21Jul
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 fastvaren, men det fungerer ikke 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 på enregelmessig. For meg betydde det hver morgen klokken 7, en time før jeg våkner, og igjen klokken 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 sannsynligvis 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 behøvde det å gå inn i Avansert - & gt;Lokal administrasjon og sørg 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 det er nødvendig( selv om de fleste er satt til å bruke 192-serien)
telnet 192.168.1.1Når du er inne, kan du vanligvis skrive hjelpekommandoen tilse 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, vil du bli frakoblet, og ruteren vil bli startet på nytt. Lett, ja. Men hvem vil gjøre alt som skriver hver gang?
Scripting Telnet via terminalen( OS X eller Linux eller Cygwin på Windows)
Vi antar at du har tilgang til bash-skjellet, enten det er i ditt vanlige OS, eller hvis OS( Windows) ikke har bash, du må 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 som dette:
( ekkokommandoen; ekko annenkommando) |telnet 192.168.1.1Det eneste problemet er å snakke innlogging som du må komme igjennom. .. 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 til 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:
( sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; echo system reboot; sleep 3;) |telnet 192.168.1.1Du kan sette dette inn i et skallskript og kjøre det når du vil. Eller du kan legge det til din cron som dette( på OS X eller Linux):
crontab -eLegg denne linjen et sted:
1 7 * * *( sleep 3; echo admin; sleep 3; echo mypassword; sleep 3;ekko system reboot; sleep 3;) |telnet 192.168.1.1Dette vil starte ruteren din kl 7:01 hver morgen.
Gjenopprette ruteren Windows Way
Hvis du kjører Windows, er det mye mer komplisert å planlegge dette automatisk, men vi kan definitivt skanne 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 bytt ut ruteren IP hvis nødvendig, og endre Mypassword-linjen til å være ditt egentlige 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. Sleep 3000 oShell. Sendkeys "mypassword ~" WScript. Sleep 3000 oShell. Sendkeys "systemgjenopprett ~" WScript. Sleep 3000 oShell. Sendkeys "~" Wscript. QuitLagre det som en. vbs-utvidelse, og så kan du doble-Klikk 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 på en bestemt dag daglig fungere. 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 ruteren, og vi oppdaterer artikkelen for å gjenspeile den.