21Jul

Hoe u uw router automatisch de Geeky Way herstart

click fraud protection

Verizon FIOS is geweldig - de snelheden zijn ongelooflijk en de prijs is. .. nou ja, nogal duur. Het echte probleem is dat de vreselijke router die ze je geven, voortdurend opnieuw moet worden opgestart, wat een koninklijke pijn is gezien het feit dat het in de kelder ligt. En ik wil niet van de bank af.

Dus overwoog ik 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 en de router kunnen upgraden, ik weet zeker dat ze nu een beter model hebben. En zeker, je kunt de firmware updaten, maar dat zal niet werken voor mijn oude router omdat er geen update is. Tijd voor een eenvoudigere oplossing die idealiter een cron-taak omvat. Cron-banen zijn altijd een goede beslissing.

Na drie minuten onderzoek en brainstormen kwam er een oplossing: je kunt telnet op de router inschakelen, een script instellen dat automatisch een reeks commando's uitvoert met behulp van de telnet-interface, en dat script vervolgens plannen met een cron-taak om uit te voeren op eenregelmatige basis. Voor mij betekende dat elke ochtend om 7 uur, 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 mij ook gelukkig maakt.

instagram viewer

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 dat u wilt doen, is uitzoeken hoe telnet op de router kan worden ingeschakeld. Voor de Verizon-router was dit vereist om naar Geavanceerd te gaan - & gt;Lokaal beheer en ervoor zorgen dat "Primaire Telnet-poort gebruiken" is ingeschakeld. Zorg ervoor dat je op Toepassen klikt.

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

telnet 192.168.1.1

Als u daar eenmaal bent, kunt u meestal het help-commando typen omzie wat de opties zijn. Voor Verizon FIOS was de optie die ik zocht in de systeemsectie, en kreeg de toepasselijke naam 'reboot'. Je moet echter wel 'reboot van het systeem' typen en niet alleen 'opnieuw opstarten'.

Nadat u de opdracht bij de prompt typt, wordt de verbinding verbroken en wordt de router opnieuw opgestart. Makkelijk, ja. Maar wie wil dat allemaal typen?

Scripting van Telnet 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 OS is, of dat je OS( Windows) geen bash heeft, moet u mogelijk Cygwin installeren.

Het is verrassend eenvoudig om een ​​set opdrachten te schrijven en in de telnet-toepassing te pipen. Het enige dat u hoeft te doen is zoiets als dit:

( echo commandenaam, echo een ander commando) |telnet 192.168.1.1

Het enige probleem is de zeurende login die je moet doorstaan ​​... hij verschijnt niet meteen. Dus als je in een "echo admin" en dan "echo wachtwoord" pijp, zal het te snel gebeuren en zal het niet naar de server worden verzonden. De oplossing? Gebruik het slaapcommando!

Als u een paar slaap-3-commando's toevoegt om drie seconden te wachten, lost u het probleem op. Eerst herhalen we de gebruikersnaam en het wachtwoord, en dan herhalen we het reboot-commando en elke keer wachten we drie seconden tussen. Met de laatste opdracht wordt de server onmiddellijk opnieuw opgestart:

( slaapstand 3, echo-beheerder, slaapplaats 3, echo mypassword, slaapstand 3, reboot echo-systeem, slaapplaats 3;) |telnet 192.168.1.1

U kunt dit in een shellscript plaatsen en het 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 * * *( slaap 3; echo admin; slaap 3; echo mypassword; slaap 3;echo systeem herstart; slaap 3;) |telnet 192.168.1.1

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

De router rebooten op de Windows Way

Als u Windows gebruikt, is het een stuk ingewikkelder om dit automatisch in te plannen, maar we kunnen het zeker gemakkelijk genoeg uitgeven. Eerst moet je naar het Configuratiescherm gaan, naar het paneel 'Windows-onderdelen in- / uitschakelen' gaan( gewoon zoeken) en vervolgens de Telnet-client inschakelen.

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

Optie expliciet 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

Opslaan als een extensie van. vbs, en dan kunt u dubbelen- klik erop telkens u de router opnieuw wilt opstarten.

Roosteren in Windows met een geplande taak

Open de taakplanner en maak een nieuwe basistaak, door hem een ​​naam en een planning te geven - dit zou op een gegeven moment dagelijks werken. Gebruik vervolgens de optie Start a Program 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 voor Verizon FIOS, maar u kunt dit waarschijnlijk doen met elke router. Laat het ons alsjeblieft weten in de comments als je het gaat gebruiken met een andere router en we zullen het artikel bijwerken om het weer te geven.