Существует причудливый способ построить туннель уровня 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/