局域网唤醒可以在VPN连接上工作吗?

是否真的允许我们不允许任何机器进入可能需要访问的虚拟机连接?

(我问服务器故障,因为它是关于最终用户电脑睡觉的VPN服务器一样多)

老线程,但我想参加,因为它仍然是“wol over vpn”的最高评级search结果。

是的,WOL魔术数据包是在第2层的限制范围内定义的,但这并不意味着它不能被包含在networking和传输协议实体中,然后通过VPN来传送它。 其原因是“魔术”序列可以在有效载荷内的任何地方。 所以本质上,它成为一个在有效载荷内使用“魔术”序列获得规则可路由数据包给目标主机的问题。

魔术数据包的大部分实现都使用UDP端口9,但只要路由正确并在与目标计算机相同的广播域上传输,这并不重要。 只要VPN客户端具有正确的路由,就可以通过互联网向VPN网关正确发送广播报文,如192.168.1.255(广播地址)。

所以路由很简单,问题可能在于从目标VPN网关正确广播。 这意味着configurationVPN网关/查找选项,将广播stream量从VPN远程客户端转发到本地networking。

通常没有,因为“MagicPacket”实际上在第2层。如果没有转发器(例如IP帮助程序)的帮助,它甚至是不可路由的。

有一个奇特的方式来build立一个SSH隧道的第二层隧道,这个WOL应该可以正常工作。 所以我没有理由不发送机器睡觉。

在@slm提到的基础上,我在下面包括了源代码的重要部分。

先决条件:

1)两台计算机都必须启用rootlogin。 (对不起,您的两台计算机上的凭据必须允许您创buildTAP设备)。 这意味着:在系统级别,root拥有密码;

2)在运行ssh守护进程的主机的sshd_config文件中,设置选项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命令。

创build隧道:

ssh -w 1:1 -o Tunnel =以太网主机名

-w选项设置任一主机上的TAP设备的名称(这里,tap1将在两端创build)。

-o选项用于在命令行上指定configuration文件选项。 我们使用Tunnel = ethernet来build立一个二层隧道。

这个表单将保持ssh会话在前台打开。 如果您希望在build立隧道后放弃shell,可以使用-f选项来告诉它分叉到后台。 然而,它需要一个fork命令,所以你可以使用一个虚拟命令如true来使它工作。 你也可以使用这个function在远端设置桥接,但是我现在还没有进入。 所以,看起来像这样:

ssh -f -w 1:1 -o Tunnel = ethernet hostname true

将TAP设备添加到网桥:

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

你在这两个主机上运行(注意,我没有分配一个IP)。 brctl是用来操纵网桥设备的命令。 brctl addbr添加桥br0,addif命令将tap1设备连接到它。

接下来是将物理以太网接口添加到网桥设备。 你想怎么做会有所不同,所以我会经历几个场景。 第一种情况是你的VPN对等体在同一个子网上(即它们之间没有路由),第二种情况将通过互联网。

无耻被盗: http : //la11111.wordpress.com/2012/09/24/layer-2-vpns-using-ssh/

是的,你可以不把WoL包发送到目标networking的广播地址,而是把它发送到你想唤醒的机器的IP地址。 使用PPTP VPNtesting的程序:

我同意user48838 – 根据定义,魔术数据包只通过本地子网发送。 不过,我以前使用jpo编写的脚本,通过普通路由器从不同的子网工作。 试试这个 – YMMV

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

其实答案是肯定的。

我使用该应用成功使用WOL over PPTP VPN: https : //play.google.com/store/apps/details?id = com.benfinnigan.wol&hl = zh_CN

我已经testing了这个,答案是肯定的:)

我在互联网上find了一个工具,把WOL包作为单播发送给预定的主机,避免通过路由器问题传递广播包。

有一点你需要注意这个解决scheme,你需要在路由器上放置静态arp条目,因为主机将closures,并且不会响应路由器的ARP请求。 干杯!