Verizon FIOS ist großartig – die Geschwindigkeiten sind unglaublich und der Preis ist… na ja, irgendwie teuer. Das eigentliche Problem ist, dass der schreckliche Router, den sie Ihnen geben, ständig neu gestartet werden muss, was ein königlicher Schmerz ist, wenn man bedenkt, dass er sich im Keller befindet. Außerdem möchte ich nicht von der Couch aufstehen.
Also überlegte ich, wie ich dieses Problem mithilfe von Technologie lösen könnte. Das ist es, was Geeks tun, richtig?
Ja, ich weiß, ich könnte wahrscheinlich Verizon anrufen und den Router aktualisieren. Ich bin sicher, dass sie jetzt ein besseres Modell haben. Natürlich können Sie die Firmware aktualisieren, aber das funktioniert bei meinem alten Router nicht, da es kein Update gibt. Zeit für eine einfachere Lösung, die idealerweise einen Cron-Job beinhaltet. Cron Jobs sind immer eine gute Entscheidung.
Nach drei Minuten Recherche und Brainstorming stellte sich eine Lösung vor: Sie können Telnet auf dem Router aktivieren, ein Skript einrichten, das automatisch eine Reihe von Befehlen über die Telnet-Schnittstelle ausführt, und dieses Skript dann mit einem Cron-Job so planen, dass es regelmäßig ausgeführt wird Basis. Für mich bedeutete das jeden Morgen um 7 Uhr, eine Stunde vor dem Aufwachen und wieder um 17:30 Uhr, da ich zu diesem Zeitpunkt immer außer Haus bin. Problem gelöst, und ich kann Vim verwenden, was mich auch glücklich macht.
Und natürlich können Sie ein Skript erstellen, das bei Bedarf ausgeführt wird, um den Router sofort neu zu starten, wann immer Sie möchten.
Sie können wahrscheinlich dasselbe mit einem Router tun, der nicht Verizon ist. Sie müssen das Administrationsfenster Ihres Routers überprüfen und sehen, wie die Optionen dort funktionieren.
Herstellen einer Verbindung zu Ihrem Router über Telnet
Als erstes möchten Sie herausfinden, wie Sie Telnet auf dem Router aktivieren. Für den Verizon-Router war es erforderlich, unter Erweitert -> Lokale Verwaltung zu gehen und sicherzustellen, dass «Primären Telnet-Port verwenden» aktiviert ist. Stellen Sie sicher, dass Sie auf Übernehmen klicken.

Zu diesem Zeitpunkt können Sie problemlos Telnet über das Terminal oder die Eingabeaufforderung verwenden, um eine Verbindung zum Router herzustellen. Wenn Sie Windows verwenden, müssen Sie wahrscheinlich Telnet aktivieren. Geben Sie zum Herstellen einer Verbindung einfach Folgendes ein und ersetzen Sie bei Bedarf die IP-Adresse durch die IP Ihres eigenen Routers (obwohl die meisten auf den Bereich 192 eingestellt sind).
telnet 192.168.1.1
Sobald Sie dort angekommen sind, können Sie normalerweise den Hilfebefehl eingeben, um zu sehen, welche Optionen verfügbar sind. Für Verizon FIOS befand sich die gesuchte Option im Unterabschnitt System und trug den treffenden Titel «Neustart». Sie müssen jedoch «Systemneustart» eingeben und nicht nur «Neustart».

Sobald Sie den Befehl an der Eingabeaufforderung eingeben, wird die Verbindung getrennt und der Router neu gestartet. Einfach ja. Aber wer möchte das alles jedes Mal tippen?
Scripting von Telnet über das Terminal (OS X oder Linux oder Cygwin unter Windows)
Wir gehen davon aus, dass Sie Zugriff auf die Bash-Shell haben, unabhängig davon, ob dies in Ihrem normalen Betriebssystem der Fall ist oder ob Ihr Betriebssystem (Windows) kein Bash hat, müssen Sie möglicherweise installieren Cygwin.
Es ist überraschend einfach, eine Reihe von Befehlen zu skripten und sie in die Telnet-Anwendung zu leiten. Alles was Sie tun müssen ist so etwas:
(echo commandname;echo anothercommand) | telnet 192.168.1.1
Das einzige Problem ist das nervige Login, das Sie durchstehen müssen. Es wird nicht sofort angezeigt. Wenn Sie also einen «Echo-Administrator» und dann ein «Echo-Passwort» eingeben, geschieht dies zu schnell und wird nicht an den Server gesendet. Die Lösung? Verwenden Sie den Befehl sleep!
Das Hinzufügen von ein paar Schlaf-3-Befehlen, um drei Sekunden zu warten, löst das Problem. Zuerst geben wir den Benutzernamen und das Passwort wieder, dann den Befehl zum Neustart und jedes Mal warten wir drei Sekunden dazwischen. Der letzte Befehl startet den Server sofort neu:
(sleep 3;echo admin;sleep 3;echo mypassword;sleep 3;echo system reboot;sleep 3;) | telnet 192.168.1.1
Sie können dies in ein Shell-Skript einfügen und ausführen, wann immer Sie möchten. Oder Sie können es wie folgt zu Ihrem Cron hinzufügen (unter OS X oder Linux):
crontab -e
Fügen Sie diese Zeile irgendwo hinzu:
1 7 * * * (sleep 3;echo admin;sleep 3;echo mypassword;sleep 3;echo system reboot;sleep 3;) | telnet 192.168.1.1
Dadurch wird Ihr Router jeden Morgen um 7:01 Uhr neu gestartet.
Starten Sie den Router auf Windows-Weise neu
Wenn Sie Windows ausführen, ist es viel komplizierter, dies automatisch zu planen, aber wir können es definitiv leicht genug ausschreiben. Zuerst müssen Sie in die Systemsteuerung gehen, das Fenster «Windows-Funktionen ein- oder ausschalten» aufrufen (einfach danach suchen) und dann den Telnet-Client aktivieren.

Jetzt können Sie Folgendes in Notepad einfügen, aber bei Bedarf die Router-IP ändern und stattdessen die Zeile mypassword so ändern, dass sie Ihr eigentliches Passwort ist. Möglicherweise müssen Sie das Skript für verschiedene Befehle bearbeiten.
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
Speichern Sie es als .vbs-Erweiterung, und Sie können jederzeit darauf doppelklicken, wenn Sie den Router neu starten möchten.

Planen in Windows mit einer geplanten Aufgabe
Öffnen Sie den Taskplaner und erstellen Sie eine neue Basisaufgabe mit einem Namen und einem Zeitplan – täglich zu einer bestimmten Zeit würde funktionieren. Verwenden Sie dann die Option Programm starten und navigieren Sie zu der von Ihnen erstellten Skriptdatei.

Das ist so ziemlich alles was du tun musst.
Die Anweisungen in diesem Artikel beziehen sich speziell auf Verizon FIOS. Sie können dies jedoch wahrscheinlich mit jedem Router tun. Bitte lassen Sie uns in den Kommentaren wissen, ob es mit einem anderen Router funktioniert, und wir werden den Artikel aktualisieren, um ihn wiederzugeben.