Sådan genstartes din Router automatisk på Geeky Way
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, rigtigt?
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 undersøgelse og brainstorming præsenterede en løsning sig: Du kan aktivere telnet på routeren, indstille et script, der 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å en regelmæssig basis. 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 på forespørgsel for at genstarte routeren straks, når du vil.
Bemærk: du kan 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 router, der krævede at gå til Advanced -> Local Administration og sørg for "Brug af Primary Telnet Port" er aktiveret. Sørg for at klikke på Anvend.
På dette tidspunkt kan du nemt bruge telnet fra terminalen eller kommandoprompten til 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.1
Når du er derinde, kan du normalt skrive hjælpekommandoen for at se, hvad mulighederne er. For Verizon FIOS var den mulighed, jeg søgte, i systemets underafsnit, og det var passende titlen "reboot." Du skal faktisk skrive "system genstart" og ikke bare "genstarte" selvom.
Når du har indtastet kommandoen ved prompten, bliver du afbrudt, og routeren genstartes. Nemt, ja. Men hvem vil gerne gøre alt, der skriver hver gang?
Scripting Telnet gennem terminalen (OS X eller Linux eller Cygwin på Windows)
Vi går ud fra, at du har adgang til bash-skalen, uanset om det er i dit normale operativsystem, eller hvis dit operativsystem (Windows) ikke har bash, skal du muligvis installere Cygwin.
Det er overraskende let at scribe et sæt kommandoer og rør dem ind i telnet applikationen. Alt du skal gøre er noget som dette:
(ekko kommandoenavn; ekko andenkommando) | telnet 192.168.1.1
Det 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 derefter "echo password", vil det ske for hurtigt og vil ikke blive sendt til serveren. Løsningen? Brug kommandoen søvn!
Tilføjelse 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 genstart kommandoen, og hver gang venter vi tre sekunder mellem. Den endelige kommando genstarter serveren med det samme:
(sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; echo system genstart; sleep 3;) | telnet 192.168.1.1
Du 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 -e
Tilføj denne linje et sted:
1 7 * * * (Sove 3; Ekko admin; Sove 3; Ekko Mypassword; Sove 3; Ekko System Genstart; Sove 3;) | telnet 192.168.1.1
Dette vil genstarte din router kl. 07:01 hver morgen.
Genstart routeren på Windows-måde
Hvis du kører Windows, er det meget mere kompliceret at planlægge dette automatisk, men vi kan helt sikkert skanne det ud nemt nok. Først skal du gå ind i Kontrolpanel, gå til "Slå Windows-funktioner til eller fra" panel (søg kun efter det), og aktiver derefter Telnet-klienten.
Nu kan du indsætte følgende i Notesblok, men ændrer routeren IP, hvis det er nødvendigt, og ændrer 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. Sove 3000 oShell.Sendkeys "mypassword ~" WScript.Sleep 3000 oShell.Sendkeys "system genstart ~" WScript.Sleep 3000 oShell.Sendkeys "~" Wscript.Quit
Gem det som en .vbs udvidelse, og så kan du dobbeltklikke på det, når du vil genstarte routeren.
Planlægning i Windows med en planlagt opgave
Åbn opgaveplanlæggeren og opret en ny grundlæggende opgave, der giver det et navn og en tidsplan - dagligt på et bestemt tidspunkt ville fungere. Brug derefter programmet Start et program og søg efter 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 enhver router. Lad os vide i kommentarerne, hvis du får det til at fungere med en anden router, og vi opdaterer artiklen for at afspejle den.