如何从 OCI(Oracle 云基础设施)计算实例连接到本地 OpenVPN 服务器?

How to connect to on-premise OpenVPN server from OCI (Oracle Cloud Infrastructure) Compute instance?

我公司有一个内部部署网络,由 OpenVPN 服务器打开。

在一般情况下,我曾经很容易连接到那个服务器。

但是,当我尝试从笔记本电脑通过 SSH 连接的 OCI 计算实例访问该服务器时,出现了一些问题。一旦我尝试连接 VPN 服务器,我的 SSH 连接就关闭了。

恕我直言,这可能是因为 VPN 连接更改了网络信息,因此我的 SSH 连接可能会丢失。

我试图四处寻找如何从 OCI 连接到 VPN,但几乎所有的东西都使用 Oracle 提供的 IPSec 协议,其他的都是关于在 OCI 实例上构建 OpenVPN 服务器。

我对网络结构很新手。所以,请给我一些提示来解决这个问题。 谢谢,

私有子网中的工作节点只有私有 IP 地址(它们没有 public IP 地址)。它们只能被 VCN 内的其他资源访问。 Oracle 建议使用堡垒主机来控制对私有子网中工作节点的外部访问(例如 SSH)。您可以在此处了解有关使用 SSH 通过堡垒主机连接的更多信息 - https://docs.cloud.oracle.com/en-us/iaas/Content/Resources/Assets/whitepapers/bastion-hosts.pdf

我得到以下信息:

  • 您在 OCI 的 Public 子网上有 Ubuntu 18.04 VM
  • 您在 On-Prem 上有 OpenVPN 服务器 运行。
  • 您想从 OCI 上的 Ubuntu VM 访问您的 On-Prem。

如果我没理解错的话,最好的办法就是设置IPSec VPN。如果你按正确的步骤,这并不难。在较高级别,您将执行以下步骤。我过去曾尝试使用 IKEv1。

OCI:

  1. 创建一个 DRG
  2. Attach/Associate 它到你的 VCN
  3. 创建一个 CPE(客户端设备)并为其标记 OpenVPN 服务器的 IP 地址。
  4. 在 DRG 上创建 IPSec 连接。它将创建两个具有自己的安全信息的隧道。
  5. 在关联的子网(即托管 Ubuntu VM 的子网)上设置路由,以便将关联到 On-Prem CIDR 的流量路由到 DRG。

On-Prem:

  1. 创建必要的配置以创建通往 OCI 的隧道(使用来自先前步骤的配置信息,例如 VPN 服务器 IP 地址和共享机密)
  2. 设置路由,以便将发往 OCI CIDR 范围的流量发送到关联的隧道接口

这确保您可以在 OCI 子网上创建多个 VM,所有这些 VM 都可以连接到您的 On-Prem 基础设施。 OCI 文档在设置此 VPN 连接方面有足够的信息。

或者,如果您唯一的要求是在 OCI 上的 Ubuntu 虚拟机与 OpenVPN 服务器 On-Prem 之间建立连接,您可以使用任何 VPN 客户端软件并进行设置。这不需要上述任何配置步骤。