/ / Hoe u uw router automatisch opnieuw kunt opstarten op de Geeky Way

Hoe u uw router automatisch op dezelfde manier opnieuw opstart

Verizon FIOS is geweldig - de snelheden zijnongelooflijk, en de prijs is ... nou ja, best duur. Het echte probleem is dat de vreselijke router die ze je geven de hele tijd opnieuw moet worden opgestart, wat een koninklijke pijn is gezien het in de kelder is. Bovendien wil ik niet van de bank af.

Dus ik overwoog hoe ik dit probleem met behulp van technologie kon oplossen. Dat is wat geeks doen, toch?

Ja, ik weet het, ik zou waarschijnlijk Verizon kunnen bellen enupgrade de router, ik weet zeker dat ze nu een beter model hebben. En natuurlijk, je kunt de firmware bijwerken, maar dat werkt niet voor mijn oude router, omdat er geen update is. Tijd voor een gemakkelijkere oplossing die idealiter een cron-taak omvat. Cron-banen zijn altijd een goede beslissing.

Na drie minuten onderzoek enbrainstorming, een oplossing die zich aandiende: u kunt Telnet inschakelen op de router, een script instellen dat automatisch een reeks opdrachten uitvoert met behulp van de Telnet-interface en vervolgens plannen dat dat script met een cron-taak regelmatig wordt uitgevoerd. Voor mij betekende dat elke ochtend om 7 uur 's ochtends, een uur voordat ik wakker werd, en opnieuw om 17:30 uur, omdat ik op dat moment altijd het huis uit ben. Probleem opgelost, en ik kan Vim gebruiken, wat me ook gelukkig maakt.

En natuurlijk kunt u een script maken dat op aanvraag wordt uitgevoerd om de router onmiddellijk opnieuw op te starten wanneer u maar wilt.

Opmerking: u kunt waarschijnlijk hetzelfde doen met een router die niet Verizon is. U moet uw routerbeheerpaneel controleren en zien hoe de opties daar werken.

Verbinding maken met uw router via Telnet

Het eerste wat je wilt doen, is uitzoekenhoe telnet op de router in te schakelen. Voor de Verizon-router moest daarvoor naar Geavanceerd -> Lokaal beheer worden gegaan en moet worden gecontroleerd of "Primaire Telnet-poort gebruiken" is ingeschakeld. Zorg ervoor dat u op Toepassen klikt.

Op dit punt kunt u eenvoudig telnet gebruiken vanaf determinal of opdrachtprompt om verbinding te maken met de router. Als u Windows gebruikt, moet u waarschijnlijk telnet inschakelen. Om verbinding te maken, typt u dit gewoon en vervangt indien nodig het IP-adres door het IP-adres van uw eigen router (hoewel de meeste zijn ingesteld om het 192-bereik te gebruiken)

telnet 192.168.1.1

Als je daar eenmaal bent, kun je meestal de typenhelp-opdracht om te zien wat de opties zijn. Voor FIOS van Verizon was de optie die ik zocht in de subsectie van het systeem, en had de toepasselijke titel "reboot". Je moet echter "system reboot" typen en niet alleen "reboot".

Zodra u de opdracht achter de prompt typt, wordt de verbinding verbroken en wordt de router opnieuw opgestart. Makkelijk, ja. Maar wie wil al dat typen altijd doen?

Telnet scripten via de terminal (OS X of Linux of Cygwin op Windows)

We gaan ervan uit dat je toegang hebt tot de bash-shell, of dat nu in je normale besturingssysteem is, of als je besturingssysteem (Windows) geen bash heeft, je misschien Cygwin moet installeren.

Het is verrassend eenvoudig om een ​​set commando's te scripten en deze in de telnet-applicatie te plaatsen. Het enige wat u hoeft te doen is zoiets als dit:

(echo commandname;echo anothercommand) | telnet 192.168.1.1

Het enige probleem is de zeurende login die je hebtmoeten doorkomen ... het verschijnt niet meteen. Dus als u een 'echo-beheerder' en vervolgens 'echo-wachtwoord' invoert, gebeurt dit te snel en wordt het niet naar de server verzonden. De oplossing? Gebruik het slaapcommando!

Voeg in een paar slaap 3 commando's toe, om te wachtendrie seconden, lost het probleem op. Eerst echoën we de gebruikersnaam en het wachtwoord, daarna echoën we het reboot commando, en elke keer wachten we drie seconden tussen. De laatste opdracht start de server onmiddellijk opnieuw op:

(sleep 3;echo admin;sleep 3;echo mypassword;sleep 3;echo system reboot;sleep 3;) | telnet 192.168.1.1

U kunt dit in een shellscript plaatsen en uitvoeren wanneer u maar wilt. Of je kunt het op deze manier aan je cron toevoegen (op OS X of Linux):

crontab -e

Voeg deze regel ergens toe:

1 7 * * * (sleep 3;echo admin;sleep 3;echo mypassword;sleep 3;echo system reboot;sleep 3;) | telnet 192.168.1.1

Hierdoor wordt uw router elke ochtend om 07:01 uur opnieuw opgestart.

De router opnieuw opstarten op de Windows-manier

Als u Windows gebruikt, is het veel meeringewikkeld om dit automatisch te plannen, maar we kunnen het zeker gemakkelijk genoeg uitschrijven. Eerst moet u naar het Configuratiescherm gaan, naar het venster "Windows-functies in- of uitschakelen" gaan (gewoon zoeken) en vervolgens de Telnet-client inschakelen.

Nu kunt u het volgende in Kladblok plakken, maarwijzig indien nodig het IP-adres van de router en wijzig in plaats daarvan de regel mypassword in uw werkelijke wachtwoord. Mogelijk moet u het script voor verschillende opdrachten bewerken.

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

Sla het op als een .vbs-extensie en dubbelklik erop wanneer u de router opnieuw wilt opstarten.

Planning in Windows met een geplande taak

Open de Taakplanner en maak een nieuwe BasicTaak, het een naam en een schema geven - dagelijks op een bepaalde tijd zou werken. Gebruik vervolgens de optie Een programma starten en blader naar het scriptbestand dat u hebt gemaakt.

Dat is zo ongeveer alles wat u hoeft te doen.

Opmerking: de instructies in dit artikel zijn specifiek voorVerizon FIOS maar je kunt dit waarschijnlijk met elke router doen. Laat het ons in de reacties weten als je het laat werken met een andere router en we zullen het artikel bijwerken om het weer te geven.