Verizon FIOS великолепен – скорости невероятные, а цена… ну, довольно дорогая. Реальная проблема заключается в том, что ужасный маршрутизатор, который они вам дают, нужно постоянно перезагружать, что очень неприятно, учитывая, что он находится в подвале. Плюс, я не хочу вставать с дивана.
Я подумал, как решить эту проблему, используя технологии. Вот что делают гики, верно?
Да, я знаю, я мог бы позвонить в Verizon и обновить маршрутизатор, я уверен, что у них сейчас лучшая модель. И конечно, вы можете обновить прошивку, но она не будет работать для моего старого роутера, так как обновление не происходит. Время для более простого решения, которое в идеале включает в себя работу cron. Работа в Cron – это всегда хорошее решение.
После трех минут исследований и мозгового штурма решение представило себя: вы можете включить telnet на маршрутизаторе, настроить скрипт, который автоматически запускает серию команд с использованием интерфейса telnet, а затем запланировать запуск этого сценария с заданием cron на регулярной основе. основа. Для меня это означало каждое утро в 7 часов утра, за час до того, как я просыпаюсь, и снова в 5:30 вечера, так как в этот момент меня всегда нет дома. Проблема решена, и я могу использовать Vim, что также делает меня счастливым.
И, конечно же, вы можете создать скрипт для запуска по требованию, чтобы немедленно перезагрузить маршрутизатор, когда захотите.
Примечание. вы, вероятно, можете сделать то же самое с маршрутизатором, который не является Verizon. Вам нужно проверить панель администрирования вашего роутера и посмотреть, как там работают опции.
Подключение к маршрутизатору через Telnet
Первое, что вы хотите сделать, это выяснить, как включить telnet на маршрутизаторе. Для маршрутизатора Verizon, который требуется перейти в Advanced -> Local Administration и убедиться, что «Using Primary Telnet Port» включен. Обязательно нажмите Применить.
На этом этапе вы можете легко использовать 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) | телнет 192.168.1.1
Единственная проблема – это надоедливый логин, через который вы должны пройти … он не появляется сразу. Поэтому, если вы передадите «эхо-администратор», а затем «эхо-пароль», это произойдет слишком быстро и не будет отправлено на сервер. Решение? Используйте команду сна!
Добавление в пару сна 3 команды, чтобы подождать три секунды, решает проблему. Сначала мы повторим имя пользователя и пароль, а затем повторим команду перезагрузки, и каждый раз будем ждать три секунды. Последняя команда немедленно перезагрузит сервер:
(sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; echo system reboot; sleep 3;) | телнет 192.168.1.1
Вы можете поместить это в скрипт оболочки и запускать в любое время. Или вы можете добавить его в свой cron следующим образом (в OS X или Linux):
crontab -e
Добавьте эту строку куда-нибудь:
1 7 * * * (sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; echo system reboot; sleep 3;) | телнет 192.168.1.1
Это перезагрузит ваш маршрутизатор в 7:01 утра каждое утро.
Перезагрузка маршрутизатора способом Windows
Если вы работаете в Windows, гораздо сложнее запланировать это автоматически, но мы определенно можем достаточно легко это записать. Сначала вам нужно будет зайти в панель управления, перейти к панели «Включение или отключение функций Windows» (просто найдите ее), а затем включить клиент Telnet.
Теперь вы можете вставить следующее в Блокнот, но при необходимости измените IP-адрес маршрутизатора и вместо этого измените строку mypassword на свой действительный пароль. Вам может понадобиться отредактировать скрипт для разных команд.
Опция явная
Dim OShell
set oShell = Wscript.CreateObject ( "WScript.Shell")
oShell.Run "Телнет"
WScript.Sleep 3000
oShell.Sendkeys "open 192.168.1.1 ~"
WScript.Sleep 3000
oShell.Sendkeys "admin ~"
WScript.Sleep 3000
oShell.Sendkeys "мой пароль ~"
WScript.Sleep 3000
oShell.Sendkeys "перезагрузка системы ~"
WScript.Sleep 3000
oShell.Sendkeys "~"
Wscript.Quit
Сохраните его как расширение .vbs, и затем вы можете дважды щелкнуть по нему в любое время, когда захотите перезагрузить маршрутизатор.
Планирование в Windows с запланированной задачей
Откройте планировщик заданий и создайте новое базовое задание, присвоив ему имя и расписание. Ежедневно в определенное время будет работать. Затем используйте опцию «Запустить программу» и найдите созданный вами файл скрипта.
Это почти все, что вам нужно сделать.
Примечание: инструкции в этой статье относятся к Verizon FIOS, но вы, вероятно, можете сделать это с любым маршрутизатором. Пожалуйста, дайте нам знать в комментариях, если вы заставите его работать с другим маршрутизатором, и мы обновим статью, чтобы отразить это.