Включение сервера с помощью мобильного телефона из внешнего мира

Доброго времени суток! Всё началось с того, что работая удалённо в терминале понадобилось перезагрузить сервер. Толи день не задался, толи мысли были о чём-то другом и вместо команды:

отправил его отдыхать после нелёгкого рабочего дня, командой:

И всё произошло машинально и так быстро, что даже сам не успел понять. Понимание стало приходить минут через 15-20, после безудержных попыток подключится удалённо к терминалу. И думаю даже не стоит говорить о том как далеко находился сервер, и добраться до него было практически невозможно. После долгих телефонных разговоров и объяснений куда кому пойти, и что где нажать, сервер всё же вернулся в рабочий ритм. После чего и появилась идея о включении сервера удалённо.

Кстати, подобную инструкцию можно выполнить с любого устройства, причём не обязательно с установленной Ubuntu. Так что вы можете не беспокоясь о последствиях купить MacBook Pro на сайте www.apl5.ru и включать сервер именно с него.

И так имеем:

  • Сервер с Ethernet интерфейсом с поддержкой Wake-on-LAN (далее WOL)
  • Операционная система: Ubuntu Server 12.04.2 LTS
  • Маршрутизатор Cisco 85/86/87/88/89x
  • Мобильный телефон Nokia N9

A. Включаем/проверяем в BIOS сервера поддержку WOL

B. Включаем/проверяем поддержку WOL в Ubuntu Server

Для этого устанавливаем пакет ethtool:

После чего проверяем поддерку WOL:

Вывод команды должен быть следующим:

Это говорит о том, что сетевая карта поддерживает WOL и он включен. Если же:

Буква отличная от g, то сетевая карта не поддерживает WOL. И если он выключен:

То включим его следующей командой:

На многих системах эту команду приходится выполнять после перезагрузки, поэтому сделаем чтобы она выполнялась каждый раз при загрузке системы автоматически. Для этого создадим файл wakeonlan.conf следующими командами:

Сделаем файл исполняемым:

И запустим службу:

C. На маршрутизаторе Cisco настроим пересылку WOL пакета. Для этого добавим следующие команды:

Где:

  • interface X — локальный интерфейс (ip nat inside)
  • interface Y — внешний интерфейс (ip nat outside)

D. На телефон Nokia N9 добавим perl скрипт создающий WOL пакет следующего содержания:

Сделаем скрипт исполняемым в терминале телефона:

Запускается скрипт в терминале со следующими параметрами:

Самое удивительное, с момента той нелепой ошибки, так и не приходилось использовать это, разве что только в период тесто-наладки.

dyug
2013-07-08 20:14:00
Гмм, в гугл плее их ВоЛ море. Причем бесплатных. Вопрос, как мобильный оператор пропустит этот пакет через свою сеть - - остается открытым . https://play.google.com/store/search?q=Wake+On+Lan&c=apps
Maksym Kiselov
2014-07-01 22:26:00
ОО! Полезно Максим, cintapunto.com