C'è un modo elegante per costruire un tunnel di livello 2 con SSH, e con questo WOL dovrebbe funzionare bene. Pertanto non vedo alcun motivo per fare a meno di mandare le macchine a dormire.
Sulla base della menzione @slm ho incluso le parti importanti della fonte di seguito.
Prerequisiti:
1) entrambi i computer devono avere il login root abilitato. (scusate: le vostre credenziali su entrambi i computer devono consentire di creare il dispositivo TAP). Questo significa: a livello di sistema, root ha una password;
2) nel file sshd_config dell'host che esegue il demone ssh, sono impostate le opzioni PermitTunnel yes e PermitRootLogin yes;
3) l'IP Forwarding è abilitato nel kernel. Utilizzare il comando sysctl per impostare questa opzione: sysctl -w net.ipv4.ip_forwarding = 1; inoltre, aggiungi la riga net.ipv4.ip_forwarding = 1 al tuo file /etc/sysctl.conf affinché l'impostazione si attacchi dopo il riavvio. Fallo su entrambi i computer;
4) Hai installato il pacchetto bridge-utils, o altrimenti hai il comando brctl a tua disposizione, su entrambi i computer.
Crea il tunnel:
ssh -w 1: 1 -o Tunnel = nome host ethernet
l'opzione -w imposta il nome del dispositivo TAP su entrambi gli host (qui, tap1 verrà creato su entrambe le estremità).
l'opzione -o serve per specificare un'opzione del file di configurazione sulla riga di comando. Usiamo Tunnel = ethernet per impostare un tunnel di livello 2.
Questo modulo manterrà la sessione ssh aperta in primo piano. Se desideri che abbandoni la shell dopo che il tunnel è stato stabilito, puoi usare l'opzione -f per dire che si biforca in background. Tuttavia, ha bisogno di un comando per fork, quindi puoi semplicemente usare un comando fittizio come true per farlo funzionare. Potresti anche usare questa funzionalità per configurare il bridge sull'estremità remota, ma non ci sto entrando in questo momento. Quindi, sarebbe simile a questo:
ssh -f -w 1: 1 -o Tunnel = nome host Ethernet vero
Aggiungi dispositivi TAP a un bridge:
brctl addbr br0; brctl addif tap1; ifconfig tap1 up; ifconfig br0 up
lo esegui su entrambi gli host (nota che non ho assegnato un IP). brctl è il comando da utilizzare per manipolare i dispositivi bridge. brctl addbr aggiunge il bridge br0 e il comando addif unisce il dispositivo tap1 ad esso.
Il prossimo sarebbe aggiungere interfacce Ethernet fisiche al dispositivo bridge. Il modo in cui vorresti farlo varierà, quindi esaminerò un paio di scenari. Il primo scenario è dove i tuoi peer VPN si trovano sulla stessa sottorete (cioè, nessun routing tra di loro) e il secondo scenario sarà su Internet.
Senza vergogna rubato da: http://la11111.wordpress.com/2012/09/24/layer-2-vpns-using-ssh/