21Jul

Jak automatycznie zrestartować swój router metodą geeky

click fraud protection

Verizon FIOS jest świetny - prędkości są niesamowite, a cena jest. .. cóż, trochę za droga. Prawdziwym problemem jest to, że straszny router, który ci dają, musi być cały czas restartowany, co jest królewskim bólem, biorąc pod uwagę, że znajduje się w piwnicy. Poza tym nie chcę zejść z kanapy.

Więc zastanawiałem się, jak mogę rozwiązać ten problem za pomocą technologii. To właśnie robią geekowie, prawda?

Tak, wiem, prawdopodobnie mógłbym zadzwonić do Verizon i zaktualizować router, jestem pewien, że teraz mają lepszy model. I oczywiście, możesz zaktualizować oprogramowanie, ale to nie zadziała dla mojego starego routera, ponieważ nie ma aktualizacji. Czas na łatwiejsze rozwiązanie, które idealnie obejmuje zadanie cron. Praca Cron jest zawsze dobrą decyzją.

Po trzech minutach badań i burzy mózgów pojawiło się rozwiązanie: możesz włączyć telnet na routerze, skonfigurować skrypt, który automatycznie uruchamia serię poleceń za pomocą interfejsu telnet, a następnie zaplanować, że skrypt z zadaniem cron uruchomi się napodstawy. Dla mnie oznaczało to każdego ranka o 7 rano, godzinę przed tym, jak się obudziłem, i znowu o 17:30, ponieważ w tym momencie zawsze jestem poza domem. Problem rozwiązany i mogę używać Vima, który również mnie uszczęśliwia.

instagram viewer

Oczywiście możesz uruchomić skrypt na żądanie, aby natychmiastowo zrestartować router, kiedy tylko chcesz.

Uwaga: prawdopodobnie możesz zrobić to samo z routerem, który nie jest Verizonem. Musisz sprawdzić panel administracyjny routera i zobaczyć, jak działają tam opcje.

Podłączanie do routera za pośrednictwem usługi Telnet

Pierwszą rzeczą, którą chcesz zrobić, to dowiedzieć się, jak włączyć telnet na routerze. W przypadku routera Verizon wymagało to przejścia na zaawansowane - & gt;Administracja lokalna i upewnienie się, że "Korzystanie z podstawowego portu Telnet" jest włączone. Pamiętaj, aby kliknąć Zastosuj.

W tym momencie możesz łatwo użyć telnetu z terminala lub wiersza poleceń, aby połączyć się z routerem. Jeśli używasz systemu Windows, prawdopodobnie będziesz musiał włączyć telnet. Aby się połączyć, po prostu wpisz to, zastępując adres IP dla własnego IP routera, jeśli to konieczne( choć większość jest ustawiona na używanie zakresu 192)

telnet 192.168.1.1

Kiedy już tam jesteś, zwykle możesz wpisać polecenie pomocy, abyzobacz jakie są opcje. W przypadku Verizon FIOS opcja, której szukałem, znajdowała się w podsekcji systemowej i została trafnie nazwana "reboot". W rzeczywistości trzeba wpisać "system reboot", a nie tylko "restart".

Po wpisaniu polecenia przy monicie zostaniesz rozłączony, a router zostanie zrestartowany.Łatwo, tak. Ale kto chce za każdym razem pisać to wszystko?

Skrypty Telnet przez Terminal( OS X lub Linux lub Cygwin w Windows)

Zakładamy, że masz dostęp do powłoki bash, czy to w normalnym systemie operacyjnym, czy też twój system operacyjny( Windows) nie ma bash, być może będziesz musiał zainstalować Cygwin.

Niespodziewanie łatwo jest skryptować zestaw poleceń i wprowadzać je do aplikacji telnet. Wszystko, co musisz zrobić, to coś takiego:

( echo commandname; echo anothercommand) |telnet 192.168.1.1

Jedynym problemem jest dokuczliwy login, przez który musisz przejść. .. nie pojawia się od razu. Jeśli więc potwierdzisz "echo admin", a następnie "echo password", stanie się to zbyt szybko i nie zostanie wysłane na serwer. Rozwiązanie? Użyj polecenia sleep!

Dodanie kilku poleceń sleep 3, aby poczekać trzy sekundy, rozwiązuje problem. Najpierw wyświetlimy nazwę użytkownika i hasło, a następnie wyświetlimy polecenie ponownego uruchomienia i za każdym razem będziemy czekać trzy sekundy pomiędzy. Ostatnie polecenie natychmiast uruchomi serwer:

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

Możesz umieścić to w skrypcie powłoki i uruchamiać go, kiedy tylko chcesz. Możesz też dodać go do swojego crona w ten sposób( w systemie OS X lub Linux):

crontab -e

Dodaj tę linię gdzieś:

1 7 * * *( sleep 3, echo admin, sleep 3, echo mypassword; sleep 3;restart systemu echo, spać 3;) |telnet 192.168.1.1

Spowoduje to ponowne uruchomienie routera o godzinie 7:01 każdego ranka.

Ponowne uruchamianie routera w systemie Windows

Jeśli korzystasz z systemu Windows, znacznie trudniej jest zaplanować to automatycznie, ale z pewnością możemy go dość łatwo scryptować.Najpierw musisz przejść do Panelu sterowania, przejść do "Włącz lub wyłącz funkcje systemu Windows"( po prostu go wyszukaj), a następnie włączyć klienta Telnet.

Teraz możesz wkleić następujące elementy do Notatnika, ale w razie potrzeby zmienić adres IP routera, a zamiast tego zmienić linię mojego hasła jako rzeczywiste hasło. Może być konieczne edytowanie skryptu dla różnych poleceń.

Opcja jawny Dim oShell set oShell = Wscript. CreateObject( "WScript. Shell") oShell. Run "telnet" WScript. Sleep 3000 oShell. Sendkeys "otwórz 192.168.1.1 ~" WScript. Sleep 3000 oShell. Sendkeys "admin ~" WScript. Sleep 3000 o Shell. Sendkeys "mypassword ~" WScript. Sleep 3000 oShell. Sendkeys "ponowne uruchomienie systemu ~" WScript. Sleep 3000 oShell. Sendkeys "~" Wscript. Quit

Zapisz to jako rozszerzenie. vbs, a następnie możesz podwoić-kliknij go, gdy chcesz zrestartować router.

Planowanie w systemie Windows z zaplanowanym zadaniem

Otwórz Harmonogram zadań i utwórz nowe podstawowe zadanie, nadając mu nazwę i harmonogram - codziennie o określonej godzinie będzie działać.Następnie użyj opcji Uruchom program i przejdź do utworzonego przez siebie pliku skryptu.

To wszystko, co musisz zrobić.

Uwaga: instrukcje w tym artykule dotyczą systemu Verizon FIOS, ale prawdopodobnie można to zrobić z dowolnym routerem. Daj nam znać w komentarzach, jeśli sprawisz, że będzie działać z innym routerem, a my zaktualizujemy artykuł, aby to odzwierciedlić.