从网络外部访问具有非静态IP的机器

从网络外部访问具有非静态IP的机器

我有一台机器在大学网络内监听 ssh 连接。他们配置网络的方式是,每栋建筑都分配一个外部 IP。我无法更改网络基础设施。假设我知道我想要访问的机器的当前非静态内部 IP 以及它的外部 IP,我如何从外部建立连接(假设没有任何防火墙的干扰)?

答案1

您必须做以下两件事之一,它们都需要第三台具有公共 IP 地址的机器运行您控制的软件:

1) 在该机器和具有公共 IP 的某个外部机器之间设置 VPN。连接到该 VPN 并使用它来访问该机器。

2) 让该机器连接到充当代理的第三台机器。连接到第三台机器,让它和您要连接的机器协作,将该机器的出站连接附加到您与第三台机器的出站连接,并将其代理到与机器的 SSH 客户端的入站“环回”连接。

以下是有关方法 2 如何工作的更详细解释。

  1. 您希望通过 SSH 进入的机器上运行的程序与第三台机器建立了出站连接。

  2. 你与第三台机器建立出站连接。你告诉它你希望与内部机器上的 SSH 客户端建立连接。

  3. 第三台机器告诉内部机器您希望与其建立 SSH 连接。它会与第三台机器建立另一个 TCP 连接。

  4. 第三台机器告诉您它已准备就绪。您与第三台机器建立 SSH 连接。第三台机器将 SSH 连接代理到步骤 3 中建立的内部机器的第二个连接。

  5. 内部机器完成步骤 4 中建立的连接和与 SSH 服务器的新“环回”连接之间的连接和代理。

  6. 您现在正在与内部机器的 SSH 服务器进行通信,该连接看起来是从它自己到它自己,但实际上是通过两个代理(一个位于其两个入站连接之间的第三台机器上,一个位于该本地机器上)。

相关内容