添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

如果您需要在内部部署与 OCI 之间设置 OCI 站点到站点 VPN,并且不想使用 DRG 作为虚拟专用网络 (Virtual Private Network,VPN) 端点,而是您自己的定制 VPN 端点,则还可以使用此方法。

设置 OCI 站点到站点 VPN,并在两个 OCI 区域之间使用 Libreswan 作为客户终端设备 (CPE) 和另一端使用 DRG 进行静态路由。

我们将使用具有两个隧道且启用了同等成本多路径 (Equal Cost Multi-Path,ECMP) 的 IPSec VPN 连接两个不同的 OCI 区域。我们将在一个 OCI 区域中使用带有 Libreswan 软件的 CPE,并在另一个区域的 DRG 上配置的 OCI 站点到站点 VPN。

创建两个 OCI 区域。

OCI 区域 1(目标):

  • 虚拟云网络 (VCN)
  • VCN 附加
  • 在此区域中,DRG 将是 VPN 端点,所有流量都将使用 DRG 的 Internet 连接进行路由。

    OCI 区域 2(源):

  • Internet 网关
  • 在此区域中,Libreswan CPE(OCI 中的实例)将是 VPN 端点,所有流量都将使用互联网网关的 Internet 连接进行路由。

    下图说明了到目前为止我们讨论的内容。

    注: 请注意,Libreswan CPE 尚未在此映像上。

  • 客户终端设备: 选择在任务 4 中创建的 CPE。
  • 动态路由网关: 选择 DRG。
  • 指向内部部署网络的路由: 输入要通过 IPSec 连接进行路由的 远程网络 。对于本教程,它是 10.222.10.0/24 网络。
  • 向下滚动。
  • kernel.unknown_nmi_panic = 1
    net.ipv4.ip_forward = 1
    net.ipv4.conf.all.accept_redirects = 0
    net.ipv4.conf.all.send_redirects = 0
    net.ipv4.conf.default.send_redirects = 0
    net.ipv4.conf.ens3.send_redirects = 0
    net.ipv4.conf.default.accept_redirects = 0
    net.ipv4.conf.ens3.accept_redirects = 0
        

    我们已经配置了 IPSec 隧道,现在还需要配置共享密钥,因为我们正在使用密钥进行验证。

    在任务 5 中创建 OCI 站点到站点 VPN 时,会创建隧道,在此过程中,OCI 还为每个隧道生成共享密钥。要在 Libreswan 中获取和配置它们以匹配相同的共享密钥,我们需要返回到 OCI 控制台。

  • 转到 OCI 控制台,导航到网络客户连接站点到站点 VPN 并单击配置的 VPN。
  • 单击第一个隧道配置。
  • 确保 /etc/ipsec.d/shared.secrets 文件包含以下内容。

    143.xxx.xxx.xxx 193.xxx.xxx.xxx : PSK "1blwzMdgQ5XXXoiQwF96tqc7c7"
    143.xxx.xxx.xxx 130.xxx.xxx.xxx : PSK "npLt23Ym6E1XXXhr5egvYSuzKC"
        
    002 "tunnel1": terminating SAs using this connection
    002 "tunnel1" #3: deleting state (STATE_QUICK_I2) aged 3.504567s and sending notification
    005 "tunnel1" #3: ESP traffic information: in=0B out=0B
    002 "tunnel1" #1: deleting state (STATE_MAIN_I4) aged 3.541172s and sending notification
    002 "tunnel1": added IKEv1 connection
        

    运行以下命令以启动 tunnel1

    [root@cpe ipsec.d]# ipsec auto --up tunnel1
        

    记下启动 tunnel1 时终端给出的输出。

    002 "tunnel1" #5: initiating IKEv1 Main Mode connection
    102 "tunnel1" #5: sent Main Mode request
    104 "tunnel1" #5: sent Main Mode I2
    106 "tunnel1" #5: sent Main Mode I3
    002 "tunnel1" #5: Peer ID is ID_IPV4_ADDR: '193.122.0.91'
    004 "tunnel1" #5: IKE SA established {auth=PRESHARED_KEY cipher=AES_CBC_256 integ=HMAC_SHA2_256 group=MODP1536}
    002 "tunnel1" #6: initiating Quick Mode IKEv1+PSK+ENCRYPT+TUNNEL+PFS+UP+IKE_FRAG_ALLOW+ESN_NO+ESN_YES {using isakmp#5 msgid:b6364de1 proposal=AES_CBC_256-HMAC_SHA1_96-MODP1536 pfsgroup=MODP1536}
    115 "tunnel1" #6: sent Quick Mode request
    002 "tunnel1" #6: up-client output: vti interface "vti1" already exists with conflicting setting (perhaps need vti-sharing=yes ?
    002 "tunnel1" #6: prepare-client output: vti interface "vti1" already exists with conflicting setting (perhaps need vti-sharing=yes ?
    004 "tunnel1" #6: IPsec SA established tunnel mode {ESPinUDP=>0x5036cdcc <0x33c964f9 xfrm=AES_CBC_256-HMAC_SHA1_96 NATD=193.122.0.91:4500 DPD=passive}
        

    请执行以下命令添加 tunnel2

    [root@cpe ipsec.d]# ipsec auto --add tunnel2
        

    记下添加 tunnel2 时终端给出的输出。

    002 "tunnel2": terminating SAs using this connection
    002 "tunnel2" #4: deleting state (STATE_QUICK_I2) aged 25.694856s and sending notification
    005 "tunnel2" #4: ESP traffic information: in=0B out=0B
    002 "tunnel2" #2: deleting state (STATE_MAIN_I4) aged 25.731704s and sending notification
    002 "tunnel2": added IKEv1 connection
        

    运行以下命令以启动 tunnel2

    [root@cpe ipsec.d]# ipsec auto --up tunnel2
        

    记下启动 tunnel2 时终端给出的输出。

    002 "tunnel2" #7: initiating IKEv1 Main Mode connection
    102 "tunnel2" #7: sent Main Mode request
    104 "tunnel2" #7: sent Main Mode I2
    106 "tunnel2" #7: sent Main Mode I3
    002 "tunnel2" #7: Peer ID is ID_IPV4_ADDR: '130.61.66.255'
    004 "tunnel2" #7: IKE SA established {auth=PRESHARED_KEY cipher=AES_CBC_256 integ=HMAC_SHA2_256 group=MODP1536}
    002 "tunnel2" #8: initiating Quick Mode IKEv1+PSK+ENCRYPT+TUNNEL+PFS+UP+IKE_FRAG_ALLOW+ESN_NO+ESN_YES {using isakmp#7 msgid:aeb4eb18 proposal=AES_CBC_256-HMAC_SHA1_96-MODP1536 pfsgroup=MODP1536}
    115 "tunnel2" #8: sent Quick Mode request
    002 "tunnel2" #8: up-client output: vti interface "vti2" already exists with conflicting setting (perhaps need vti-sharing=yes ?
    002 "tunnel2" #8: prepare-client output: vti interface "vti2" already exists with conflicting setting (perhaps need vti-sharing=yes ?
    004 "tunnel2" #8: IPsec SA established tunnel mode {ESPinUDP=>0x8bef7076 <0xe27d84a0 xfrm=AES_CBC_256-HMAC_SHA1_96 NATD=130.61.66.255:4500 DPD=passive}
    [root@cpe ipsec.d]#
        

    运行以下命令以验证两个隧道的 IPSec 状态。

    [root@cpe ipsec.d]# ipsec status
        

    请注意,活动隧道已从 0 变为 2

    如果要通过隧道从源 OCI 区域中同一子网中的其他实例路由所有流量,则需要在 VCN 路由表上添加静态路由。此路由将发往 172.16.0.0/24 的所有流量路由到 CPE 10.222.10.70

    下图展示了到目前为止我们使用完整的路由表创建的内容。

    更多学习资源

    浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。

    有关产品文档,请访问 Oracle 帮助中心