/ / Как автоматично да рестартирате вашия рутер Geeky пътя

Как автоматично да рестартирате вашия рутер Geeky пътя

Verizon FIOS е страхотен - скоростите саневероятно, а цената е ... е, доста скъпа. Истинският проблем е, че ужасният рутер, който ви дават, трябва да бъде рестартиран през цялото време, което е кралска болка, като се има предвид, че е в мазето. Плюс това, не искам да слизам от дивана

Затова обмислих как мога да реша този проблем с помощта на технология. Това правят майсторите, нали?

Да, знам, вероятно бих могъл да се обадя на Verizon инадстройте рутера, сигурен съм, че сега имат по-добър модел. И със сигурност можете да актуализирате фърмуера, но това няма да работи за стария ми рутер, тъй като няма актуализация. Време за по-лесно решение, което в идеалния случай включва работа с крони. Работите в Cron винаги са добро решение.

След три минути проучване имозъчна атака, представено решение: Можете да активирате telnet на рутера, да настроите скрипт, който автоматично изпълнява серия от команди, използвайки интерфейса на telnet, и след това да планирате този скрипт с cron задача да се изпълнява редовно. За мен това означаваше всяка сутрин в 7 часа сутринта, час преди да се събудя, и отново в 17:30, тъй като в този момент винаги съм извън къщата. Проблемът е решен и мога да използвам Vim, което също ме прави щастлива.

И разбира се, можете да направите скрипт, който да се изпълнява при поискване, за да рестартирате незабавно рутера, когато пожелаете.

Забележка: вероятно можете да направите същото с рутер, който не е Verizon. Ще трябва да проверите панела за администриране на рутера и да видите как работят опциите там.

Свързване към вашия рутер чрез Telnet

Първото нещо, което ще искате да направите, е да разберетекак да активирате telnet на рутера. За маршрутизатора Verizon това е необходимо да влезете в Advanced -> Local Administration и да се уверите, че „Използване на първичен портал Telnet“ е активиран. Уверете се, че щракнете върху Приложи.

На този етап можете лесно да използвате telnet оттерминал или команден ред за свързване към рутера. Ако използвате Windows, вероятно ще трябва да активирате telnet. За да се свържете, просто въведете това, замествайки IP адреса за IP на собствения ви рутер, ако е необходимо (въпреки че повечето са настроени да използват обхвата 192)

telnet 192.168.1.1

След като сте там, обикновено можете да въведетеhelp команда, за да видите какви са опциите. За Verizon FIOS опцията, която търсех, беше в подраздела на системата и беше подходящо озаглавена „рестартиране“. Всъщност трябва да напишете „рестартиране на системата“, а не само „рестартиране“.

След като въведете командата в подкана, ще бъдете прекъснати и рутерът ще бъде рестартиран. Лесно, да. Но кой иска да прави всичко това като пишете всеки път?

Скриптиране на Telnet през терминала (OS X или Linux или Cygwin за Windows)

Предполагаме, че имате достъп до bash черупката, независимо дали е в нормалната ви ОС или ако вашата ОС (Windows) няма bash, може да се наложи да инсталирате Cygwin.

Изненадващо е лесно да скриптирате набор от команди и да ги изпратите в приложението telnet. Всичко, което трябва да направите, е нещо подобно:

(echo commandname;echo anothercommand) | telnet 192.168.1.1

Единственият проблем е заяждащото влизане, което виетрябва да премине… не се показва веднага. Така че, ако изпратите „ехо администратор“ и след това „ехо парола“, това ще се случи твърде бързо и няма да бъде изпратено до сървъра. Решението? Използвайте командата за сън!

Добавяне в няколко съня 3 команди, за да изчакатетри секунди, решава проблема. Първо ще озвучим потребителското име и паролата, а след това ще повторим командата за рестартиране и всеки път ще чакаме три секунди между тях. Последната команда ще рестартира незабавно сървъра:

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

Можете да поставите това в скрипт с черупки и да го стартирате, когато пожелаете. Или можете да го добавите към своя крон по този начин (в OS X или Linux):

crontab -e

Добавете този ред някъде:

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

Това ще рестартира вашия рутер в 7:01 AM всяка сутрин.

Рестартиране на рутера по пътя на Windows

Ако използвате Windows, това е много повечесложно да планираме това автоматично, но определено можем да го скриптираме достатъчно лесно. Първо ще трябва да влезете в контролния панел, отидете на панела „Включете или изключете функциите на Windows“ (просто го потърсете) и след това активирайте клиента на Telnet.

Сега можете да поставите следното в Notepad, нопроменете IP адреса на рутера, ако е необходимо, и вместо това променете линията на mypassword, за да бъде вашата действителна парола. Може да се наложи да редактирате скрипта за различни команди.

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

Запазете го като .vbs разширение и след това можете да щракнете двукратно върху него всеки път, когато искате да рестартирате рутера.

Планиране в Windows с планирана задача

Отворете планировника на задачите и създайте нов BasicЗадача, давайки й име и график - всеки ден в определено време ще работи. След това използвайте опцията Стартиране на програма и преминете към създадения от вас скрипт файл.

Това е почти всичко, което трябва да направите.

Забележка: инструкциите в тази статия са специфични заVerizon FIOS, но вероятно можете да направите това с всеки рутер. Моля, уведомете ни в коментарите, ако го накарате да работи с друг рутер и ние ще актуализираме статията, за да я отразим.