Як автоматично перезавантажити маршрутизатор Geeky Way
Verizon FIOS відмінна - швидкість неймовірна, і ціна… ну, щось дорого. Справжня проблема полягає в тому, що страшний маршрутизатор, який вони дають вам, потрібно постійно перезавантажувати, що є королівським болем, враховуючи, що він знаходиться в підвалі. Плюс, я не захочу вийти з дивана.
Тому я розглядав, як я можу вирішити цю проблему, використовуючи технологію. Ось що роблять виродки?
Так, я знаю, я, ймовірно, міг би зателефонувати Verizon і оновити маршрутизатор, я впевнений, що зараз вони мають кращу модель. І, звичайно, ви можете оновити прошивку, але це не буде працювати на моєму старому маршрутизаторі, оскільки оновлення не існує. Час для спрощення рішення, яке в ідеалі передбачає роботу cron. Роботи Cron завжди є гарним рішенням.
Після трьох хвилин досліджень і мозкового штурму було запропоновано рішення: можна включити telnet на маршрутизаторі, налаштувати сценарій, який автоматично запускає серію команд за допомогою інтерфейсу telnet, а потім планувати, що скрипт з завданням cron виконується на регулярній основі основі. Для мене, що означало кожне ранок у 7am, година перед тим, як я прокидаюся, та знов у 5: 30pm, з я завжди з будинку у що пункт. Проблема вирішена, і я можу використовувати Vim, що також робить мене щасливим.
І, звичайно, ви можете зробити скрипт для виконання на вимогу, щоб негайно перезавантажити маршрутизатор, коли захочете.
Примітка: Ви, ймовірно, можете зробити те ж саме з маршрутизатором, який не Verizon. Ви повинні перевірити панель адміністрування маршрутизатора і подивитися, як там працюють параметри.
Підключення до маршрутизатора через Telnet
Перше, що ви хочете зробити, це з'ясувати, як увімкнути telnet на маршрутизаторі. Для маршрутизатора Verizon, який потребує переходу в Advanced -> Local Administration і переконавшись, що "Use Primary Telnet Port" включений. Не забудьте натиснути кнопку Застосувати.
На цьому етапі можна легко використовувати telnet з терміналу або командного рядка для підключення до маршрутизатора. Якщо ви використовуєте Windows, вам, ймовірно, доведеться ввімкнути telnet. Щоб підключитися, просто введіть його, замінивши IP-адресу для власного IP-адреси маршрутизатора, якщо це необхідно (хоча більшість з них налаштовано використовувати діапазон 192)
telnet 192.168.1.1
Після того, як ви там перебуваєте, зазвичай можна ввести команду довідки, щоб дізнатися, які параметри є. Для Verizon FIOS, варіант, який я шукав, знаходився в підрозділі системи, і був точно під назвою «перезавантаження». Насправді вам потрібно набрати «перезавантаження системи», а не просто «перезавантаження»..
Після введення команди під час запрошення ви будете відключені, і маршрутизатор буде перезавантажено. Легко, так. Але хто хоче робити все, що набирає кожен раз?
Скриптинг Telnet через термінал (OS X або Linux або Cygwin у Windows)
Ми припустимо, що ви маєте доступ до оболонки bash, незалежно від того, чи це у вашій звичайній ОС, або якщо ваша ОС (Windows) не має bash, можливо, доведеться встановити Cygwin.
Надзвичайно легко створити скрипт набору команд і передати їх до програми telnet. Все, що потрібно зробити, це щось подібне:
(echo commandname; echo інша команда) | telnet 192.168.1.1
Єдина проблема полягає в настирливих логін, які ви повинні пройти через ... він не з'являється відразу. Отже, якщо ви потрапите в "echo admin", а потім "echo password", це відбудеться занадто швидко і не буде відправлено на сервер. Рішення? Використовуйте команду sleep!
Додавання в пару спальних команд 3, чекати три секунди, вирішує проблему. Спочатку ми повторимо ім'я користувача і пароль, а потім повторимо команду перезавантаження, і кожен раз ми будемо чекати три секунди між ними. Кінцева команда негайно перезавантажить сервер:
(сон 3; echo admin; сон 3; echo mypassword; сон 3; перезавантаження системи echo; sleep 3;) | telnet 192.168.1.1
Ви можете помістити це у сценарій оболонки і запустити його, коли захочете. Або ви можете додати його до вашого cron, як це (на OS X або Linux):
crontab -e
Додати цей рядок десь:
1 7 * * * (сплячий 3; ехо-адмін; сплячий 3; ехо-мій пароль; сон 3; перезавантаження ехо-системи; сон 3;) | telnet 192.168.1.1
Це перезавантажує ваш маршрутизатор о 7:01 щоранку.
Перезавантаження маршрутизатора Windows Way
Якщо ви працюєте з Windows, набагато складніше запланувати це автоматично, але ми можемо визначити його досить легко. Спочатку потрібно перейти до панелі керування, перейти до панелі "Включити або вимкнути функції Windows" (просто шукати її), а потім включити клієнта Telnet.
Тепер ви можете вставити наступне у Блокнот, але змінити 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, але ви, ймовірно, можете зробити це з будь-яким маршрутизатором. Будь ласка, повідомте нам у коментарях, якщо ви отримаєте його для роботи з іншим маршрутизатором, і ми оновимо статтю, щоб відобразити її.