创建冗余 GRE
此连接类型以冗余方式构建,并且不需要在运输网关脱机以进行维护时调度中断。 此连接类型允许将通用路由封装 (GRE) 隧道放置在同一区域中的不同设备上,而不标记冗余 GRE 隧道中的重叠路由。
与只能连接到经典网络的未绑定 GRE 隧道不同,冗余 GRE 隧道可以将传输网关连接到 VPC 或经典基础架构端点。
准备工作
在创建冗余 GRE 之前,请阅读以下规划注意事项:
在 UI 中创建冗余 GRE
您可以在现有运输网关上创建冗余 GRE,也可以在创建运输网关时创建冗余 GRE。
要创建冗余 GRE,请按照以下步骤操作:
-
从以下选项中选择一个:
-
要在现有 Transit Gateway 上创建冗余 GRE,请执行以下操作:
- 从浏览器打开 IBM Cloud 控制台并登录账户。
- 从左上角选择导航菜单图标 导航
,然后单击基础架构 > 网络 > Transit Gateway。
- 单击要在其中添加连接的 Transit Gateway 的名称。
- 单击“连接”选项卡中的 添加连接。
-
要在创建 Transit Gateway 时创建冗余 GRE,请执行以下操作:
- 从浏览器打开 IBM Cloud 控制台并登录账户。
- 从左上角选择导航菜单图标 导航
,然后单击基础架构 > 网络 > Transit Gateway。
- 单击创建中转网关。
- 输入运输网关名称,资源组和位置。
-
-
选择 冗余 GRE 作为网络连接类型。
-
输入连接名称。
-
选择基本网络类型 (经典基础架构 或 VPC) 以及这是否是与另一个帐户中的网络的连接。 如果选择 VPC 作为基本网络,那么可以选择要作为目标的区域和 VPC。
基本网络的前缀不会向传输网关公布。
-
如果此连接指向另一个帐户中的网络,请输入 VPC 的帐户标识和云资源名称 (CRN)。
对于交叉帐户,冗余 GRE 中的所有隧道都以同一帐户为目标。 跨帐户核准用于冗余 GRE,并且将接受或拒绝 GRE 下的所有隧道。
要查找 CRN,请从 IBM Cloud 控制台中单击 导航菜单
> 资源列表。 展开“联网”部分,然后单击要查找其 CRN 的 Virtual Private Cloud 的表行。 VPC CRN 显示在“概述”选项卡上的详细信息中。
-
为此连接添加 GRE 隧道。 至少需要两个 GRE 隧道。 您可以单击 添加隧道 以添加更多隧道,但每个区域不能超过两个隧道。
- 选择要在其中创建隧道的可用性区域。 为隧道选择区域时,仅冗余 GRE 的有效区域显示为选项。
- (可选) 输入远程 BGP ASN,这是您选择的有效 2 或 4 字节值。 如果将此字段留空,那么将分配唯一的 ASN。
- 输入 GRE 隧道端点的远程网关 IP。
- 输入中转网关用于托管 GRE 隧道的底层网络的本地网关 IP。 此用户选择的 IP 地址在创建后在 Transit Gateway GRE 隧道上配置。
- 输入隧道两端的
/30
本地隧道 IP,例如192.168.103.1
。 - 输入隧道两端的
/30
远程隧道 IP,例如192.168.103.2
。 - 输入 GRE 隧道的连接名称。
-
根据您启动此过程的位置,单击 添加 或 创建 以创建冗余 GRE。
创建冗余 GRE 后,可以展开冗余 GRE 部分以显示其详细信息,包括创建日期,名称,区域和状态。
后续步骤
要配置 BGP 隧道的另一端,请在“连接”页面中展开新创建的冗余 GRE 隧道以查看 GRE 详细信息。 它显示本地 BGP ASN。 如果您创建了可选的远程 BGP ASN,那么这些 ASN 也会显示在“连接”页面中。 将此 ASN 信息提供给创建 BGP 隧道另一端的人员,以便可以完全配置 BGP 会话。
从 CLI 创建冗余 GRE
要从 CLI 创建冗余 GRE,必须使用 JSON 文件作为输入。
ibmcloud tg connection-rgre-create|crgrec --file JSON_FILE_PATH [--output json]
JSON 文件:
{
"gateway_id": "47f11b01-471c-47d0-9e84-550c88c94055",
"name": "redundant_gre1",
"network_type": "redundant_gre",
"base_network_type": "classic",
"network_account_id": "28e4d90ac7504be694471ee66e70d0d5",
"network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b",
"tunnels": [
{
"local_gateway_ip": "192.168.100.1",
"local_tunnel_ip": "192.168.129.2",
"name": "gre1",
"remote_bgp_asn": "65010",
"remote_gateway_ip": "10.242.63.12",
"remote_tunnel_ip": "192.168.129.1",
"zone": {
"name": "us-south-1"
}
}, {
"local_gateway_ip": "192.168.101.1",
"local_tunnel_ip": "192.168.128.2",
"name": "gre2",
"remote_bgp_asn": "65010",
"remote_gateway_ip": "10.242.63.12",
"remote_tunnel_ip": "192.168.128.1",
"zone": {
"name": "us-south-1"
}
}
]
}
命令选项
gateway_id
- 新冗余 GRE 所使用的网关的标识。
name
- 新的冗余 GRE 的名称。
network_type
- 连接的网络类型。 值为
redundant_gre
。 base_network_type
- 使用的网络类型。 选项为
classic
和vpc
。 network_account_id
- 要用于跨帐户经典网络的 IBM Cloud 帐户的标识。 仅当连接的帐户与网关的帐户不同时,才与
classic
类型配合使用。 此选项对于vpc
基本网络类型无效。 network_id
- 要使用的 VPC 网络的 CRN。 此选项对于
classic
基本网络类型无效。 要查找 VPC 的 CRN,请输入以下命令:
ibmcloud is vpc VPC_ID --json
tunnels
- 此冗余 GRE 的所有隧道的集合。
local_gateway_ip
- GRE 隧道连接的本地网关 IP 地址。 此 IP 地址不得是
224.0.0.0
到239.255.255.255
的多点广播范围内的 IP 地址,并且不能与连接到 Transit Gateway 的任何现有网络相冲突。 local_tunnel_ip
- GRE 隧道连接的本地隧道 IP 地址。
name
- GRE 隧道的名称。
remote_bgp_asn
- 可选: 如果未指定远程 BGP ASN,那么将生成一个。
remote_gateway_ip
- GRE 隧道连接的远程网关 IP 地址。
remote_tunnel_ip
- GRE 隧道连接的远程隧道 IP 地址。
zone
- GRE 隧道的可用性区域。 示例:
us-south-1
使用 API 创建冗余 GRE
您可以使用 API 创建冗余通用路由封装 (GRE) 隧道连接。
请求示例
此示例显示如何创建冗余 GRE:
curl -H "Content-Type: application/json" -X POST https://$TS_ENDPOINT/v1/transit_gateways/$GATEWAY_ID/connections?version=2020-03-31 -H "authorization: Bearer $IAM_TOKEN" -d '{
"name": "mtp_RGRE",
"network_type": "redundant_gre",
"base_network_type": "vpc",
"network_id": "crn:v1:staging:public:is:us-south:a/aacb87da80cc4a47b9a196fc1713d42d::vpc:r134-285026fa-1d90-4d67-b512-028f4fd8a112",
"tunnels": [
{
"name": "mtp_vpc_tun1",
"local_gateway_ip": "192.168.200.1",
"local_tunnel_ip": "192.168.239.2",
"remote_gateway_ip": "10.240.0.4",
"remote_tunnel_ip": "192.168.239.1",
"zone": {
"name": "us-south-3"
}
},
{
"name": "mtp_vpc_tun2",
"local_gateway_ip": "192.168.201.1",
"local_tunnel_ip": "192.168.238.2",
"remote_gateway_ip": "10.240.0.4",
"remote_tunnel_ip": "192.168.238.1",
"zone": {
"name": "us-south-3"
}
}
]
}'
响应示例
{
"name": "mtp_RGRE",
"network_type": "redundant_gre",
"base_network_type": "vpc",
"id": "47f11b01-471c-47d0-9e84-550c88c94056",
"created_at": "22024-06-10T14:52:54.918Z",
"updated_at": "2024-06-10T14:52:54.918Z",
"status": "up",
"tunnels": [
{
"name": "mtp_vpc_tun1",
"id": "47f11b01-471c-47d0-9e84-550c88c94057",
"mtu": 9000,
"status": "up",
"updated_at": "2024-06-10T14:52:54.918Z",
"created_at": "2024-06-10T14:52:54.918Z",
"local_gateway_ip": "192.168.200.1",
"local_tunnel_ip": "192.168.239.2",
"remote_gateway_ip": "10.240.0.4",
"remote_tunnel_ip": "192.168.239.1",
"local_bgp_asn": 64490,
"remote_bgp_asn": 65010,
"zone": {
"name": "us-south-3"
}
},
{
"name": "mtp_vpc_tun2",
"id": "47f11b01-471c-47d0-9e84-550c88c94058",
"mtu": 9000,
"status": "up",
"updated_at": "2024-06-10T14:52:54.918Z",
"created_at": "2024-06-10T14:52:54.918Z",
"local_gateway_ip": "192.168.201.1",
"local_tunnel_ip": "192.168.238.2",
"remote_gateway_ip": "10.240.0.4",
"remote_tunnel_ip": "192.168.238.1",
"local_bgp_asn": 64490,
"remote_bgp_asn": 65011,
"zone": {
"name": "us-south-3"
}
}
]
}
有关更多信息,请参阅 Transit Gateway API 参考中的 添加到 Transit Gateway。
使用 Terraform 创建冗余 GRE
要使用 Terraform,请下载 Terraform CLI 并配置 IBM Cloud 提供者插件。 有关更多信息,请参阅 Terraform 入门。
以下示例说明如何使用 Terraform 创建冗余 GRE 并添加其隧道:
resource "ibm_tg_connection" "test_ibm_tg_rgre_connection" {
gateway = ibm_tg_gateway.test_tg_gateway.id
name = redundant_ugre_vpc
network_type = redundant_gre
base_network_type = vpc
network_id = ibm_is_vpc.test_tg_vpc.resource_crn
tunnels {
local_gateway_ip = "192.129.200.1"
local_tunnel_ip = "192.158.239.2"
name = "tunne1_testtgw1461"
remote_gateway_ip = "10.186.203.4"
remote_tunnel_ip = "192.158.239.1"
zone = "us-south-1"
}
tunnels {
local_gateway_ip = "192.129.220.1"
local_tunnel_ip = "192.158.249.2"
name = "tunne2_testtgw1462"
remote_gateway_ip = "10.186.203.4"
remote_tunnel_ip = "192.158.249.1"
zone = "us-south-1"
}
}
有关更多信息,请参阅 Terraform 注册表。