如何在互联网上的任何地方使用家庭网络中的服务器的局域网唤醒功能?

如何在互联网上的任何地方使用家庭网络中的服务器的局域网唤醒功能?

我有一台运行 Ubuntu Server 18.04.3 LTS 的 PC 和一台运行 Ubuntu Desktop 18.04.3 LTS 的笔记本电脑。

两者都已正确配置,以允许客户端(笔记本电脑)通过 LAN/WLan 上的 SSH 连接到服务器(PC),我之前已经测试并使用过多次。我还使用我的家用路由器 (BTHomeHub6) 进行端口转发,以允许使用其公共 IP 通过服务器的以太网端口进行 SSH。最后,服务器配置为接受 WOL 魔术包(+端口转发),这样我就可以从任何有互联网连接的地方启动它。

然而,问题是,当我不在家庭网络范围内,即在大学和移动数据/他们的网络上时,发送魔术包似乎并没有唤醒服务器,因此当我尝试 SSH 时出现以下错误。

ssh:连接到主机 [服务器的公共 IP] 端口 22:没有到主机的路由

基本上,没有什么可以像在家里/在我家庭网络附近那样工作(即使我使用移动数据并使用服务器的公共 IP 而不是它的 LAN IP,它仍然可以发送数据包并启动 SSH 会话),我将非常感谢任何帮助解决这个问题。

谢谢,希望我解释得足够清楚


编辑 :

我正在使用此命令发送魔术包(使用终端包唤醒局域网):

wakeonlan -i [Public IP] -p [10009] [MAC ADDR]

我的家用路由器上有两个 TCP/UDP 端口转发规则:

  1. INTERNAL(开始/结束 = 22/22)到 EXTERNAL(开始/结束 = 22/22)。对于 SSH
  2. INTERNAL(开始/结束 = 10009/10009)到 EXTERNAL(开始/结束 = 10009/10009)。对于 WOL

编辑2:

在 Reddit 上问过同样的问题后,我相信现在我有了解决方案,如果可行,我一定会将其标记为已解决。如果有人感兴趣/想知道它是如何修复的,这里是链接:

https://www.reddit.com/r/Ubuntu/comments/dbqitq/xpost_can_ssh_work_over_a_long_distance_providing/

谢谢大家的帮助!

相关内容