注:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室时,请将这些值替换为特定于云环境的那些值。
在高可用性模式下使用 Oracle Cloud Infrastructure 站点到站点 VPN 服务,从 Linux 和 Libreswan 进行 ECMP 路由
简介
在当今互联的世界中,确保跨网络传输的数据的可用性和安全性至关重要。为了满足这一关键需求,Oracle Cloud 提供了强大的网络功能,包括建立高可用性 IPSec 隧道的能力。在本教程中,我们将探讨高可用性 IPSec 隧道的概念,并指导您完成使用等成本多路径 (Equal-cost multi-path,EMP) 协议在 Oracle Cloud 中设置弹性网络体系结构的过程。
在本教程中,我们将重点利用针对 Oracle Cloud 环境优化的强大且安全的操作系统 Oracle Linux 以及久负盛名的 IPSec 客户端 Libreswan,在基于路由的模式下建立 IPSec 隧道。我们将利用 Oracle Cloud Infrastructure (OCI) 提供的动态路由网关 (Dynamic Routing Gateway,DRG) 功能在多个 IPSec 隧道之间实现无缝的故障转移和负载平衡。
目标
提供在 OCI 中实施 IPSec 隧道的综合指南,该指南使用 ECMP 路由协议在活动/活动方案中实现流量负载平衡。
- 了解站点到站点 IPSec 协议的基本知识
- 了解不同的 IPSec 模式:传输模式与隧道模式、基于策略的模式与基于路由的模式
- 使用 ECMP 负载平衡在 Oracle Linux 中配置 Libreswan
- 为冗余 IPSec 隧道配置 DRGv2
- 使用 Iperf3 测试隧道冗余和负载平衡
按照本教程,您将全面了解 OCI 中的 IPSec。您将掌握通过冗余连接有效地将内部部署基础设施与 OCI 互连所需的技能。
先决条件
-
活动的 OCI 租户。您必须具有在 OCI 中创建和管理网络资源的必要权限。
-
对 Linux OS、网络概念和 OCI 的基本了解。这包括熟悉基本网络概念,例如 IP 寻址、子网设置、路由和防火墙至关重要。
-
对 Oracle Linux 的基本了解,包括如何安装和配置。如果您刚刚接触 Oracle Linux,则可能需要提前完成基本的 Oracle Linux 教程或指南。
-
在 OCI 中设置的虚拟云网络 (VCN) 和子网,配置了适当的路由规则、Internet 网关、DRG 和安全列表。
-
了解如何使用 OCI 控制台或 OCI CLI 创建和管理网络资源。
注:建议您在 OCI 中设置一个测试环境,用于在生产环境中实施网络配置和 IPSec。
什么是 IPSec VPN
互联网协议安全 (Internet Protocol security,IPSec) 是一个开放标准的框架,用于帮助通过使用加密安全服务确保互联网协议 (Internet Protocol,IP) 网络进行私密、安全的通信。IPSec 支持网络级数据完整性、数据保密性、数据来源验证和重放保护。由于 IPSec 在 Internet 层集成(第 3 层),因此它为 TCP/IP 套件中的几乎所有协议提供安全性,并且由于 IPSec 以透明方式应用于应用程序,因此无需为使用 TCP/IP 的每个应用程序配置单独的安全性。
IPSec 有助于针对来自不可信计算机的网络攻击、可能导致应用程序、服务或网络拒绝服务的攻击提供深入防御。
- 数据损坏
- 数据窃取
- 用户凭证被盗
- 对服务器、其他计算机和网络的管理控制。
站点到站点 VPN
站点到站点 IPSec(Internet Protocol Security,Internet 协议安全性)VPN(也称为网络到网络 VPN)可在互联网上的两个或多个网络之间建立安全加密连接。它可以在地理位置分散的站点之间安全传输数据,从而创建虚拟专用网络 (Virtual Private Network,VPN),将网络的覆盖范围扩展到超出其物理边界。
在站点到站点的 IPSec VPN 中,参与的网络(通常属于同一组织的不同组织或远程分支)通过专用 IPSec 隧道连接。这些隧道用于封装和加密网络流量,确保网络的机密性、完整性和真实性,同时可遍历互联网等不可信网络。
另一方面,点对点 VPN (P2S) 在各个客户机设备与远程网络之间建立安全连接。与连接网络的站点到站点 VPN 不同,P2S VPN 使单个设备能够安全地远程访问网络资源。P2S VPN 通常用于为需要从外部位置连接到组织网络的远程员工、承包商或移动用户启用安全访问。
注:本教程范围仅限于站点到站点 IPSec VPN,该 VPN 当前是 OCI DRGv2 中唯一支持的 VPN。
VPN IPSec 隧道概念
IPSec 代表 Internet 协议安全或 IP 安全。IPSec 是一个协议套件,用于在将数据包从源节点传输到目标之前加密整个 IP 通信。IPSec 可通过两种模式进行配置:
-
传输模式:IPSec 仅加密和/或验证包的实际有效负载,标头信息保持不变。
-
隧道模式:IPSec 对整个数据包进行加密和/或验证。加密后,包将被封装以形成具有不同标头信息的新 UDP IP 数据包。
IPSec VPN 站点到站点隧道具有以下优势:
-
无需购买从一个站点到另一个站点的专用昂贵的租赁线路,因为公共电信线路用于传输数据。
-
参与的网络和节点的内部 IP 地址对外部用户隐藏。
-
源站点与目标站点之间的整个通信都是加密的,大大降低了信息盗窃的几率。OCI 仅支持 VPN IPSec 的隧道模式,并使用 Web 控制台作为自助服务提供。
注意:仅 OCI 站点到站点 VPN 支持隧道模式,因此这将是 OCI 中唯一可用的模式。
体系结构
具有 ECMP 的 OCI IPSec 包含以下列表:
-
DRGv2 使用默认路由表和自动生成的路由表连接到 VCN1 和 VCN2,位于法兰克福地区的 RT2“VCN 附加的自动生成的 Drg 路由表”。
-
具有 IPSec 连接的同一 DRGv2,包括两个隧道:
- 隧道 1 是 Oracle VPN IP 地址 193.122.x.x,带有自动生成的路由表 RT1“RPC、VC 和 IPSec 附件的自动生成的 Drg 路由表”。
- 隧道 2、Oracle VPN IP 地址 158.101.x.x,带有自动生成的路由表 RT1“RPC、VC 和 IPSec 附件的自动生成的 Drg 路由表”。
-
Oracle Linux VM 作为 IPSec 客户机,内部部署支持 ECMP,在专用 CIDR 范围 192.168.0.0/16(公共 IP 143.47.48.219)中运行。
-
在内部部署的 Oracle Linux 中,Iperf3 作为客户端和 Oracle OCI 中的服务器。
-
配置为具有公共 IP 143.47.x.x 的 Libreswan 的 CPE。
-
ECMP 支持 Oracle Linux 8 和 OCI 端。
任务 1:配置 OCI 设置
在本教程中,我们创建了一个 Oracle Linux 7 VM 实例并在其中安装了 Libreswan 3.25。要将 Libreswan 安装到 Linux 中,您可以遵循以下 Oracle 文档:使用 Libreswan 访问其他云。您可以在您选择的环境中安装 Libreswan。在本教程中,我们选择了 OCI 中的另一个远程区域作为 Libreswan 客户端和隧道启动器。
安装 Libreswan(尚未配置)后,记下 Linux 7 VM 的公共 IP 以及安装 Libreswan 的专用 IPv4 CIDR 范围。
现在,让我们来配置 OCI 设置
-
登录到 OCI 控制台并导航到网络选项卡以创建 VCN1 和 VCN2,如下所示:创建 VCN 。
-
使用 CIDR 10.0.0.0/16 和两个子网创建 VCN1:子网 A 10.0.1.0/24 和子网 B 10.0.0.0/24。
-
使用 CIDR 172.20.0.0/16 和两个子网创建 VCN2:子网 C 172.20.1.0/24 和子网 D 172.20.2.0/24。
-
在 OCI 中的目标子网中创建 VM,以测试 IPSec 隧道。在本教程中,我们创建了 3 个 VM(origin1、origin2 和 origin3)。
-
现在,我们来创建一个 DRG,位于网络、客户连接、动态路由网关下。
-
创建 DRG 后,您需要同时创建 VCN1 和 VCN2 的虚拟云网络附件。
-
创建后,我们将有两个网络附件(每个 VCN 一个)将两个 VCN 连接到 DRG,并用一个 AutoGenerated DRG 路由表连接 VCN 附件(主体系结构中的 RT2 路由表)。
-
此路由表将告知 DRG 如何将传入流量从刚刚连接的 VCN 发送/路由到该传入流量:任何传入到“目标 CIDR”的流量都将发送到“下一个跃点附件”,如下所示:
-
以后创建 IPSec 隧道时,我们会使用类似的自动生成的路由表,通过 IPSec 隧道从内部部署传入流量。
-
-
现在,让我们创建 IPSec 连接。在创建 IPSec 之前,我们需要创建客户终端设备 (Customer-Premises Equipment,CPE),该设备表示通过 IPSec 连接到 OCI 的内部部署设备,位于网络、客户连接、客户终端设备、创建 CPE :
-
X.X.X.X 必须是内部部署设备从中连接的 PUBLIC IP 地址。请勿将其与分配给您在前面步骤中安装的 Libreswan Oracle Linux 计算机的专用 IP 地址混淆。您的 Oracle Linux VM 很可能落后于 NAT(不直接拥有公共 IP)。如果您不知道公共 IP 地址,则始终可以从 Linux 控制台运行以下命令来找出答案:
curl ifconfig.co
。 -
在本教程中,选择供应商 Libreswan 版本 3.18 或更高版本。
-
-
转至网络、客户连接、站点到站点 VPN 、创建 IPSec 连接并提供以下详细信息。
注:您可以使用 VPN 向导,但它在本教程中已超出范围。
-
IPSec 配置的名称
-
在区间中创建:您的区间
-
区间中的客户终端设备:选择您在上一步中创建的 CPE
- 此 CPE 位于 NAT 设备后面:这将直接影响 Internet 密钥交换 (Internet Key Exchange,IKE) ID 如何从内部部署“向 OCI 提供”到 OCI。假定 Libreswan 在 NAT 后运行,如果要使用 Libreswan 以 IKE ID 运行的专用 IP,请标记此选项。否则,如果要使用 Libreswan 连接到的公共 IP,请不要标记此选项。稍后,我们将从 Libreswan 配置中配置此 IKE ID。
-
动态路由网关区间:选择在前面的步骤中配置的 DRG。
-
到内部部署网络的路由:动态路由不属于本教程的范围。我们将重点关注使用基于路由的 IPSec 配置实现负载平衡和冗余的 ECMP。在此处手动/静态添加我们要从 OCI 到内部部署的内部部署路由/CIDRS。在本教程中,我们将 192.168.0.0/16 用作内部部署 CIDR 。
-
隧道 1 :
- 名称
- 提供客户共享密钥:可以使用您自己的 IKE 预共享密钥(密码)或将其留空,以便 OCI 选择一个密钥(以后在 Libreswan 设置期间我们将使用该密钥)
- IKE 版本:对于本教程,我们将使用 IKEv1
- 路由类型:对于本教程,我们将对基于路由的 IPSec 配置使用静态路由,因此请选择 “静态路由”
- 隧道接口内部的 IPv4 - CPE 和 Oracle :将此选项留空
- IPv6 寻址:将其留空,因为本教程中的 IPv6 超出范围
-
隧道 2 :填充隧道 2 与隧道 1(IKE 版本、路由类型等)完全相同。
-
-
单击创建 IPSec 连接。如果一切顺利,几分钟后您应运行 IPSec 配置,其中包含用于冗余的两个隧道。
-
DRG 和 IPSec 已到位,我们需要确保从 OCI 中的 VCN 到内部部署的每个流量都能够到达 DRG。流量到达 DRG 后,它将通过最近配置的两个 IPSec 隧道向内部部署隧道。为此,我们需要将内部部署 CIDR 添加为 VCN 中每个子网路由表的路由规则(我们在教程中选择了默认路由表)、目标类型动态路由网关、目标类型 CIDR 块,然后添加内部部署路由,在本例中为 192.168.0.0/16。
注:添加此路由的原因是 OCI 没有 VCN 领域之外的 CIDR 地址的隐式路由。因此,我们必须手动添加 CIDR 块以确保流量到达 DRG。
-
任务 2:配置 Linux 和 Libreswan 设置
本教程的这一部分将重点介绍 Linux OS 和 Libreswan 配置步骤。我们以前安装的 Libreswan 将充当站点到站点隧道启动器,OCI DRG 作为隧道响应器。
-
通过 SSH 访问 Oracle Linux OS。提升您的权限以运行重要的 (admin) 命令。
-
sudo su
:您将成为 root 用户。 -
确保 Libreswan 安装的版本正确: ipsec -version 。您应该会看到 Libreswan 版本 3.25 或更高版本。否则,请转至任务 1:配置 OCI 设置并按照说明安装 Libreswan。
-
转到 config 文件夹:
cd /etc
。 -
Libreswan 将所有隧道配置存储在
ipsec.conf
文件中。用户您最喜欢的文件编辑器。"vi" 是一个很好的选项:vi ipsec.conf
-
Libreswan ipsec.conf:
-
conn [TunnelName1} :隧道名称
-
type = 隧道(隧道模式)
-
authby =secret(验证将使用密钥口令短语)
-
pfs =yes(启用完全正向保密)
-
keyexchange =ike
-
leftid = n.n.n.n(这是 Libreswan 从中连接的公共 IP 地址。它将用作 IKE ID 标识符,除非您在创建 IPSec 期间选择了选项“CPE 落后于 NAT”。在这种情况下,任何 IP 地址或全限定域名 (Fully Qualified Domain Name,FQDN) 可以设置为标识符 )
-
leftsourceip = m.m.m.m.m(这是分配给 Libreswan 的专用 IP,即 192.168.1.1 )
-
leftsubnet = x.x.x/x(这是分配给 Libreswan 的 CIDR 块,即 192.168.0.0/16 )
-
right = y.y.y.y(这是创建 IPSec 期间在“网络”、“客户连接”、“站点到站点 VPN”YourIPSEC 下分配给 tunnel1 的 OCI VPN“公共”IP 地址)
-
rightid = y.y.y.y(这是从 OCI 发送的 IKE ID。通常是 OCI VPN“公共”IP 地址,通常与正确的参数相同 )
-
leftsubnet =0.0.0.0/0(这是将作为 SA 流量选择器协商 Internet 密钥交换 (IKEv2) 协议 2.2.9 的一部分发送到 OCI 的 CIDR 块。这并不意味着 OCI 中的所有流量都将被路由到内部部署。相反,此 CIDR 块的作用是确定通过 IPSec 隧道接受、加密和隧道的特定流量。此处描述的 IPSec 隧道将用称为虚拟隧道接口 (Virtual Tunnel Interface,VTI) 的虚拟接口表示,该虚拟接口充当表示隧道本身的虚拟网络接口(如虚拟网络卡)。假设 VTI 称为 vti01。路由到 vti01 接口的任何通信都将成为 IPSec 隧道的一部分,并安全地发送到连接的另一端。此方法根据特定的 IPSec 隧道及其关联的 VTI 做出路由决策,称为基于 IPSec 路由的路由 )
-
rightsubnet =0.0.0.0/0(对于从内部部署接收到 OCI 的通信,上述相同)
-
mark =n/0xffffffff(* 需要与 VTI 接口一起使用的选项,以便标记此 VTI 接口关联的 IPSec 隧道中封装的包。需要在所有隧道中唯一,例如 5/0xffffffff *)
-
vti-interface =vtinn(*VTI 接口的名称,即 vti01 *)
-
vti-routing =no(是否应自动将路由创建到 VTI 设备。选择“否”,因为我们不想自动创建 0.0.0.0/0 路由 )
-
encapsulation = yes/auto(强制 NAT 检测代码中止,并告知远程对等方 RFC-3948 封装(端口 4500 UDP 包中的 ESP)。自动操作将强制 NAT 自动检测 )
-
aggrmode = 无
-
ike =aes_cbc256-sha2_384;modp1536(用于连接的 IKE 加密/验证算法(阶段 1 aka ISAKMP SA)。格式为 "cipher-hash;modpgroup,cipher-hash;modpgroup,... )
-
esp =aes_gcm256;modp1536(指定将在子 SA 协商中提供/接受的算法。ESP 的格式为 ENC-AUTH,后跟一个可选的 PFSgroup。例如,“aes_gcm256”或“aes256-sha2_512-dh14”或“aes-sha2_512+sha2_256” )
-
ikev2 = 否(要使用 IKEv2,请更改为 ikev2=insist )
-
-
-
转到 config 文件夹:
cd /etc/ipsec.d
。 -
Libreswan 将所有隧道共享密钥(密码)存储在
shared.secrets
文件中。-
Libreswan shared.secrets 格式: leftid right:PSK "secret"
-
leftid :在 IPSec.conf(左侧)中配置的 IKE ID。通常为 Libreswan 公共 IP 地址。
-
right :OCI 隧道的公共 IP 地址。
-
“secret”:在 OCI 中配置的当前隧道共享密钥/密码。您可以从 OCI 控制台的网络、客户连接、站点到站点 VPN、YourIPSEC、TunnelName、隧道信息、共享密钥、显示下获取此信息。
-
-
-
-
在本教程中,我们创建了以下
ipsec.conf
和shared.secrets
(公共 IP 处于隐藏状态):ipsec.conf
shared.secrets
-
现在,让我们尝试针对 OCI 建立两个 HA 隧道。
-
重新启动 Libreswan 服务:以 root 用户身份执行
ipsec restart
。如果一切顺利,将不会显示任何错误,否则您将看到如下内容:ipsec.service 的作业失败,因为控制进程退出并显示错误代码。有关详细信息,请参见“systemctl status ipsec.service”和“journalctl -xe”。
-
现在,让我们检查 IPSec 隧道的当前状态:执行
ipsec status
。您将看到大量有关当前隧道的信息,这些隧道围绕 ESP(数据层)和 IKE(信号平面)、允许的子网等进行配置。目前,我们将重点关注连接列表。000 连接列表:
000
000 IPSec 连接总数: *loaded 0,active 0
-
当前未加载隧道配置,未处于活动状态。
-
执行
ipsec auto --add ConnName1
,即ipsec auto --add home_liftvti
。- 002 添加了连接说明“home_liftvti”<- 现在连接“已加载”尚未处于活动状态。使用 ipsec 状态进行检查。
-
执行
ipsec auto --up ConnName1
以启动隧道 1,即ipsec auto --up home_liftvti
。如果一切顺利,您将看到 IPSec SA 已建立隧道模式,否则您将看到需要进行故障排除的不同 IKE/IPSec 错误。 -
现在为第二个隧道打开:执行 ipsec auto -add ConnName2 ,即 ipsec auto -add home_liftvti2
- 002 添加了连接说明“home_liftvti2”<- 现在连接“已加载”尚未处于活动状态。使用 ipsec 状态进行检查
-
执行 ipsec auto -up ConnName2 以启动隧道 1,即 ipsec auto -up home_liftvti2。如果一切顺利,您将看到“IPSec SA 已建立隧道模式”,否则您将看到需要对 IKE/IPSec 错误进行故障排除的不同
-
任务 3:配置 IP 路由和隧道通信
本教程的这一部分重点介绍 IP 路由和隧道流量。
-
现在两条隧道都已启动且正在运行,让我们尝试在 OCI 中从 Libreswan 试通一些计算机以测试隧道。例如,使用 IP 10.0.0.109 ping origin1。您将看到它将失败。
PING 10.0.0.109 (10.0.0.109) 56(84) bytes of data. 10.0.0.109 ping statistics 26 packets transmitted, 0 received, 100% packet loss,
-
您可能想知道为什么它不起作用,即使 IPSec 隧道已启动并在 OCI 上运行。答案在于,我们根据 OCI 建立的两个隧道“基于路由”,每个隧道都由虚拟接口 (Virtual Interface,VTI) 表示。您可以将每个 VTI 都视为表示 IPSec 隧道的虚拟网络接口卡 (virtual network interface card,NIC)。路由到 VTI 的任何流量都使用 ESP(Encapsulate Security Payload,封装安全有效负载)协议进行封装,并发送到隧道的另一端。VTI 充当需要通过 IPSec 隧道保护和传输的通信的网关。
-
在测试方案中,我们具有两个 VTI 接口:vti01 和 vti02 ,每个接口分别表示 home_liftvti 和 home_liftvti02 (表示 OCI DRG)。您可以通过执行 Linux 命令
ifconfig
轻松查看它们。 -
现在,我们需要做的就是向这些 VTI 接口添加一个 Linux OS 路由,以确保流量通过两个隧道到达 OCI。请注意,定向到 VTI 接口的任何流量都将封装在其关联的 IPSec 隧道中并路由到 OCI。
-
用于添加路由的命令具有以下格式:
ip route add {vcnCidrBlock} nexthop dev {vti1} weight {priority}nexthop dev {vti2} weight {priority}
` -
在我们的测试案例中,我们希望能够使用 CIDR 10.0.0.0/16 访问 OCI VCN1:ip 路由添加 10.0.0.0/16 nexthop dev vti01 weight 1 nexthop dev vti02 weight 1
-
-
现在,试试应立即工作。
ping 10.0.0.109 PING 10.0.0.109 (10.0.0.109) 56(84) bytes of data. 64 bytes from 10.0.0.109: icmp_seq=1 ttl=61 time=29.0 ms 64 bytes from 10.0.0.109: icmp_seq=2 ttl=61 time=29.4 ms 64 bytes from 10.0.0.109: icmp_seq=3 ttl=61 time=29.0 ms
-
现在我们有两条隧道工作
任务 4:配置 ECMP 负载平衡和冗余
本教程的这一部分重点介绍 ECMP 负载平衡和冗余。
-
在本教程中,我们目前建立了两个 IPSec 隧道并使用 OCI 正常运行。这两条隧道都在使用通往内部部署网络的相同路线,如测试用例 192.168.0.0/16 中所述。
-
隧道 1 192.168.0.0/16 -> 内部部署
-
隧道 2 192.168.0.0/16 -> 内部部署
-
-
由于两个隧道都在使用相同的内部部署路由 (192.168.0.0/16),因此此路由将传播到 DRG 网络附件的其余部分,因此其他网络元素(VCN、子网等)可以通过 IPSec 访问内部部署。如下图所示,您在路由 192.168.0.0/16 上存在冲突,对于 VCN 附加的“自动生成的 DRG”表中的两个 IP Sec 隧道也是如此。
-
通过此配置,我们将仅使用一个隧道,而忽略另一个隧道。本教程的目标是能够同时使用这两个隧道,以便实现高可用性(活动/活动),并通过添加两个隧道吞吐量提高两倍的性能。ECMP 参与其中。要激活 ECMP,首先需要在每个 VCN 附件的“自动生成的 DRG”表中启用它:网络、客户连接、动态路由网关、DRGName 、DRG 路由表详细信息、编辑按钮(需要在每个 DRG 附件表中执行此操作)。
-
您将看到,VCN 附加的自动生成的 DRG 路由表中的路由冲突已解决。
-
在 Linux 和 Libreswan 中激活 ECMP。为了支持均等成本多路径路由 (Equal-cost multi-path routing,ECMP),Linux 引入了使用
fib_multipath_hash_policy
的散列策略选择。这是一个新的sysctl
设置,用于控制要用于多路径路由的散列策略。当fib_multipath_hash_policy
设置为 1 时,内核将根据 5 元组(源 IP、源端口、目标 IP、目标端口、IP 协议类型)值集执行 L4 散列,这是 IPv4 数据包的多路径散列。当fib_multipath_hash_policy
设置为 0(默认值)时,仅使用 L3 散列(源和目标 IP 地址)。从 Linux 控制台中,以 root 用户身份执行:sysctl -w net.ipv4.fib_multipath_hash_policy=1
-
现在,两端都激活了 ECMP,因此两个隧道都将在活动/活动模式下使用,从而增加了两个 IPSec 隧道的总吞吐量。对于测试,我们使用
iperf3
命令检查流量并获得以下结果:From Libreswan: iperf3 -c 10.0.0.109 -b 1100Mb -P 8 -t 300 From OCI Origin1: iperf3 -s [SUM] 0.00-1.75 sec 249 MBytes 1.20 Gbits/sec 7122 sender
相关链接
确认
Authors - Luis Catalán Hernández(OCI 云网络专家和多云),Antonio Gamir(OCI 云网络专家)
更多学习资源
探索 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 频道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Use Oracle Cloud Infrastructure Site-to-Site VPN service in HA mode with ECMP routing from Linux and Libreswan
F84216-01
July 2023
Copyright © 2023, Oracle and/or its affiliates.