Настраиваем удаленный доступ к домашнему ПК за роутером

Не так давно я озадачился вопросом дистанционного пробуждения своего домашнего компьютера (WOL — wake on lan). Нужно мне это было для удаленного доступа к нему по SSH или TeamViewer. Таким образом при достаточной скорости интернет соединения можно работать за своим компьютером с привычной рабочей средой, получить доступ к нужным файлам (забытым дома), включить торрент-клиент и поставить на загрузку любимый сериал, чтобы по приходу домой не терять время на его скачивание. 

Ну и у этого в принципе есть множество преимуществ. Только вот настроить Wake On Lan на домашнем ПК у меня никак не получалось.

Исходные данные

Операционные системы установлены Windows 7 и Debian 9. Загрузчик Grub2. Основной системой использую Linux.

Материнская плата MSI 970 Gaming. В настройках BIOS выставил:

  • LAN Option ROM = Enabled
  • EuP 2013 = Disabled
  • Resume by PCI-E device = Enabled

К сетевой карте подходит провод от роутера. Роутер Beeline SmartBox One. Интернет провайдер соответственно Билайн.

Технология Wake on Lan

По идеи система должна получать Magick Packet от телефона через WiFi и загружаться. В идеале из глобального интернета, ip статический, но тут немного сложнее, об этом чуть позже (нужно пробрасывать порты и организовывать туннель).

Теперь разберемся, как работает технология WOL, обязательно ли лезть в настройки Операционной системы, или она может запускаться только биосом?

Немного побегав по интернету я сделал выводы:

Настройки БИОС’а были выставлены верно. Так как сетевая карта у этой материнской платы находится на шине PIC-e, пункта Resume by PCI-E device = Enabled достаточно.

Настройки сетевой карты в ОС

Так же стало ясно, что немаловажную роль в технологии WOL играют настройки операционной системы. А вернее те настройки, которые ОС посылает сетевой карте во время выключения. ОС дает директиву сетевой карте оставаться в режиме «прослушивания» сетевого трафика и ожидания Магического Пакета. Если такой настройки в системе нет, то компьютер обесточивается полностью, вместе с сетевой картой. Это очень важный момент, на котором я надолго застрял.

Дальше я начал ковырять Debian.
tcpdump успешно выявлял магические пакеты, но утилита ethtool не выводила поддержку WOL на данной сетевой карте в принципе.

Хотя там должны быть строки :

Где g значит, что WOL включен. Выяснилось, что для моей сетевой карты нет подходящих драйверов под Linux которые раскрыли бы все ее возможности.

Я пошел в Windows 7. Выставил настройки сетевой карты на поддержку WOL, завершаю работу Windows.

Настройка роутера

Отправляю с телефона Магический пакет через WiFi сеть. Компьютер включается. Я обрадовался, но рано. Это говорит о том, что все предыдущие настройки работают. Технология поддерживается аппаратным обеспечением и остается только разобраться в нюансах. Только рано радоваться было вот почему: естественно при отправке пакета из глобального интернета никакой реакции на магический пакет не происходило.

Полез в настройки роутера Beeline SmartBox One. Настроил проброс 9 порта (порт по умолчанию для wol) с ip адреса роутера на локальный ip моей машины. Заработало. Теперь компьютер так же включается из глобальной сети. Но радовать вновь рано.

ARP таблицы роутера

И тут начинается самое интересное…

Все работает исправно минут 15-20. После простоя компьютер перестает принимать Магический пакет, и никак не реагирует на внешнее воздействие.
На одном из форумов вычитал, что роутеры примерно раз в 15 минут обновляют значения своих ARP таблиц. Стал исследовать.

ARP (Address Resolution Protocol — протокол определения адреса) — протокол канального уровня, предназначенный для определения MAC-адреса Получателя в TCP/IP сетях.

Полез в настройки роутера вновь.
Там нет даже упоминания об этих ARP-таблицах. Раскопал в интернете, что можно зайти от SuperUser’а на роутер. Там будет доступно больше настроек.

Логин: SuperUser; Пароль: серийный номер SmartBox’a.

Да, действительно появился пункт «Arp таблицы». Захожу, но там только одна таблица на которую можно только посмотреть. Ни добавить запись, ни удалить нельзя. Что же делать?…

Путь к роутеру через SSH

Сидел на работе и размышлял. До этого я видел в настройках роутера от суперпользователя графу удаленное управление. Там был протокол SSH. Т.к. я на работе, и обычным способом перейдя на 192.168.1.1 подключиться к роутеру не могу, решил попробовать пробиться на роутер по SSH.

Оказываюсь в настройках роутера в консоли. Там нахожу команду arp. Она отображает текущие записи таблицы.

Одна из которых: (192.168.1.64) at <incomlete> on br0

Вместо <incomplete> должен быть физичиский адрес сетевой карты (MAC адрес).
Попытался изменить запись, ничего не вышло. Но удалось подключиться к базовой операционной системе Linux роутера командой SH.
Она меня отправила прямиком в консоль администратора системы. Тут то уже можно что-то предпринять.

Благодаря информации о работе с ARP взятой отсюда
добавляю постоянную запись в таблицу командой:

Где 192.168.1.64 — ip пробуждаемого компьютера;
00:09:34:2c:36:9d — MAC адрес его сетевой карты через которую мы будим.

Результат

Выхожу из SH, закрываю SSH, с рабочего компьютера отправляю Магический пакет — вижу в TeamViewer’e появился мой домашний компьютер. Это успех.

В общем и целом как доставить Magick Packet стало ясно. Но остается один не решенный вопрос — как же быть с Linux Debian? Для данной материнской платы, к сожалению, я так и не нашел нужный драйвер сетевой карты, который поддерживал бы WOL. Но для моих целей в принципе достаточно и удаленного включения компьютера с помощью Windows 7. Но так, как загрузчик ОС стоит grub, в нем по умолчанию пунктом загрузки выбран Linux, что в конкретной ситуации меня не устраивает. Нужно изменить файл конфигурации загрузчика и отдать приоритет Windows, иначе после выключения компьютера я потеряю к нему доступ.

Итак, выводы:

Алгоритм успешной настройки удаленного включения компьютера в общем и целом выглядит так:

  1. Необходимо понять, поддерживает ли сетевая карта технологию WOL;
  2. Зайти в BIOS и включить ее;
  3. Загрузиться в ОС и выставить настройки сетевой карты;
  4. Убедиться в правильности выставленных настроек — выключить ПК, посмотреть на сетевую карту (должен мигать светодиод, означающий, что сетевая карта ждет магический пакет);
  5. Настроить статический ip адрес роутеру и пробросить магический пакет на сетевую карту целевого компьютера;
  6.  Сгенерировать магический пакет любым удобным средством и направить его на статический ip роутера;
  7. Наслаждаться результатом.

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Поделиться записью:

Комментарии:

Вы можете оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Используйте данные HTML тэги и атрибуты:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: