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. Dies ist ein königlicher Schmerz, 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 machen Geeks, oder?
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.
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.
Hinweis: 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.
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 den Bereich 192 verwenden).
telnet 192.168.1.1
Sobald Sie dort angekommen sind, können Sie normalerweise den Hilfebefehl eingeben, um die Optionen anzuzeigen. 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 wird 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 in die Telnet-Anwendung zu leiten. Alles was Sie tun müssen ist so etwas:
(echo befehlsname; echo ein anderer befehl) | Telnet 192.168.1.1
Das einzige Problem ist das nervige Login, das Sie durchlaufen 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 drei Schlaf-3-Befehlen, um drei Sekunden zu warten, löst das Problem. Zuerst geben wir den Benutzernamen und das Passwort wieder, dann den Neustartbefehl 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 neustart; 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 neustart; 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 aktivieren oder deaktivieren" aufrufen (suchen Sie einfach danach) 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 explizit Dim oShell setze 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 "Systemneustart ~" 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 Sie tun müssen.
Hinweis: Die Anweisungen in diesem Artikel beziehen sich speziell auf Verizon FIOS, aber Sie können dies wahrscheinlich mit jedem Router tun. Bitte teilen Sie uns in den Kommentaren mit, ob es mit einem anderen Router funktioniert, und wir aktualisieren den Artikel entsprechend.