IBM Cloud Docs
创建 VPN 网关

创建 VPN 网关

您可以创建IBM Cloud VPNfor VPC,将您的 VPC 安全地连接到另一个专用网络,如内部网络或另一个 VPC。

在开始之前,请查看 VPN 网关的规划注意事项VPN 网关的已知限制、问题和约束

在控制台中创建 VPN 网关

要使用 UI 创建 VPN 网关,请执行以下操作:

  1. 从浏览器打开 IBM Cloud 控制台并登录账户。

  2. 选择导航菜单 导航菜单图标,然后单击基础设施 VPC 图标 > 网络 > VPN

  3. 确保选择 站点到站点网关> VPN 网关 选项卡。

  4. 在“VPC 的 VPN”页面上,单击 创建,然后选择 站点到站点 网关磁贴。

  5. 指定以下信息:

    • VPN 网关名称-输入 VPN 网关的名称,例如 my-vpn-gateway
    • 资源组- 为 VPN 网关选择一个资源组。
    • 标记-(可选) 添加标记以标识此 VPN 网关。
    • 访问管理标记-(可选) 向资源添加访问管理标记以帮助组织访问控制关系。 访问管理标记唯一受支持的格式为 key:value。 有关更多信息,请参阅 使用标记控制对资源的访问
    • 区域-显示 VPC 所在的区域以及 VPN 网关将供应的区域。
    • 虚拟私有云-选择 VPN 网关的 VPC。
    • 子网- 选择创建 VPN 网关的子网。 请参阅 规划注意事项 以获取重要的子网信息。
    • 方式-选择基于策略的 VPN 或基于路由的 VPN。 有关 VPN 类型的更多信息,请参阅 VPN 功能
  6. VPC 的 VPN 连接 部分中,切换开关以在此网关与 VPN 外部的网络之间建立连接。 您还可以在配置网关后添加 VPN 连接。

    • VPN 连接名称- 输入连接名称,如 my-connection

    • 对等网关地址-通过 VPC 外部网络的 VPN 网关的公共 IP 地址或 FQDN 指定对等设备。

    • 建立方式-选择 双向仅对等

      • 双向模式从 VPN 网关的任一侧启动 IKE 协议协商(或重新输入密钥过程)。
      • 仅对等 方式允许对等方对此 VPN 网关连接启动 IKE 协议协商。 建立连接后,对等方还负责启动密钥更新过程。

      如果同级设备位于 NAT 设备后面并且没有公共 IP 地址,请确保仅指定 同级

    • 预共享密钥- 为 VPC 外部网络指定 VPN 网关的身份验证密钥。 预共享密钥是十六进制数字的字符串,或者是可打印的 ASCII 字符的口令。 要与大多数对等网关类型兼容,此字符串必须遵循以下规则:

      • 可以是数字,小写或大写字符或以下特殊字符的组合: - + & ! @ # $ % ^ * ( ) . , :
      • 字符串的长度必须为 6-128 个字符。
      • 不能以 0x0s 开头。
    • 分配流量(仅限基于路由的 VPN)- 当 VPC 路由的下一跳是 VPN 连接时,启用在 VPN 网关连接的 Up 隧道之间分配流量。 如果未选择此复选框,VPN 网关将使用小公网 IP 的隧道作为主出口路径,只有当主出口路径被禁用时,流量才会通过次要路径。 更多信息,请参阅 用例 4:为基于路由的 VPN 分配流量

    • 本地子网(仅限基于策略的 VPN)- 指定 VPC 中要通过 VPN 隧道连接的一个或多个子网。

    • 对等子网(仅限基于策略的 VPN)- 指定要通过 VPN 隧道连接的另一个网络中的一个或多个子网。

      不允许本地子网和对等子网之间的子网范围重叠。

  7. 死亡对等检测 部分中,配置 VPN 网关如何发送消息以检查对等网关是否处于活动状态。 指定以下信息:

    • 操作-对等网关停止响应时要执行的失效对等检测操作。 例如,如果希望网关立即重新协商连接,请选择重新启动
    • 间隔(秒)- 检查对等网关是否处于活动状态的频率。 默认情况下,信息每 2 秒发送一次。
    • 超时(秒)- 等待对等网关响应的时间。 默认情况下,如果对等网关在 10 秒内没有收到响应,就不再被视为处于活动状态。
  8. 策略 部分中,指定用于连接的阶段 1 和阶段 2 协商的因特网密钥交换 (IKE) 和 Internet Protocol 安全性 (IPsec) 选项。

    • 如果希望网关尝试自动建立连接,请选择自动
    • 如果需要执行特定的安全要求,或者如果对方网络的 VPN 网关不支持自动协商尝试的安全建议,请选择或创建自定义策略。

    为连接指定的 IKE 和 IPsec 安全选项必须与 VPC 外部网络对等网关上设置的选项相同。

  9. 在“高级选项”部分中,可以定制本地和同级 IKE 标识,而不是使用缺省 IKE 标识。 最多可以指定一个同级 IKE 标识。

    对于基于策略的 VPN 网关,最多可以配置一个本地 IKE 身份。 对于基于路由的 VPN 网关,如果要配置本地 IKE 身份,必须提供两个。 您可以为成员提供值,也可以让输入字段为空。

    • 本地 IKE 标识-选择本地 IKE 标识的类型,然后输入其值。 例如,您可以输入单个4个八位字节的 IPv4 地址(9.168.3.4 )、FQDN(my-vpn.example.com )、主机名(my-host )或 base64-encoded 密钥ID(MTIzNA== )。

      • 静态路由方式由处于主动/主动方式的两个成员组成,其中第一身份适用于第一成员,第二身份适用于第二成员。 如果未指定本地 IKE 标识,那么类型为 IPv4 地址,值为成员的 VPN 连接隧道的公共 IP 地址。

      • 策略方式由处于活动/备用方式的两个成员组成。 本地 IKE 身份适用于活动成员。 如果未指定值,则本地 IKE 标识为 VPN 网关的公共 IP 地址。

    • 对等 IKE 标识-选择对等 IKE 标识的类型,然后输入其值。 例如,可以输入 IPv4 地址 (9.168.3.4)、FQDN (my-vpn.example.com)、主机名 (my-host) 或 base64-encoded 密钥 ID (MTIzNA==)。

      对等 IKE 身份适用于活动成员。 如果未指定值,请使用对等网关的 IPv4 地址或 FQDN。

