/ / Як автоматично перезавантажити ваш маршрутизатор примхливим шляхом

Як автоматично перезавантажити ваш маршрутизатор примхливим шляхом

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 ранку.

Перезавантаження маршрутизатора Windows Way

Якщо ви маєте ОС Windows, це набагато більшеСкладно запланувати це автоматично, але ми можемо напевно його легко виписати. Спочатку вам потрібно буде зайти в Панель управління, перейти до панелі "Увімкнення та вимкнення функцій Windows" (просто знайдіть її), а потім увімкніть клієнт Telnet.

Тепер ви можете вставити наступне в Блокнот, алезмінити IP-адресу маршрутизатора, якщо це необхідно, і змінити мій пароль для мого пароля на ваш фактичний пароль. Можливо, вам доведеться відредагувати сценарій для різних команд.

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 з плановим завданням

Відкрийте Планувальник завдань і створіть новий ОсновнийЗавдання, давши йому назву та графік - щодня в певний час спрацювало б. Потім скористайтеся параметром «Запустити програму» та перейдіть до створеного вами файлу сценарію.

Це майже все, що вам потрібно зробити.

Примітка: інструкції в цій статті специфічні дляVerizon FIOS, але ви, ймовірно, можете це зробити з будь-яким роутером. Будь ласка, повідомте нас у коментарях, якщо ви змусите його працювати з іншим маршрутизатором, і ми оновимо статтю, щоб відобразити її.