如何在通过 VPN 连接的网络中的计算机上使用局域网唤醒功能?

如何在通过 VPN 连接的网络中的计算机上使用局域网唤醒功能?

当网络 A(192.168.1.x)中的计算机连接到远程网络 B(192.168.2.x)中的 OpenVPN 服务器时,它可以看到/访问该远程网络中的所有计算机。

网络 B 中有一台计算机可以使用 WOL 唤醒。从网络 B 中的另一台设备向这台计算机发送魔术包没有问题,它会立即被唤醒。

但是,我想从网络 A 中的计算机发送唤醒请求。这不起作用。

我知道,魔术包是在本地网络内广播的。我假设该包仅在网络 A(192.168.1.x)内的计算机上接收,而不会到达网络 B(192.168.2.x)中的计算机。这是正确的吗?

是否有可能将唤醒请求从网络 A 发送到网络 B?

答案1

在 IPv4 中,您还拥有“子网定向广播”。IPv4 网络的最后一个地址是其广播地址 - 从任何其他网络,您都可以将数据包发送到 192.168.2.255,这些数据包将以单播方式传输,直到到达 192.168.2.x 网络,然后路由器会将它们转换为广播。

您的 WoL 工具应该有一个指定目标 IP 地址的选项。


如果失败,您可以通过 SSH 进入 OpenVPN 服务器并从那里运行 WoL 工具。由于 OpenVPN 服务器是 NetworkB 的成员,因此它能够直接广播 WoL 魔术包。


我知道,这个魔法包是在本地网络内广播的。

通常情况下是这样的,但这并不是一个特定的要求。要求实际上是“不惜一切代价将数据包送达计算机的 NIC”。

例如,单播是通常不是一种选择,因为计算机处于睡眠状态,它通常无法响应 ARP 查询,因此向其发送单播数据包很麻烦 - 通常需要特殊配置和/或 root 权限。广播只是一种始终有效的简单选项。

(尽管有时 NIC识别 ARP 查询并自主响应它们 - 或者至少在计算机被 ARP 时唤醒它,而无需魔术包。后者称为“唤醒模式”,确实会导致不必要的唤醒。)

相关内容