21Jul

Så här startar du automatiskt din router på Geeky Way

Verizon FIOS är bra - hastigheterna är otroliga, och priset är. .. ja, ganska dyrt. Det verkliga problemet är att den hemska routern som de ger dig behöver omstartas hela tiden, vilket är en kunglig smärta med tanke på att den ligger i källaren. Dessutom vill jag inte gå i soffan.

Så jag tänkte på hur jag kunde lösa detta problem med hjälp av teknik. Det är vad geeks gör, eller hur?

Ja, jag vet att jag förmodligen kunde ringa Verizon och uppgradera routern, jag är säker på att de har en bättre modell nu. Visst, du kan uppdatera firmware, men det fungerar inte för min gamla router eftersom det inte finns någon uppdatering. Tiden för en enklare lösning som helst innebär ett cronjobb. Cron jobb är alltid ett bra beslut.

Efter tre minuters undersökning och brainstorming presenterade en lösning sig: Du kan aktivera telnet på routern, konfigurera ett skript som automatiskt kör en serie kommandon med telnet-gränssnittet och schemalägg sedan det scriptet med ett cron-jobb för att köras på ettregelbundet. För mig menade det varje morgon klockan 7, en timme innan jag vaknar och igen klockan 5:30, eftersom jag alltid är ute av huset vid den tiden. Problem löst, och jag kan använda Vim, vilket gör mig också glad.

Och du kan naturligtvis göra ett manus för att springa på begäran för att omedelbart starta om routern närhelst du vill.

Obs! du kan noga göra samma sak med en router som inte är Verizon. Du måste kontrollera routerns administratörspanel och se hur alternativen fungerar där.

Ansluta till routern via Telnet

Det första du vill göra är att räkna ut hur du aktiverar telnet på routern. För Verizon-routern krävde det att gå in i Advanced - & gt;Lokal administration och se till att "Använda Primär Telnet-port" är aktiverat. Se till att klicka på Apply.

Vid denna punkt kan du enkelt använda telnet från terminalen eller kommandotolken för att ansluta till routern. Om du använder Windows måste du förmodligen aktivera telnet. För att ansluta, skriv bara detta, ersätt IP-adressen för din egen router IP om det behövs( även om de flesta är inställda att använda 192-serien)

telnet 192.168.1.1

När du är inne där kan du vanligtvis skriva hjälpkommandot tillse vad alternativen är. För Verizon FIOS var det alternativ jag letade efter i underavsnittet, och fick titeln "omstart". Du måste faktiskt skriva "systemstart" och inte bara "omstart".

När du har skrivit kommandot vid prompten kommer du att kopplas från och routern startas om. Lätt, ja. Men vem vill göra allt som skriver varje gång?

Scripting Telnet via terminalen( OS X eller Linux eller Cygwin på Windows)

Vi antar att du har tillgång till bash-skalet, oavsett om det finns i ditt vanliga OS, eller om ditt OS( Windows) inte har bash, du kanske måste installera Cygwin.

Det är överraskande enkelt att skriva en uppsättning kommandon och röra dem i telnet-applikationen. Allt du behöver göra är något som detta:

( echo commandname; echo anothercommand) |telnet 192.168.1.1

Det enda problemet är den snygga inloggningen som du måste komma igenom. .. det dyker inte upp med en gång. Så om du rör i ett "echo admin" och sedan "echo password," det kommer att hända för snabbt och kommer inte skickas till servern. Lösningen? Använd sovkommandot!

Lägga till i ett par sömn 3 kommandon, för att vänta tre sekunder, löser problemet. Först kommer vi att echo användarnamnet och lösenordet, och sedan kommer vi att echo kommandot omstart, och varje gång vi väntar tre sekunder mellan. Det slutliga kommandot startar om servern omedelbart:

( Sova 3; Echo Admin; Sova 3; Echo Mypassword; Sova 3; Echo System Reboot; Sova 3;) |telnet 192.168.1.1

Du kan lägga detta i ett skalskript och köra det när du vill. Eller du kan lägga till den i din cron så här( på OS X eller Linux):

crontab -e

Lägg till den här raden någonstans:

1 7 * * *( Sova 3; Echo Admin; Sova 3; Echo Mypassword; Sova 3;ekosystem omstart, sömn 3;) |telnet 192.168.1.1

Det här startar om din router klockan 07:01 varje morgon.

Återställa routern på Windows-väg

Om du kör Windows är det mycket mer komplicerat att schemalägga det automatiskt, men vi kan definitivt skriva ut det tillräckligt enkelt. Först måste du gå in i Kontrollpanelen, gå till "Slå på Windows-funktioner på eller av" -panelen( sök bara efter det) och aktivera sedan Telnet-klienten.

Nu kan du klistra in följande i anteckningsblocket, men byt ut routerns IP om det behövs, och ändra mypassordslinjen för att vara ditt egentliga lösenord istället. Du kan behöva redigera manuset för olika kommandon.

Option explicit Dim oShell set oShell = Wscript. CreateObject( "WScript. Shell") oShell. Run "telnet" WScript. Sleep 3000 oShell. Sendkeys "öppna 192.168.1.1 ~" WScript. Sleep 3000 oShell. Sendkeys "admin ~" WScript. Sleep 3000 oShell. Sendkeys "mypassword ~" WScript. Sleep 3000 oShell. Sendkeys "systemåterstart ~" WScript. Sleep 3000 oShell. Sendkeys "~" Wscript. Quit

Spara det som en. vbs-förlängning, och då kan du dubbla-klick på det när du vill starta om routern.

Schemaläggning i Windows med en schemalagd uppgift

Öppna uppgiftsschemaläggaren och skapa ett nytt grundläggande uppdrag, vilket ger namnet och ett schema - det skulle fungera varje dag. Använd sedan alternativet Starta ett program och bläddra till skriptfilen som du har skapat.

Det är ganska mycket allt du behöver göra.

Obs! instruktionerna i denna artikel är specifika för Verizon FIOS men du kan noga göra det med någon router. Vänligen meddela oss i kommentarerna om du får det att fungera med en annan router och vi uppdaterar artikeln för att återspegla den.