创建 VPN 网关
您可以创建IBM Cloud VPNfor VPC,将您的 VPC 安全地连接到另一个专用网络,如内部网络或另一个 VPC。
在开始之前,请查看 VPN 网关的规划注意事项 和 VPN 网关的已知限制、问题和约束。
在控制台中创建 VPN 网关
要使用 UI 创建 VPN 网关,请执行以下操作:
-
从浏览器打开 IBM Cloud 控制台并登录账户。
-
选择导航菜单
,然后单击基础设施
> 网络 > VPN。
-
确保选择 站点到站点网关> VPN 网关 选项卡。
-
在“VPC 的 VPN”页面上,单击 创建,然后选择 站点到站点 网关磁贴。
-
指定以下信息:
- VPN 网关名称-输入 VPN 网关的名称,例如
my-vpn-gateway
。 - 资源组- 为 VPN 网关选择一个资源组。
- 标记-(可选) 添加标记以标识此 VPN 网关。
- 访问管理标记-(可选) 向资源添加访问管理标记以帮助组织访问控制关系。 访问管理标记唯一受支持的格式为
key:value
。 有关更多信息,请参阅 使用标记控制对资源的访问。 - 区域-显示 VPC 所在的区域以及 VPN 网关将供应的区域。
- 虚拟私有云-选择 VPN 网关的 VPC。
- 子网- 选择创建 VPN 网关的子网。 请参阅 规划注意事项 以获取重要的子网信息。
- 方式-选择基于策略的 VPN 或基于路由的 VPN。 有关 VPN 类型的更多信息,请参阅 VPN 功能。
- VPN 网关名称-输入 VPN 网关的名称,例如
-
在 VPC 的 VPN 连接 部分中,切换开关以在此网关与 VPN 外部的网络之间建立连接。 您还可以在配置网关后添加 VPN 连接。
-
VPN 连接名称- 输入连接名称,如
my-connection
。 -
对等网关地址-通过 VPC 外部网络的 VPN 网关的公共 IP 地址或 FQDN 指定对等设备。
-
建立方式-选择 双向 或 仅对等。
- 双向模式从 VPN 网关的任一侧启动 IKE 协议协商(或重新输入密钥过程)。
- 仅对等 方式允许对等方对此 VPN 网关连接启动 IKE 协议协商。 建立连接后,对等方还负责启动密钥更新过程。
如果同级设备位于 NAT 设备后面并且没有公共 IP 地址,请确保仅指定 同级。
-
预共享密钥- 为 VPC 外部网络指定 VPN 网关的身份验证密钥。 预共享密钥是十六进制数字的字符串,或者是可打印的 ASCII 字符的口令。 要与大多数对等网关类型兼容,此字符串必须遵循以下规则:
- 可以是数字,小写或大写字符或以下特殊字符的组合:
- + & ! @ # $ % ^ * ( ) . , :
- 字符串的长度必须为 6-128 个字符。
- 不能以
0x
或0s
开头。
- 可以是数字,小写或大写字符或以下特殊字符的组合:
-
分配流量(仅限基于路由的 VPN)- 当 VPC 路由的下一跳是 VPN 连接时,启用在 VPN 网关连接的
Up
隧道之间分配流量。 如果未选择此复选框,VPN 网关将使用小公网 IP 的隧道作为主出口路径,只有当主出口路径被禁用时,流量才会通过次要路径。 更多信息,请参阅 用例 4:为基于路由的 VPN 分配流量。 -
本地子网(仅限基于策略的 VPN)- 指定 VPC 中要通过 VPN 隧道连接的一个或多个子网。
-
对等子网(仅限基于策略的 VPN)- 指定要通过 VPN 隧道连接的另一个网络中的一个或多个子网。
不允许本地子网和对等子网之间的子网范围重叠。
-
-
在 死亡对等检测 部分中,配置 VPN 网关如何发送消息以检查对等网关是否处于活动状态。 指定以下信息:
- 操作-对等网关停止响应时要执行的失效对等检测操作。 例如,如果希望网关立即重新协商连接,请选择重新启动。
- 间隔(秒)- 检查对等网关是否处于活动状态的频率。 默认情况下,信息每 2 秒发送一次。
- 超时(秒)- 等待对等网关响应的时间。 默认情况下,如果对等网关在 10 秒内没有收到响应,就不再被视为处于活动状态。
-
在 策略 部分中,指定用于连接的阶段 1 和阶段 2 协商的因特网密钥交换 (IKE) 和 Internet Protocol 安全性 (IPsec) 选项。
- 如果希望网关尝试自动建立连接,请选择自动。
- 如果需要执行特定的安全要求,或者如果对方网络的 VPN 网关不支持自动协商尝试的安全建议,请选择或创建自定义策略。
为连接指定的 IKE 和 IPsec 安全选项必须与 VPC 外部网络对等网关上设置的选项相同。
-
在“高级选项”部分中,可以定制本地和同级 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 网关的方式。 其中一个:
policy
,route
。 --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 网关,请执行以下步骤:
-
使用正确的变量设置 API 环境。
-
存储要在 API 命令中使用的任何其他变量; 例如:
ResourceGroupId
-使用get resource groups
命令查找资源组标识,然后填充变量:
export ResourceGroupId=<your_resourcegroup_id>
SubnetId
-使用get subnet
命令查找子网标识,然后填充变量:
export SubnetId=<your_subnet_id>
-
启动所有变量时,创建 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 网关后,可以执行以下操作:
- 创建 IKE 策略 (如果您决定使用定制 IKE 策略而不是自动协商)。
- 创建 IPsec 策略 (如果您决定使用定制 IPsec 策略而不是自动协商)。
- 如果在供应 VPN 网关时尚未创建 VPN 连接,请创建 VPN 连接。 有关更多信息,请参阅 向 VPN 网关添加连接。
- 要创建基于路由的 VPN,请首先 创建路由表,然后 使用 VPN 连接类型创建路由。