Начална » как да » Как да рестартирате автоматично маршрутизатора Geeky Way

    Как да рестартирате автоматично маршрутизатора Geeky Way

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

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

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

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

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

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

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

    Първото нещо, което искате да направите, е да разберете как да активирате telnet на рутера. За маршрутизатора на Verizon, който изисква преминаване в Разширени -> Локална администрация и се уверите, че "Използване на първичен Telnet порт" е активирана. Уверете се, че щракнете върху Приложи.

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

    telnet 192.168.1.1

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

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

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

    Ще предположим, че имате достъп до bash shell, независимо дали това е в нормалната ви операционна система, или ако вашата операционна система (Windows) няма bash, може да се наложи да инсталирате Cygwin.

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

    (echo commandname; echo друга команда) | telnet 192.168.1.1

    Единственият проблем е заядливата регистрация, която трябва да мине през… не се показва веднага. Така че, ако пуснете “echo admin” и след това “echo password”, това ще се случи твърде бързо и няма да бъде изпратено на сървъра. Решението? Използвайте командата sleep!

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

    (сън 3; ехо администратор; сън 3; ехо mypassword; сън 3; рестартиране на ехо системата; спящ 3;) | telnet 192.168.1.1

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

    crontab -е

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

    1 7 * * * (сън 3; ехо администратор; сън 3; ехо mypassword; сън 3; презареждане на ехо системата; спящ 3;) | telnet 192.168.1.1

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

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

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

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

    Вариант изрично Dim oShell набор oShell = Wscript.CreateObject ("WScript.Shell") oShell.Run "telnet" WScript.Sleep 3000 oShell.Sendkeys "отворен 192.168.1.1 ~" WScript.Sleep 3000 oShell.Sendkeys "администратор ~" WScript. Sleep 3000 oShell.Sendkeys "mypassword ~" WScript.Sleep 3000 oShell.Sendkeys "рестартиране на системата ~" WScript.Sleep 3000 oShell.Sendkeys "~" Wscript.Quit

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

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

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

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

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