Может ли Wake on LAN работать по VPN соединению?


14

Правда ли, что мы не можем позволить любой машине спать, к которой может потребоваться доступ через соединение VPN?

(Я спрашиваю об этом по вине сервера, так как речь идет о VPN-серверах так же, как о компьютерах конечного пользователя, которые спят)

Ответы:


9

Старая тема, но я хотел бы присоединиться к ней, потому что это все еще лучший результат поиска по запросу "wol over vpn".

Да, магический пакет WOL определен в пределах ограничений уровня 2, но это не означает, что он не может содержаться внутри объекта сетевого и транспортного протокола, который затем может использоваться для маршрутизации его через VPN. Причина этого в том, что «волшебная» последовательность может быть где угодно в пределах полезной нагрузки. По сути, это становится вопросом получения обычного маршрутизируемого пакета на целевой хост с «магической» последовательностью внутри его полезной нагрузки.

В большинстве реализаций магического пакета используется UDP-порт 9, хотя это действительно не имеет значения, если он правильно маршрутизируется и передается в том же домене широковещательной рассылки, что и целевой компьютер. Пока VPN-клиент имеет правильные маршруты, он может правильно отправлять широковещательный пакет, такой как 192.168.1.255 (широковещательный адрес), на шлюз VPN через Интернет.

Таким образом, маршрутизация действительно проста, проблема может заключаться в правильной трансляции с целевого шлюза VPN. Это означает настройку шлюза VPN / поиск опции для пересылки широковещательного трафика от удаленных клиентов VPN в локальную сеть.


4

Обычно нет, так как «MagicPacket» на самом деле находится на уровне 2. Он даже не маршрутизируется без помощи серверов пересылки (например, IP-помощник).


Я надеялся, что VPN-серверы будут иметь какую-то дополнительную поддержку для этого ...
Йен Рингроз

Обычно это не «норма» для клиентов VPN. В самом сеансе VPN вы можете настроить промежуточную систему / оборудование, чтобы помочь с запуском «MagicPacket» против целевой системы / устройства.
user48838

1

Существует причудливый способ построить туннель уровня 2 с SSH, и с этим WOL должен хорошо работать. Поэтому не вижу смысла обходиться без отправки машин в спячку.

На основании упоминания @slm я включил важные части источника ниже.

Предпосылки:

1) на обоих компьютерах должен быть включен root. (извините - ваши учетные данные на обоих компьютерах должны позволять вам создавать устройства TAP). Это означает: на системном уровне root имеет пароль;

2) в файле sshd_config хоста, на котором запущен демон ssh, задаются параметры PermitTunnel yes и PermitRootLogin yes;

3) в ядре включена ip forwarding Используйте команду sysctl для установки этой опции: sysctl -w net.ipv4.ip_forwarding = 1; также добавьте строку net.ipv4.ip_forwarding = 1 в ваш файл /etc/sysctl.conf, чтобы параметр оставался после перезагрузки. Сделайте это на обоих компьютерах;

4) Вы установили пакет bridge-utils или иным образом получили команду brctl на обоих компьютерах.

Создайте туннель:

ssh -w 1: 1 -o Tunnel = имя хоста Ethernet

опция -w устанавливает имя устройства TAP на любом хосте (здесь, tap1 будет создан на обоих концах).

опция -o предназначена для указания опции файла конфигурации в командной строке. Мы используем Tunnel = ethernet для настройки туннеля второго уровня.

Эта форма будет держать сессию ssh открытой на переднем плане. Если вы хотите, чтобы он покинул оболочку после того, как туннель был установлен, вы можете использовать опцию -f, чтобы сказать ему, что он должен переходить в фоновый режим. Тем не менее, ему нужна команда для разветвления, поэтому вы можете просто использовать фиктивную команду, такую ​​как true, чтобы она заработала. Вы также можете использовать эту функцию для настройки моста на удаленном конце, но сейчас я не буду вдаваться в подробности. Итак, это будет выглядеть так:

ssh -f -w 1: 1 -o Tunnel = имя хоста Ethernet

Добавьте устройства TAP к мосту:

brctl addbr br0; brctl addif tap1; ifconfig tap1 up; ifconfig br0 up

вы запускаете это на обоих хостах (обратите внимание, что я не назначил IP). brctl - это команда, используемая для управления мостовыми устройствами. brctl addbr добавляет мост br0, а команда addif присоединяет к нему устройство tap1.

Следующим шагом будет добавление физических интерфейсов Ethernet к мостовому устройству. То, как вы захотите это сделать, будет меняться, поэтому я рассмотрю пару сценариев. Первый сценарий - это когда ваши VPN-узлы находятся в одной подсети (т. Е. Между ними нет маршрутизации), а второй - через Интернет.

Бесстыдно похищен из: http://la11111.wordpress.com/2012/09/24/layer-2-vpns-using-ssh/


Добро пожаловать в сбой сервера! Как правило, нам нравятся ответы на сайте, чтобы они могли стоять сами по себе - Ссылки - это здорово, но если эта ссылка когда-нибудь сломается, в ответе должно быть достаточно информации, чтобы она была полезной. Пожалуйста, рассмотрите возможность редактирования своего ответа, чтобы включить больше деталей. Смотрите FAQ для получения дополнительной информации.
SLM

где я могу найти sshd_config в системе Windows 7?
Ян Рингроз

@IanRingrose Понятия не имею, потому что я работаю только с Linux
сэр l33tname

1

Да, вы можете вместо отправки пакета WoL на широковещательный адрес в целевой сети просто отправить его на IP-адрес компьютера, который вы хотите активировать. Программы, протестированные с PPTP VPN:


0

Я согласен с user48838 - по определению волшебный пакет отправляется только через локальную подсеть. Однако ранее я использовал скрипт, написанный jpo, который работал из другой подсети через обычный маршрутизатор. Попробуйте это - YMMV

http://gsd.di.uminho.pt/jpo/software/wakeonlan/


0

ну на самом деле ответ ДА.

Я успешно использую WOL через PPTP VPN с помощью этого приложения: https://play.google.com/store/apps/details?id=com.benfinnigan.wol&hl=pl


Добро пожаловать в сбой сервера! Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить сюда основные части ответа и предоставить ссылку для справки.
Slm

0

Я проверил это, и ответ ДА ​​:)

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

В этом решении нужно обратить внимание на один момент: вам нужно поместить статическую запись arp в маршрутизатор, поскольку хост будет отключен и не будет отвечать на запрос ARP маршрутизатора. Ура!


Похоже, что это будет работать, также похоже, что эти пакеты будут эффективно транслироваться. Запись ARP переводится только с IP на MAC. Он не сообщает коммутатору, на каком порту находится MAC. И если хост находится в автономном режиме, коммутатор, вероятно, не знает, где находится этот MAC, поэтому он будет транслироваться. Но по крайней мере ни один из хостов не собирается отправлять ответ, так что все должно быть в порядке.
Касперд

Некоторая информация о том, как найти инструмент, который вы использовали, могла бы улучшить этот ответ.
Касперд
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.