注意:
- 本教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure 免费套餐。
- 它对 Oracle Cloud Infrastructure 身份证明、租户和区间使用示例值。完成实验室后,请使用特定于云环境的那些值替换这些值。
为 Oracle Cloud Infrastructure 上的单个区域中的远程访问设置 OpenVPN
简介
随着远程工作和云采用的增加,安全访问公司资源变得越来越重要。远程访问 VPN 允许用户从任何地方连接到其组织的网络,加密所有数据以保护其免受未经授权的访问。无论是在远程办公、家中还是在旅途中,虚拟专用网络 (VPN) 都能确保连接保持私密和安全。
在本教程系列中,我们将带您逐步完成构建以下映像中概述的体系结构的过程。
Oracle Cloud Infrastructure (OCI) 中的 VPN
VPN 对于在您的本地数据中心、您的组织使用的其他云环境或远程办公室之间建立安全通信至关重要,需要您的 OCI 设置。在 OCI 中,您可能需要两种类型的 VPN,每种都适合不同的用例。
-
站点到站点 VPN:连接整个网络,非常适合将多个办事处或分支机构安全地与 OCI 连接。站点到站点 VPN 是 OCI 中提供的原生服务,它使用行业标准 IPSec 协议通过现有互联网连接提供从公司网络和站点到 OCI 的专用安全连接。
-
远程访问 VPN (Point-to-Site VPN):与站点到站点 VPN(将整个网络相互连接)不同,远程访问 VPN 使用 VPN 客户端应用程序在单个设备(用户)与目标网络之间建立安全连接。目前,OCI 不提供原生远程访问 VPN 服务。但是,您可以利用应用市场映像(例如 OpenVPN),您可以将其部署在计算实例上。
注:本教程仅重点介绍如何使用 OpenVPN 设置远程访问 VPN。
OpenVPN 概览
OpenVPN 是一种广泛使用的 VPN 解决方案,提供多种口味,以满足不同需求。在本教程中,我们将重点介绍:
-
OpenVPN Access Server:专为企业设计,可保护数据通信,保护 Internet of Things (IoT),并提供对内部部署、数据中心或公有云资源的安全远程访问。它包括基于 Web 的管理接口,非常适合寻求可靠的企业级 VPN。OpenVPN Access Server 可免费安装并用于两个并发 VPN 连接。本教程将它从市场部署到 OCI Compute 实例。
-
OpenVPN Connect:适用于 Windows、macOS、iOS 和 Android 的官方 VPN 客户端。在本教程结束时,您将安装 OpenVPN Connect 并使用该连接连接到 OpenVPN Access Server,然后测试与云中目标专用资源的连接。
有关不同 OpenVPN 产品的更多信息,请参阅哪款 OpenVPN 产品适合您?。
目标
-
从 OCI 市场预配 OpenVPN Access Server 并进行初始设置。
-
配置 OpenVPN Access Server 以进行远程访问。
-
配置所需的 OCI 路由和安全性,以访问与 OpenVPN (Toronto) 在同一区域中的目标虚拟机 (Virtual Machine,VM)。
-
在 PC 上安装 OpenVPN Connect 并测试对目标 VM 的访问权限。
教程第一部分的最终体系结构
您将从头开始构建以下环境。
先决条件
-
访问 OCI 租户以及管理所需网络和计算服务的权限。
-
对 VPN 的基本理解。
-
基本了解 OCI 网络路由和安全及其功能:虚拟云网络 (VCN)、路由表、动态路由网关 (DRG) 和安全列表。
任务 1:创建动态路由网关
-
登录到 OCI 控制台,然后单击左上角的汉堡包菜单(≡)。
- 单击 Networking 。
- 单击动态路由网关。
-
单击创建动态路由网关。
- 输入 DRG 的名称。
- 单击创建动态路由网关。
-
已成功创建 DRG。
-
我们将每个任务结束时预配的每个组件添加到体系结构中。所以,你可以看到我们的环境看起来如何直到现在。
任务 2:设置 Spoke 虚拟云网络
任务 2.1:创建 VCN
-
单击左上角的汉堡菜单(≡)。
- 单击 Networking 。
- 单击虚拟云网络。
-
单击 创建 VCN 。
- 输入 VCN 的名称。
- 输入
10.1.0.0/24
作为 IPv4 CIDR 块。 - 单击 创建 VCN 。
-
已成功创建
Spoke-VCN-1
VCN。
任务 2.2:将 VCN 附加到 DRG
-
转至 Virtual Cloud Networks Details(虚拟云网络详细信息)页面。
- 单击 Dynamic Routing Gateways Attachments(动态路由网关附加)。
- 单击 Create DRG Attachment 。
- 输入附件的名称。
- 选择当前租户作为 DRG 位置。
- 选择在任务 1 中创建的 DRG 。
- 单击 Create DRG Attachment 。
-
VCN 已成功连接到 DRG。
任务 2.3:创建专用子网
-
在虚拟云网络详细信息页中,单击创建子网。
- 输入子网的名称。
- 选择区域。
- 输入
10.1.0.0/27
作为 IPv4 CIDR 块。
- 在路由表中选择默认路由表。
- 选择 Private Subnet 。
- 在 Security List(安全列表)中选择 Default Security List(默认安全列表)。
- 单击创建子网。
-
已成功创建专用子网。
任务 2.4:在子网上配置路由和安全
-
在 Virtual Cloud Networks Details(虚拟云网络详细信息)页中,单击专用子网。
-
单击指定路由表的路由表。
-
确保添加以下规则。
192.168.0.0/24
- DRG: Route traffic destined to Hub-Public-Subnet which will have the OpenVPN Access Server to the DRG.
-
Spoke-VCN-1
子网的路由部分已完成,现在让我们执行安全性操作。转到 Subnet Details(子网详细信息)页面,然后单击分配的安全列表。 -
确保允许入站流量。
- 从
Hub-Public-Subnet
(ICMP,类型 8)回显请求(ping 通信)。这是最后的测试。
- 从
-
确保允许所有出站流量。
-
当前的环境应该是这样的。
任务 3:预配测试 VM (Target-Instance-1
)
任务 3.1:使用 PuTTY 密钥生成器生成 SSH 密钥对(可选)
注:
- 我们在本教程中使用 PuTTY 来生成 SSH 密钥和访问 VM,但可以随时使用您选择的任何其他类似工具。
- 仅当需要对实例进行 SSH 访问时,才需要执行此操作。在本教程中,我们将通过仅 ping 实例进行测试。
-
从此处安装 PuTTY:下载 PuTTY 。
-
打开 PuTTY 密钥生成器,然后单击生成。
-
将鼠标光标悬停在空白区域上,直到完成密钥生成。
-
单击保存私有密钥。这将在访问实例时使用。
- 为私钥文件输入名称。
- 单击保存。
-
复制 Public key ,并将其粘贴到文本文件中,在创建 VM 时需要它。
任务 3.2:预配 Target-Instance-1
计算实例
-
单击左上角的汉堡菜单(≡)。
- 单击计算。
- 单击实例。
-
单击创建实例。
-
输入实例名称。
-
将 Image and Shape 设置保留为默认设置。
-
在主网络中,输入以下信息。
- 选择
Spoke-VCN-1
VCN。 - 选择专用子网。
- 选择 Manually assign private IPv4 address 。
- 输入实例
10.1.0.30
的专用 IPv4 地址。
- 粘贴在任务 3.1 中生成的公钥。
- 单击创建。
- 选择
注:在上一步中,如果不打算访问实例,请选择“No SSH keys(无 SSH 密钥)”选项。
-
已成功创建
Target-Instance-1
计算实例。 -
当前的环境应该是这样的。
任务 4:设置 Hub 虚拟云网络
任务 4.1:创建 VCN
-
单击左上角的汉堡菜单(≡)。
- 单击 Networking 。
- 单击虚拟云网络。
-
单击 创建 VCN 。
- 输入 VCN 的名称。
- 输入
192.168.0.0/16
作为 IPv4 CIDR 块。 - 单击 创建 VCN 。
-
已成功创建
Hub-VCN
VCN。
任务 4.2:将 VCN 附加到 DRG
-
转至 Virtual Cloud Networks Details(虚拟云网络详细信息)页面。
- 单击 Dynamic Routing Gateways Attachments(动态路由网关附加)。
- 单击 Create DRG Attachment 。
- 输入附件的名称。
- 选择当前租户作为 DRG 位置。
- 选择在任务 1 中创建的 DRG 。
- 单击 Create DRG Attachment 。
-
VCN 已成功连接到 DRG。
任务 4.3:创建 Internet 网关
-
转至 Virtual Cloud Networks Details(虚拟云网络详细信息)页面。
- 单击 Internet Gateways(Internet 网关)。
- 单击创建 Internet 网关。
- 输入 Internet 网关的名称。
- 单击创建 Internet 网关。
-
已成功创建 Internet 网关。
任务 4.4:创建公共子网
-
在虚拟云网络详细信息页中,单击创建子网。
- 输入子网的名称。
- 选择区域。
- 输入
192.168.0.0/24
作为 IPv4 CIDR 块。
- 在路由表中选择默认路由表。
- 选择公共子网。
- 在 Security List(安全列表)中选择 Default Security List(默认安全列表)。
- 单击创建子网。
-
已成功创建公共子网。
任务 4.5:在子网上配置路由和安全
-
在 Virtual Cloud Networks Details(虚拟云网络详细信息)页中,单击公共子网。
-
单击指定路由表的路由表。
-
请务必添加以下规则。
-
0.0.0.0/0
-IGW:要对 Internet 进行双向访问,访问公共 OpenVPN 服务器需要这样做。 -
10.1.0.0/27
-DRG:将通信路由到具有目标测试实例的Spoke-Private-Subnet
到 DRG。
-
-
在完成
Hub-VCN
子网的路由部分后,现在让我们执行安全性操作。转到 Subnet Details(子网详细信息)页面,然后单击分配的安全列表。 -
确保允许与 OpenVPN Access Server 相关的入站流量。
- 来自 anywhere 的 TCP 通信(端口
443
和端口943
)。 - 来自 anywhere (端口
1194
)的 UDP 通信。
- 来自 anywhere 的 TCP 通信(端口
-
确保允许所有出站流量。
-
当前的环境应该是这样的。
任务 5:预配和配置 OpenVPN Access Server
任务 5.1:从市场提供 OpenVPN
-
单击左上角的汉堡菜单(≡)。
- 单击市场。
- 单击所有应用程序。
- 在搜索栏中输入 OpenVPN 。
- 选择 OpenVPN Access Server BYOL 。
- 请注意,使用此映像,您将同时获得两个 FREE 连接。
- 选择 version 。
- 单击启动实例。
-
输入实例名称。
-
将 Image and Shape 设置保留为默认设置。
-
在主网络中,输入以下信息。
- 选择
Hub-VCN
VCN。 - 选择公共子网。
- 选择 Manually assign private IPv4 address 。
- 输入
192.168.0.2
作为实例的专用 IPv4 地址。 - Select Automatically assign public IPv4 address.
- 粘贴在任务 3.1 中生成的公钥。
- 单击创建。
- 选择
-
已成功创建
OpenVPN
计算实例。- 记下实例的公共 IP 地址。
- 缺省的用户名为
ubuntu
。但是,我们不会在登录实例时使用它。
任务 5.2:从 PuTTY 访问 OpenVPN VM 并完成初始设置
-
打开 PuTTY 配置。
- 单击身份证明。
- 上载在任务 3.1 中下载的私钥。
- 单击会话。
- 输入以下信息。
- 主机名:输入 OpenVPN 实例的公共 IP 地址。
- 连接类型:选择 SSH 。
- 端口:输入 22 。
- 单击打开。
-
单击 Accept 。
-
输入
openvpnas
作为用户名。- 输入 yes 就条款达成一致。
- 按 Enter 键,因为我们不打算有多个访问服务器。
- 按 Enter 键。
- 按 Enter 选择默认算法 (RSA) 。
- 按 Enter 选择默认密钥大小 (2048) 。
- 按 Enter 选择默认算法 (RSA) 。
- 按 Enter 选择默认密钥大小 (2048) 。
- 按 Enter 选择默认端口号 (943) 。
- 按 Enter 选择默认端口号 (443) 。
- 按 Enter 确认。
- 按 Enter 确认。
- 按 Enter 确认。
- 按 Enter 键以在登录到管理 UI 时使用
openvpn
作为默认用户名。 - 填写您的新密码并按 Enter 键。
- 再次填写密码,然后按 Enter 键。
- 按 Enter 键。
- 配置已完成。
- 请注意管理 UI URL:
https://192.168.0.2:943/admin
。 - 请注意客户端 UI URL:
https://192.168.0.2:943/
。
注:我们将使用公共 IP 地址访问管理 UI ,而不是以下屏幕截图中所示的专用 UI。
任务 5.3:配置远程访问
-
打开浏览器标签页。
- 访问以下 URL:
https://<publicip>/admin
,确保将<publicip>
替换为您创建的 OpenVPN 实例的公共 IP 地址。 - 单击高级。
- 单击继续。
- 输入
openvpn
作为用户名。 - 输入口令。
- 单击登录。
- 访问以下 URL:
-
单击同意。
-
正如我们前面提到的,你同时被授予两个免费的 VPN 连接。
- 单击配置。
- 单击 Network Settings 。
- 在主机名或 IP 地址中输入 OpenVPN 实例的公共 IP 地址。
- 单击保存设置。
-
单击更新正在运行的服务器。
- 单击配置。
- 单击 VPN 设置。
- 在路由下,添加我们计划通过 VPN 访问的
Spoke-VCN-1
(10.1.0.0/27
) 的专用子网。 - 单击保存设置。
-
单击更新正在运行的服务器。
-
设置从设备上的 OpenVPN 客户端连接到 VPN 时要使用的用户名。
- 单击 User Management 。
- 单击用户权限。
- 输入新的用户名。
- 选择 Allow Auto-login(允许自动登录)。
- 单击更多设置。
- 输入口令。
- 单击保存设置。
-
单击更新正在运行的服务器。
-
用户名已成功创建。
-
现在,所有组件都按体系结构中所示进行预配并准备进行测试。
任务 6:测试和验证
-
下图显示了要完成的测试场景。
任务 6.1:安装 OpenVPN Connect
-
从此处下载 OpenVPN 连接本地计算机:OpenVPN Connect for Windows 。
- 运行下载的
.msi
文件。 - 单击下一步。
- 选择 I accept the terms in the License Agreement 。
- 单击下一步。
- 运行下载的
-
单击 Install。
-
单击 Finish(完成)。
任务 6.2:设置 OpenVPN Connect
-
单击同意。
- 在键入服务器地址或云 ID 中,将 OpenVPN 服务器的公共 IP 地址输入为
https://<publicip>
。 - 单击下一步。
- 在键入服务器地址或云 ID 中,将 OpenVPN 服务器的公共 IP 地址输入为
-
单击 Accept 。
-
在导入概要信息中,使用您在任务 5.3 中提供的概要信息。
- 输入用户名。
- 输入口令。
- Profile Name 是自动填充的。
- 选择导入自动登录概要文件。
- 选择导入后连接。
- 单击导入。
- 您现在已连接。
- 请注意,通过 VPN 连接时,您将断开 Internet 连接。
任务 6.3:Ping Target-Instance-1
实例
-
Ping
Target-Instance-1
(10.1.0.30
)。正如你所看到的,测试是成功的。 -
完成测试后关闭 VPN。
-
单击确认。
-
您现在处于 DISCONNECTED 状态。
-
如果再次尝试 ping,您会注意到 ping 失败。
-
如果您检查分支子网日志,则可以查看从
OpenVPN
(192.168.0.2
) 到Target-Instance-1
(10.1.0.30
) 的流量以及发送回的响应。
后续步骤
在 Set up OpenVPN for Remote Access Across Multiple Regions on Oracle Cloud Infrastructure 教程的第二部分中,我们将扩展相同的设置,以包括我们将与远程对等连接连接的另一个区域。设置所需的网络配置后,将使用相同的 OpenVPN Access Server 连接到新灾难恢复区域中的资源。
确认
- 作者 — Anas abdallah(云网络专家)
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Set up OpenVPN for Remote Access in a Single Region on Oracle Cloud Infrastructure
G27745-02
Copyright ©2025, Oracle and/or its affiliates.