通过中介建立 SSH / RDP 反向隧道

通过中介建立 SSH / RDP 反向隧道

我想要解决的问题是如何与防火墙后面的 Linux 机器建立 SSH 和 RDP 连接,该机器具有非静态公共 IP,并且没有端口转发功能:

客户希望我的组织能够远程登录到他们网络上的 Linux 计算机。客户 A 的组织没有端口转发能力,也没有分配公共静态 IP。他们能够并且愿意在机器上运行脚本以建立反向隧道类型的连接。我的组织的团队不在我本地,需要从该国另一个地方远程登录到客户网络上的 Linux 计算机。该团队无法保证他们用于执行远程工作的客户端计算机始终处于开启和运行状态。此外,他们没有静态公共 IP。他们可能有能力配置 DDNS 服务,但这仍然不确定我是否能够在我的位置设置带有 DDNS 的服务器并保持任何连接无限期运行(永不关闭)。我的想法是,客户网络的 Linux 服务器可能有一种方法可以通过 DDNS 向我反向建立隧道,该隧道将无限期建立。建立该连接后,远程团队是否可以通过常规 SSH/RDP 连接到我的计算机,并通过我在计算机上设置的转发以某种方式访问​​ Linux 计算机?我的计算机可以是 Linux 或 Windows,这无关紧要。以下是我所设想的架构的更详细细分:

机器 1:远程 Linux 服务器,运行 Ubuntu Desktop 22.04.04。位于无法进行端口转发的防火墙后面。该机器接收并显示 IP 摄像头源,因此是 Ubuntu Desktop 而不是 Ubuntu Server。公共 IP 地址是非静态的,尽管这可能无关紧要,因为无论如何都无法转发端口以向公众公开 SSH 或 XRDP 接口。如果需要,可以运行 DDNS 客户端。这台机器将始终处于开启和运行状态。

机器 2:本地(我),Windows 或 Linux,配置了 DDNS 客户端。此机器将始终运行。潜在意图是以某种方式将其用作远程团队连接到机器 1 的网关?

(有没有办法让机器 3 -> 机器 2 <- 机器 1 等同于机器 3 -> 机器 1 ??)

再次需要 XRDP,因为这个远程团队需要能够看到摄像机馈送。

机器 3:远程(团队)、Windows、无法可靠地一直运行 - 并且未配置静态 IP。

答案1

您正在发明 VPN。在您的一个系统上设置 VPN 服务器,然后让托管主机和员工都连接到它。如果您正在寻找免费的选项,那么有 OpenVPN、WireGuard、IKEv2 (IPsec)、ocserv、Tailscale、ZeroTier 等。

如果你没有具有静态 IP 地址的服务器(并且无法从 ISP 获取),则 DDNS 将工作,但在附近的任何“云托管”提供商处租用 VPS 虚拟服务器(最好是 KVM 类型)并在其上运行 VPN 服务器会更可靠;只要物理距离不是太远(即 ping 值不是太高),它就不需要高规格。

相关内容