从 CLI 创建 VPN 网关

开始之前,请 设置 CLI 环境

要从 CLI 创建 VPN 网关,请输入以下命令:

ibmcloud is vpn-gateway-create VPN_GATEWAY_NAME SUBNET
    [--mode policy | route]
    [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME]
    [--output JSON] [-q, --quiet]

其中:

VPN_GATEWAY_NAME
VPN 网关的名称。
SUBNET
这是子网的标识。
--mode
VPN 网关的方式。 其中一个: policyroute
--resource-group-id
资源组的标识。 该选项与 --resource-group-name 互斥。
--resource-group-name
资源组的名称。 该选项与 --resource-group-id 互斥。
--output
以 JSON 格式输出。
-q, --quiet
用于禁止详细输出的选项。

命令示例

  • 创建具有特定子网标识的基于路由的 VPN 网关: ibmcloud is vpn-gateway-create my-vpc-gateway fee82deba12e4c0fb69c3b09d1f12345 --mode route

  • 使用“缺省”资源组创建基于策略的 VPN 网关: ibmcloud is vpn-gateway-create my-vpc-gateway fee82deba12e4c0fb69c3b09d1f12345 --mode policy --resource-group-name Default

  • 通过将特定资源组标识与 JSON 格式的输出配合使用,创建基于路由的 VPN 网关: ibmcloud is vpn-gateway-create my-vpc-gateway fee82deba12e4c0fb69c3b09d1f12345 --mode route --resource-group-id fee82deba12e4c0fb69c3b09d1f12345 --output JSON

使用 API 创建 VPN 网关

要使用 API 创建基于策略的 VPN 网关,请执行以下步骤:

  1. 使用正确的变量设置 API 环境

  2. 存储要在 API 命令中使用的任何其他变量; 例如:

    • ResourceGroupId-使用 get resource groups 命令查找资源组标识,然后填充变量:
    export ResourceGroupId=<your_resourcegroup_id>
    
    • SubnetId-使用 get subnet 命令查找子网标识,然后填充变量:
    export SubnetId=<your_subnet_id>
    
  3. 启动所有变量时,创建 VPN 网关:

       curl -X POST "$vpc_api_endpoint/v1/vpn_gateways?version=$api_version&generation=2" \
         -H "Authorization: $iam_token" \
         -d '{
            "name": "my-new-vpn-gateway",
            "mode": "policy",
            "subnet": {
             "id": "'$SubnetId'"
             },
            "resource_group": {
              "id": "'$ResourceGroupId'"
            }
          }'
    

使用 Terraform 创建 VPN 网关

以下示例使用 Terraform 创建 VPN 网关:

   resource "ibm_is_vpn_gateway" "is_vpn_gateway" {
   name = "my-vpn-gateway"
   subnet = ibm_is_subnet.is_subnet.id
   mode = "route"
   }

有关更多信息,请参阅 Terraform 注册表

后续步骤

创建 VPN 网关后,可以执行以下操作: