21Jul
Verizon FIOS er fantastisk - hastighederne er utrolige, og prisen er. .. godt, lidt dyrt. Det reelle problem er, at den frygtelige router, de giver dig, skal genstartes hele tiden, hvilket er en kongelig smerte, da det er nede i kælderen. Plus, jeg ønsker ikke at komme ud af sofaen.
Så jeg overvejede, hvordan jeg kunne løse dette problem ved hjælp af teknologi. Det er hvad nørder gør, ikke?
Ja, jeg ved, jeg kunne nok kalde Verizon og opgradere routeren, jeg er sikker på, at de nu har en bedre model. Og du kan opdatere firmwaren, men det virker ikke for min gamle router, da der ikke er en opdatering. Tid til en nemmere løsning, der ideelt set indebærer et cron job. Cron job er altid en god beslutning.
Efter tre minutters forskning og brainstorming præsenterede en løsning sig: Du kan aktivere telnet på routeren, indstille et script, som automatisk kører en række kommandoer ved hjælp af telnet-grænsefladen, og derefter planlægge det script med et cron-job til at køre på enOfte. For mig betød det hver morgen klokken 7, en time før jeg vågner op og igen klokken 5:30, da jeg altid er ude af huset på det tidspunkt. Problemet løst, og jeg kan bruge Vim, som også gør mig glad.
Og selvfølgelig kan du lave et script til at køre efter behov for at genstarte routeren straks, når du vil.
Bemærk: kan du nok gøre det samme med en router, der ikke er Verizon. Du skal kontrollere dit routeradministrationspanel og se, hvordan mulighederne fungerer der.
Tilslutning til din router via Telnet
Det første du vil gøre er at finde ud af, hvordan du aktiverer telnet på routeren. For Verizon-routeren kræves det at gå i Avanceret - & gt;Lokal administration og sørg for at "Brug af primær Telnet-port" er aktiveret. Sørg for at klikke på Anvend.
På dette tidspunkt kan du nemt bruge telnet fra terminalen eller kommandoprompten for at oprette forbindelse til routeren. Hvis du bruger Windows, skal du sandsynligvis aktivere telnet. For at oprette forbindelse skal du blot skrive dette og erstatte IP-adressen til din egen router's IP, hvis det er nødvendigt( selvom de fleste er indstillet til at bruge 192-serien)
telnet 192.168.1.1Når du er derinde, kan du typisk skrive hjælpekommandoen tilse hvad mulighederne er. For Verizon FIOS var den mulighed, jeg ledte efter, i systemets underafsnit, og fik titlen "genstart." Du skal faktisk skrive "system genstart" og ikke bare "genstart".
Når du har indtastet kommandoen ved prompten, bliver du afbrudt, og routeren genstartes. Let jaMen hvem vil gerne gøre alt, hvad der skrives hver gang?
Scripting Telnet via terminalen( OS X eller Linux eller Cygwin på Windows)
Vi vil antage, at du har adgang til bash shell, uanset om det er i dit normale OS, eller hvis dit OS( Windows) ikke har bash, skal du muligvis installere Cygwin.
Det er overraskende nemt at scriptere et sæt kommandoer og rør dem ind i telnet applikationen. Alt du skal gøre er noget som dette:
( echo commandname; echo anothercommand) |telnet 192.168.1.1Det eneste problem er det snigende login, som du skal komme igennem. .. det vises ikke med det samme. Så hvis du rør i en "echo admin" og så "echo password", sker det for hurtigt og vil ikke blive sendt til serveren. Løsningen? Brug kommandoen søvn!
Tilføje i et par søvn 3 kommandoer, for at vente tre sekunder løser problemet. Først vil vi ekko brugernavnet og adgangskoden, og så echo vi genstartskommandoen, og hver gang venter vi tre sekunder mellem. Den endelige kommando genstarter serveren med det samme:
( søvn 3; echo admin; sleep 3; echo mypassword; sleep 3; echo system genstart; sleep 3;) |telnet 192.168.1.1Du kan sætte dette i et shell script og køre det, når du vil. Eller du kan føje det til din cron som dette( på OS X eller Linux):
crontab -eTilføj denne linje et sted:
1 7 * * *( sove 3; echo admin; sleep 3; echo mypassword; sleep 3;ekko system genstart; sove 3;) |telnet 192.168.1.1Dette vil genstarte din router kl. 07:01 hver morgen.
Genstarter routeren Windows Way
Hvis du kører Windows, er det meget mere kompliceret at planlægge dette automatisk, men vi kan helt sikkert skanne det ud nok nok. Først skal du gå ind i Kontrolpanel, gå til "Slå Windows-funktioner til eller fra" panel( søg bare efter det), og aktiver derefter Telnet-klienten.
Nu kan du indsætte følgende i Notesblok, men udskift routeren IP, hvis det er nødvendigt, og skift mypassordlinjen til at være din egentlige adgangskode i stedet. Du skal muligvis redigere scriptet til forskellige kommandoer.
Option eksplicit Dim oShell set oShell = Wscript. CreateObject( "WScript. Shell") oShell. Run "telnet" WScript. Sleep 3000 oShell. Sendkeys "Åbn 192.168.1.1 ~" WScript. Sleep 3000 oShell. Sendkeys "admin ~" WScript. Sleep 3000 oShell. Sendkeys "mypassword ~" WScript. Sleep 3000 oShell. Sendkeys "system genstart ~" WScript. Sleep 3000 oShell. Sendkeys "~" Wscript. QuitGem det ud som en. vbs udvidelse, og så kan du dobbelt-Klik på det, når du vil genstarte routeren.
Planlægning i Windows med en planlagt opgave
Åbn opgaveskemalderen og opret en ny grundlæggende opgave, der giver det et navn og en tidsplan - det vil på et bestemt tidspunkt fungere dagligt. Brug derefter programmet Start et program og bliv til den scriptfil, du har oprettet.
Det er stort set alt hvad du skal gøre.
Bemærk: instruktionerne i denne artikel er specifikke for Verizon FIOS, men det kan du nok gøre med en hvilken som helst router. Lad os vide i kommentarerne, hvis du får det til at fungere sammen med en anden router, og vi opdaterer artiklen for at afspejle den.