向 VPN 网关添加连接
您可以在 创建 VPN 网关 时或在供应一个 VPN 网关之后添加连接。 配置 VPN 连接时,可以选择使用自动协商进行连接,或者使用预定义的定制 IKE 或 IPsec 策略。 有关更多信息,请参阅 关于策略协商。
为确保算法选择的一致性,请在 IBM Cloud VPN 网关和对等网关上准确匹配 IKE 和 IPsec 算法及其优先级顺序。 有关影响算法选择的因素的详细信息,请参阅 站点到站点 VPN 连接中如何为 IKE 和 IPsec 选择加密算法?
在控制台中添加连接
要将 VPN 连接添加到现有 VPN 网关,请执行以下步骤:
-
高亮显示 VPN 网关表中要处理的网关行,然后从操作菜单
操作中单击创建连接。
或者,在网关的详细信息页面上,可以单击“VPN 连接”部分中的 创建。
-
通过指定以下信息来定义此网关与 VPC 外部网络之间的连接:
-
VPN 连接名称- 输入连接名称,例如
my-connection。 -
连接类型- 选择静态或动态连接类型。
-
对等网关地址 ——指定 VPC 外部网络的 VPN 网关的 IP 地址。
配置完 VPN 连接后,您将无法将对等网关地址类型从 IP 地址更改为 FQDN,也无法从 FQDN 更改为 IP 地址。
-
对等 ASN(仅基于动态路由)- 如果选择动态作为连接类型,则必须指定对等 ASN。 此值用于标识与 VPN 交换路由的外部对等网络。
-
建立方式-选择 双向 或 仅对等。
- 双向模式允许从VPN网关的任一侧发起IKE协议协商(或密钥更新过程)。
- 仅对等 方式允许对等方对此 VPN 网关连接启动 IKE 协议协商。 建立连接后,对等方还负责启动密钥更新过程。
如果同级设备位于 NAT 设备后面并且没有公共 IP 地址,请确保仅指定 同级。
-
预共享密钥- 指定 VPC 外部网络的 VPN 网关的身份验证密钥。 预共享密钥是十六进制数字的字符串,或者是可打印的 ASCII 字符的口令。 要与大多数对等网关类型兼容,此字符串必须遵循以下规则:
- 可以是数字,小写或大写字符或以下特殊字符的组合:
- + & ! @ # $ % ^ * ( ) . , : - 字符串的长度必须为 6-128 个字符。
- 不能以
0x或0s开头。
- 可以是数字,小写或大写字符或以下特殊字符的组合:
-
分配流量(仅限基于路由的 VPN)- 当 VPC 路由的下一跳是 VPN 连接时,启用此选项可在 VPN 网关的活动隧道之间自动分配流量。 当两个 VPN 隧道连接到远程对等网络时,该选项有助于最大限度地提高吞吐量。 如果不启用该选项,VPN 网关会选择公共 IP 较小的隧道作为主路径,只有在主隧道瘫痪时才切换到辅助隧道。 更多信息,请参阅 用例 4:为基于路由的 VPN 分配流量。
-
本地 IBM CIDR (仅限基于策略的 VPN)-在要通过 VPN 隧道连接的 VPC 中指定一个或多个 CIDR。
-
对等 CIDR (仅限基于策略的 VPN)-指定要通过 VPN 隧道连接的另一网络中的一个或多个 CIDR。 不允许本地子网和对等子网之间的子网范围重叠。
-
-
在隧道详细信息部分(仅基于动态路由),指定使用 BGP 进行动态路由所需的隧道和对等接口 IP。
-
隧道接口 IP- 指定分配给 VPN 隧道 VPN 网关侧的 IP 地址。
-
对等接口 IP- 指定分配给 VPN 隧道远程网络侧的 IP 地址。 该地址是您的内部设备或对等 VPN 网关。
隧道和对等接口 IP 必须连续,并属于同一个
/30子网。 该子网提供四个 IP 地址,但第一个(网络地址)和最后一个(广播地址)被保留。 例如,在子网192.168.0.0/30中,可用 IP 为192.168.0.1和192.168.0.2。 如果为隧道 1 接口分配192.168.0.1,则对等 1 接口必须为192.168.0.2。 同样,对于隧道 2,使用不同的/30子网,如192.168.0.4/30。 在这种情况下,将192.168.0.5分配给隧道 2 接口,将192.168.0.6分配给对等网络 2 接口。
-
-
要配置 VPN 网关发送消息以检查对等网关是否处于活动状态的方式,请在 “对等网关失效检测”部分中指定以下信息。
- 操作 ——当对等网关停止响应时应采取的操作。 例如,如果希望网关立即重新协商连接,请选择重新启动。
- 间隔(秒) ——检查对等网关是否处于活动状态的频率。 默认情况下,每2秒发送一次消息。
- 超时(秒) ——等待对等网关响应的时间长度。 默认情况下,如果在 10 秒内未收到响应,则该对等网关将被视为处于非活动状态。
-
在 策略 部分中,指定用于连接的阶段 1 和阶段 2 协商的因特网密钥交换 (IKE) 和 Internet Protocol 安全性 (IPsec) 选项。
-
如果希望网关尝试自动建立连接,请选择 “自动”。
-
选择或创建自定义策略,如果
- 您需要执行特定的安全要求。
- 另一个网络上的 VPN 网关不支持在设置过程中自动协商的安全建议。
IKEv1 只支持一种算法。 如果 VPN 连接使用 IKEv1 策略,相关的 IPsec 策略也必须只包含一种算法。 IKEv1 不支持具有多种算法的 IPsec 策略。
-
-
在 高级选项 部分中,可以定制本地和同级 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。
-
-
查看“摘要”面板,然后单击 创建 VPN 连接。
从 CLI 添加连接
开始之前,请 设置 CLI 环境。
要从 CLI 创建 VPN 连接,请输入以下命令:
ibmcloud is vpn-gateway-connection-create CONNECTION_NAME VPN_GATEWAY PEER PRESHARED_KEY
[--vpc VPC] [--admin-state-up true | false]
[--routing-protocol bgp | none]
[--dead-peer-detection-action restart | clear | hold | none]
[--distribute-traffic true | false]
[--dead-peer-detection-interval INTERVAL] [--dead-peer-detection-timeout TIMEOUT] [--ike-policy IKE_POLICY_ID]
[--ipsec-policy IPSEC_POLICY_ID] [--peer-cidr CIDR1 --peer-cidr CIDR2 ... --local-cidr CIDR1 --local-cidr CIDR2 ...]
[[--local-ike-identity-type fqdn | hostname | ipv4_address | key_id --local-ike-identity-value VALUE] |
[--local-ike-identities LISTENER_POLICIES_JSON | @LISTENER_POLICIES_JSON_FILE]]
[--peer-asn]
[--tunnels NEIGHBOR_IP TUNNEL_INTERFACE_IP]
[--peer-ike-identity-type fqdn | hostname | ipv4_address | key_id --peer-ike-identity-value VALUE]
[--establish-mode bidirectional | peer_only] [--output JSON] [-q, --quiet]
ibmcloud is vpn-gateway-connection-create CONNECTION_NAME VPN_GATEWAY PEER PRESHARED_KEY
其中:
CONNECTION_NAME- 连接的名称。
VPN_GATEWAY- VPN网关的ID。
PEER- 对等 VPN 网关的 IP 地址或 FQDN。
PRESHARED_KEY- 预共享密钥。
--vpc- VPC 的标识或名称。 仅当需要通过名称在该 VPC 内指定该唯一资源时,才需填写此字段。
--admin-state-up- 如果设置为
false,则会关闭VPN网关连接。 该字段的值可以是true或false。 --routing-protocol- 确定模式是静态还是动态。 该字段值可以是
bgp或none。 将值设为bgp,用于基于路由的动态 VPN。 --dead-peer-detection-action- “检测死对等”操作。 该字段值可以是
restart,clear,hold或none。 (默认值:restart)。 --dead-peer-detection-interval- 死同级检测时间间隔 (以秒为单位) (缺省值:
2)。 --dead-peer-detection-timeout- 死对等检测超时 (以秒为单位) (缺省值:
10)。 --distribute-traffic- 当VPC路由的下一跳为VPN连接时,将该选项设置为“
true”,以便在VPN网关连接的Up隧道之间分配流量。 该值可以是true或false。 更多信息,请参阅 为基于路由的 VPN 分配流量。 --ike-policy- IKE策略的ID。
--ipsec-policy- IPsec 策略的 ID。
--local-ike-identity-type- 本地 IKE 标识的类型。 该字段值可以是
fqdn,hostname,ipv4_address或key_id。 --local-ike-identity-value- 本地 IKE 标识的值。
--local-ike-identities- 本地 IKE 身份的标识。 JSON 或 JSON 文件中的
LOCAL_IKE_IDENTITIES_JSON | @LOCAL_IKE_IDENTITIES_JSON_FILE。 --peer-asn- 在动态路由中标识与 VPN 交换路由的外部对等网络。
--tunnels- 指定使用 BGP 进行动态路由所需的隧道和对等接口 IP。 该字段包含本地(隧道)和远程(对等)接口的 IP 地址值。 隧道和对等接口 IP 必须连续,并属于同一个 /30 子网。
-peer-cidr- 该资源的对等 CIDR 地址。
-local-cidr- 该资源的本地 CIDR。
-peer-ike-identity-type- 对等 IKE 身份的类型。 该字段值可以是
ipv4_address,fqdn,hostname,或key_id。 --peer-ike-identity-value- 对等 IKE 身份的值。
基于策略的 VPN 网关只能有一个本地 IKE 标识。
如果基于路由的 VPN 网关指定了本地 IKE 身份,则必须至少有两个;第一个身份适用于 VPN 网关的第一个成员,第二个身份适用于第二个成员。
--establish-mode- 该字段可以是
bidirectional或peer_only。 双向模式允许从VPN网关的任一侧发起IKE协议协商(或密钥更新过程)。 仅对等方式允许对等方对此 VPN 网关连接启动 IKE 协议协商。 建立连接后,对等方还负责启动密钥更新过程。 如果未进行再加密,那么 VPN 网关连接将在其生存期到期后除去。 -output- 指定输出格式为 JSON。
-q, --quiet- 禁止详细输出。
命令示例
-
使用其必需的配置值为特定网关标识创建 VPN 连接:
ibmcloud is vpn-gateway-connection-create my-connection fee82deba12e4c0fb69c3b09d1f12345 169.21.50.5 lkj14b1oi0alcniejkso --local-cidr 10.240.0.0/24 --peer-cidr 192.168.1.0/24 -
为基于路由的 VPN 网关创建 VPN 连接,并启用 流量分发功能:
ibmcloud is vpn-gateway-connection-create CONNECTION_NAME VPN_GATEWAY PEER PRESHARED_KEY --distribute-traffic true -
创建具有相同核心参数和指定 DPD 配置的 VPN 连接:
ibmcloud is vpn-gateway-connection-create my-connection fee82deba12e4c0fb69c3b09d1f12345 169.21.50.5 lkj14b1oi0alcniejkso --local-cidr 10.240.0.0/24 --peer-cidr 192.168.1.0/24 --dead-peer-detection-action clear --dead-peer-detection-interval 33 --dead-peer-detection-timeout 100 -
使用相同的核心参数和具有指定标识的定制策略创建 VPN 连接:
ibmcloud is vpn-gateway-connection-create my-connection fee82deba12e4c0fb69c3b09d1f12345 169.21.50.5 lkj14b1oi0alcniejkso --local-cidr 10.240.0.0/24 --peer-cidr 192.168.1.0/24 --ipsec-policy 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 --ike-policy 72251a2e-d6c5-42b4-97b0-b5f8e8d1f480 -
创建具有对等 FQDN 的 VPN 连接,并指定本地和对等 IKE 身份:
ibmcloud is vpn-gateway-connection-create my-connection fee82deba12e4c0fb69c3b09d1f12345 on-prem.my-company.com lkj14b1oi0alcniejkso --local-cidr 10.240.0.0/24 --peer-cidr 192.168.1.0/24 --local-ike-identities '[{"type":"key_id","value":"MTIzNA=="}]' --peer-ike-identity-type fqdn --peer-ike-identity-value on-prem.my-company.com --establish-mode peer_only -
创建允许同级为此 VPN 网关连接启动 IKE 协议协商的 VPN 连接:
ibmcloud is vpn-gateway-connection-create my-connection fee82deba12e4c0fb69c3b09d1f12345 169.21.50.5 lkj14b1oi0alcniejkso --establish-mode peer_only --local-ike-identities '[{type:ipv4_address,value:2.2.2.2},{type:fqdn,value:sadsadasd.com}]' --peer-ike-identity-type key_id --peer-ike-identity-value MTIzNA== -
使用高级配置选项创建 VPN 连接:
ibmcloud is vpn-gateway-connection-create to-prem ${gateway_id} on-prem.test.com test123 --local-cidr 10.10.20.0/28 --peer-cidr 192.168.0.0/24 --peer-ike-identity-type ipv4_address --peer-ike-identity-value 192.168.0.1 --establish-mode peer_only -
使用对等 ASN 和隧道创建基于路由的动态 VPN 连接:
ibmcloud is vpn-gateway-connection-create my-connection --routing-protocol bgp my-vpc-gateway 169.21.50.5 lkj14b1oi0alcniejkso --distribute-traffic true --local-ike-identities '[{"type":"fqdn","value":"example.com"},{"type":"fqdn","value":"example_1.com"}]' --peer-asn 65534 --tunnels '[{"neighbor_ip":{"address":"192.168.0.2"},"tunnel_interface_ip":{"address":"192.168.0.1"}},{"neighbor_ip":{"address":"192.168.0.6"},"tunnel_interface_ip":{"address":"192.168.0.5"}}]' --peer-ike-identity-type ipv4_address --peer-ike-identity-value 192.168.0.1 -
获取 VPN 网关连接列表:
ibmcloud is vpn-gateway-connection my-vpc-gateway my-connection -
列出 VPN 网关的所有服务连接:
ibmcloud is vpn-gateway-service-connections 0727-bc813695-d777-4ceb-acfb-bd68f4828358 -
获取指定 VPN 网关的服务连接详情:
ibmcloud is vpn-gateway-service-connection my-vpc-gateway --service-connection-id 72fd9e00-3117-4b2e-984d-9361a9a97801
从 CLI 将本地 CIDR 添加到 VPN 网关连接
开始之前,请 设置 CLI 环境。
要从 CLI 将本地 CIDR 添加到 VPN 网关连接,请输入以下命令:
此命令仅受策略方式 VPN 网关支持。
ibmcloud is vpn-gateway-connection-local-cidr-add VPN_GATEWAY CONNECTION PREFIX_ADDRESS PREFIX_LENGTH [--vpc VPC] [--output JSON] [-q, --quiet]
其中:
VPN_GATEWAY- VPN网关的ID。
CONNECTION- VPN 连接的 ID 或名称。
PREFIX_ADDRESS- CIDR 的前缀地址部分。
PREFIX_LENGTH- CIDR 的前缀长度部分。
--output value- 输出结果采用 JSON 格式。
-q, --quiet- 禁止详细输出。
命令示例
为具有必需配置值的特定连接名称添加本地 CIDR:
ibmcloud is vpn-gateway-connection-local-cidr-add my-vpn-gateway my-connection 3.3.3.0/24
从 CLI 将对等 CIDR 添加到 VPN 网关连接
开始之前,请 设置 CLI 环境。
要从 CLI 将对等 CIDR 添加到 VPN 网关连接,请输入以下命令:
此命令仅受策略方式 VPN 网关支持。
ibmcloud is vpn-gateway-connection-peer-cidr-add VPN_GATEWAY CONNECTION PREFIX_ADDRESS PREFIX_LENGTH [--vpc VPC] [--output JSON] [-q, --quiet]
其中:
VPN_GATEWAY- VPN 网关的标识。
CONNECTION- VPN 连接的标识或名称。
PREFIX_ADDRESS- CIDR中的前缀地址部分。
PREFIX_LENGTH- CIDR中的前缀长度部分。
--output value- 以 JSON 格式输出。
-q, --quiet- 抑制冗长输出。
命令示例
为具有所需配置值的特定连接名称添加对等 CIDR:
ibmcloud is vpn-gateway-connection-peer-cidr-add my-vpn-gateway my-connection 4.4.4.0/24
添加与 API 的连接
要使用 API 创建 VPN 连接,请执行以下步骤:
-
使用正确的变量设置 API 环境。
-
存储要在 API 命令中使用的任何其他变量,例如:
-
vpnGatewayId-VPN 网关标识。export vpnGatewayId=<your_vpn_gateway_id> -
ikePolicyId-此 IKE 策略的唯一标识。export ikePolicyId=<your_ike_policy_id> -
ipsecPolicyId-此 IPsec 策略的唯一标识。export ipsecPolicyId=<your_ipsec_policy_id>
-
-
启动所有变量时,创建 VPN 网关连接。 例如,
# To create a connection for policy-based VPN, use the following command: curl -X POST "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -d '{ "name": "my-vpn-connection", "psk": "'$psk'", "dead_peer_detection": { "action": "restart", "interval": 2, "timeout": 10 }, "local": { "cidrs": "'$localCidrs'" }, "peer": { "cidrs": "'$remoteCidrs'", "address": "7.8.9.10" } "ike_policy": { "id": "'$ikePolicyId'" }, "ipsec_policy": { "id": "'$ipsecPolicyId'" } }'# For a static route-based VPN connection, use the following command: curl -X POST "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -d '{ "name": "my-vpn-connection", "routing_protocol": "none", "psk": "'$psk'", "distribute_traffic":true, "dead_peer_detection": { "action": "restart", "interval": 2, "timeout": 10 }, "ike_policy": { "id": "'$ikePolicyId'" }, "ipsec_policy": { "id": "'$ipsecPolicyId'" } }'# For a dynamic route-based VPN connection, use the following command: curl -X POST "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "X-Correlation-ID: 0ba2d683-cce9-404f-9b8e-463543888ff9" \ -d '{ "name": "vpn-new-connection", "psk": "'$psk'", "dead_peer_detection": { "action": "restart", "interval": 2, "timeout": 10 }, "distribute_traffic": true, "establish_mode": "bidirectional", "peer": { "address": "9.168.3.4", "asn": 64543 }, "routing_protocol": "bgp", "tunnels": [ { "neighbor_ip": { "address": "192.168.0.2" }, "tunnel_interface_ip": { "address": "192.168.0.1" } }, { "neighbor_ip": { "address": "192.168.0.6" }, "tunnel_interface_ip": { "address": "192.168.0.5" } } ] }' -
(可选) 使用高级配置选项创建连接:
curl -X POST "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" -d '{ \ "name": "my-advanced-vpn-connection", "establish_mode": "peer_only", "psk": "'$psk'", "dead_peer_detection": { "action": "restart", "interval": 2, "timeout": 10 }, "local": { "cidrs": "'$localCidrs'", "ike_identities": [ { "type": "key_id", "value": "dGVzdGtleQ==" } ] }, "peer": { "cidrs": "'$remoteCidrs'", "ike_identity": { "type": "hostname", "value": "cisco-asa" }, "fqdn": "on-prem.test.com" } "ike_policy": { "id": "'$ikePolicyId'" }, "ipsec_policy": { "id": "'$ipsecPolicyId'" }, "distribute_traffic":true }'
使用 API 将本地 CIDR 添加到 VPN 网关连接
要使用 API 将本地 CIDR 添加到 VPN 网关连接,请执行以下步骤:
此 API 仅受策略方式 VPN 网关支持。
-
使用正确的变量设置 API 环境。
-
存储要在 API 命令中使用的任何其他变量,例如:
-
vpnGatewayId-VPN 网关标识。export vpnGatewayId=<your_vpn_gateway_id> -
connectionId-此 VPN 连接的唯一标识。export connectionId=<your_connection_id> -
cidr_prefix- CIDR 中的前缀地址部分。export cidr_prefix=<your_cidr_prefix> -
prefix_length- CIDR 中的前缀长度部分。export prefix_length=<your_prefix_length>
-
-
启动所有变量时,将本地 CIDR 添加到 VPN 网关连接。 例如,
curl -X PUT "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections/$connectionId/local_cidrs/${cidr_prefix}/${prefix_length}?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token"
使用 API 将对等 CIDR 添加到 VPN 网关连接
要使用 API 将对等 CIDR 添加到 VPN 网关连接,请执行以下步骤:
此 API 仅受策略方式 VPN 网关支持。
-
使用正确的变量设置 API 环境。
-
存储要在 API 命令中使用的任何其他变量,例如:
-
vpnGatewayId-VPN 网关标识export vpnGatewayId=<your_vpn_gateway_id> -
connectionId-此 VPN 连接的唯一标识export connectionId=<your_connection_id> -
cidr_prefix- CIDR 中的前缀地址部分export cidr_prefix=<your_cidr_prefix> -
prefix_length- CIDR 中的前缀长度部分。export prefix_length=<your_prefix_length>
-
-
启动所有变量时,将对等 CIDR 添加到 VPN 网关连接。 例如,
curl -X PUT "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections/$connectionId/peer_cidrs/${cidr_prefix}/${prefix_length}?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token"
要查看站点到站点 VPN 网关的整套 API,请参阅 VPC API 参考。
使用 Terraform 添加连接
要使用 Terraform 添加连接,请运行以下命令:
resource "ibm_is_vpn_gateway_connection" "is_vpn_gateway_connection" {
name = "my-vpn-gateway-connection"
vpn_gateway = ibm_is_vpn_gateway.is_vpn_gateway.id
peer_address = "7.8.9.10"
preshared_key = var.presharedkey
local_cidrs = [var.localCIDR]
peer_cidrs = [var.peerCIDR]
}
以下 Terraform 示例创建 VPN 网关连接:
resource "ibm_is_vpn_gateway_connection" "is_vpn_gateway_connection" {
name = "my-vpn-gateway-connection"
vpn_gateway = ibm_is_vpn_gateway.is_vpn_gateway.id
preshared_key = "VPNDemoPassword"
establish_mode = "bidirectional"
peer {
cidrs = [var.peerCIDR]
address = "7.8.9.10"
}
local {
cidrs = [var.localCIDR]
}
ike_policy = ibm_is_ike_policy.is_ike_policy.id
ipsec_policy = ibm_is_ipsec_policy.is_ipsec_policy.id
}
下面的 Terraform 示例为基于路由的 VPN 网关创建了一个 VPN 连接,并启用了 流量分发功能:
resource "ibm_is_vpn_gateway_connection" "test_VPNGatewayConnection1" {
name = "example-vpn-gateway-connection"
vpn_gateway = "${ibm_is_vpn_gateway.example.id}"
peer_address = "${ibm_is_vpn_gateway.example.public_ip_address}"
preshared_key = "VPNDemoPassword"
distribute-traffic = true
}
下面的 Terraform 示例使用高级配置选项创建了 VPN 连接:
resource "ibm_is_vpn_gateway_connection" "is_vpn_gateway_connection" {
name = "to-prem"
vpn_gateway = ibm_is_vpn_gateway.is_vpn_gateway.id
preshared_key = "test123"
establish_mode = "peer_only"
peer {
cidrs = ["192.168.0.0/24"]
ike_identity {
type = "ipv4_address"
value = "192.168.0.1"
}
fqdn = "on-prem.test.com"
}
local {
cidrs = ["10.10.20.0/28"]
}
}
以下 Terraform 示例为基于路由的 VPN 网关创建动态 VPN 连接,该网关支持 BGP:
resource "ibm_is_vpn_gateway" "example" {
name = "example-vpn-gateway"
subnet = ibm_is_subnet.example.id
mode = "route"
local_asn = 64522
}
resource "ibm_is_vpn_gateway_connection" "example" {
name = "example-vpn-gateway-connection"
vpn_gateway = ibm_is_vpn_gateway.example.id
preshared_key = "VPNDemoPassword"
distribute_traffic = true
routing_protocol = "bgp"
local {
ike_identities {
type = "fqdn"
value = "fqdn.example.com"
}
ike_identities {
type = "fqdn"
value = "fqdn.example.com"
}
}
peer {
ike_identity {
type = "fqdn"
value = "example.fqdn.com"
}
fqdn = "peer-vpn.example.com"
asn = 65534
}
tunnel {
neighbor_ip = "192.168.1.8"
tunnel_interface_ip = "10.0.0.8"
}
tunnel {
neighbor_ip = "192.168.1.6"
tunnel_interface_ip = "10.0.0.6"
}
}
有关更多信息,请参阅 Terraform 注册表。
后续步骤
- 要创建基于路由的 VPN,请首先 创建路由表,然后 使用 VPN 连接类型创建路由。
- 对于基于路由的动态 VPN 连接,请将中转网关连接到 VPN 网关。 请参阅 创建中转网关。