Верно ли, что мы не можем позволить спать любой машине, к которой может потребоваться доступ через VPN-соединение?
(Я спрашиваю об этом из-за ошибки сервера, поскольку это касается как серверов VPN, так и компьютеров конечных пользователей, которые спят)
Старая ветка, но я хотел вмешаться, потому что это все еще самый популярный результат поиска по запросу «wol over vpn».
Да, волшебный пакет WOL определен в рамках ограничений уровня 2, но это не означает, что он не может содержаться внутри объекта сетевого и транспортного протокола, который затем может использоваться для его маршрутизации через VPN. Причина в том, что «волшебная» последовательность может находиться где угодно в пределах полезной нагрузки. Таким образом, по сути, речь идет о доставке обычного маршрутизируемого пакета на целевой хост с «волшебной» последовательностью внутри его полезной нагрузки.
Большинство реализаций волшебного пакета используют порт UDP 9, хотя на самом деле это не имеет значения, если он правильно маршрутизируется и передается в том же широковещательном домене, что и целевой компьютер. Если у VPN-клиента есть правильные маршруты, он может правильно отправлять широковещательный пакет, например 192.168.1.255 (широковещательный адрес), на VPN-шлюз через Интернет.
Таким образом, маршрутизация действительно проста, проблема может заключаться в правильной трансляции с целевого VPN-шлюза. Это означает настройку шлюза VPN / поиск опции для пересылки широковещательного трафика от удаленных клиентов VPN в локальную сеть.
Обычно нет, поскольку «MagicPacket» на самом деле находится на уровне 2. Он даже не маршрутизируется без помощи серверов пересылки (например, IP-помощника).
Есть интересный способ построить туннель уровня 2 с SSH, и с этим WOL должен хорошо работать. Поэтому я не вижу смысла обходиться без отправки машин в спящий режим.
На основе упоминания @slm я включил важные части источника ниже.
Предпосылки:
1) на обоих компьютерах должен быть включен вход root. (извините - ваши учетные данные на обоих компьютерах должны позволять вам создавать устройство TAP). Это означает: на системном уровне root имеет пароль;
2) в файле sshd_config хоста, на котором запущен демон ssh, установлены параметры PermitTunnel yes и PermitRootLogin yes;
3) в ядре включена переадресация ip. Используйте команду 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 для настройки туннеля уровня 2.
Эта форма будет держать сеанс ssh открытым на переднем плане. Если вы хотите, чтобы после создания туннеля оболочка прекратилась, вы можете использовать опцию -f, чтобы указать, что она должна выполняться в фоновом режиме. Однако ему нужна команда для разветвления, поэтому вы можете просто использовать фиктивную команду, например true, чтобы заставить ее работать. Вы также можете использовать эту функцию для настройки моста на удаленном конце, но сейчас я не буду вдаваться в подробности. Итак, это будет выглядеть так:
ssh -f -w 1: 1 -o Tunnel = имя хоста ethernet true
Добавьте устройства TAP в мост:
brctl addbr br0; brctl addif tap1; ifconfig tap1 up; ifconfig br0 вверх
вы запускаете это на обоих хостах (обратите внимание, что я не назначал IP). brctl - это команда, используемая для управления устройствами моста. brctl addbr добавляет мост br0, а команда addif присоединяет к нему устройство tap1.
Следующим шагом будет добавление физических интерфейсов Ethernet к устройству моста. То, как вы хотите это сделать, может быть разным, поэтому я рассмотрю пару сценариев. В первом сценарии ваши узлы VPN находятся в одной подсети (т. Е. Между ними нет маршрутизации), а во втором сценарии - через Интернет.
Бесстыжие украдено из: http://la11111.wordpress.com/2012/09/24/layer-2-vpns-using-ssh/
Да, вы можете, вместо того, чтобы отправлять пакет WoL на широковещательный адрес в целевой сети, просто отправьте его на IP-адрес машины, которую вы хотите разбудить. Программы, протестированные с PPTP VPN:
Я согласен с user48838 - по определению волшебный пакет отправляется только по локальной подсети. Однако ранее я использовал сценарий, написанный jpo, который работал из другой подсети через обычный маршрутизатор. Попробуйте это - YMMV
ну на самом деле ответ ДА.
Я успешно использую WOL поверх PPTP VPN с помощью этого приложения: https://play.google.com/store/apps/details?id=com.benfinnigan.wol&hl=pl
Я проверил это, и ответ ДА :)
Я нашел в Интернете инструмент, который отправляет пакет WOL как uni-cast на предполагаемый хост, что позволяет избежать передачи широковещательного пакета через маршрутизатор.
Один момент, на который вам нужно обратить внимание при использовании этого решения, - вам необходимо разместить статическую запись arp на маршрутизаторе, поскольку хост будет отключен и не будет отвечать на запрос ARP маршрутизатора. Ура!