IBM Cloud Docs
创建冗余 GRE

创建冗余 GRE

此连接类型以冗余方式构建,并且不需要在运输网关脱机以进行维护时调度中断。 此连接类型允许将通用路由封装 (GRE) 隧道放置在同一区域中的不同设备上,而不标记冗余 GRE 隧道中的重叠路由。

与只能连接到经典网络的未绑定 GRE 隧道不同,冗余 GRE 隧道可以将传输网关连接到 VPC 或经典基础架构端点。

准备工作

在创建冗余 GRE 之前,请阅读以下规划注意事项:

  • 查看 常规冗余 GRE 注意事项。

  • 向冗余 GRE 添加隧道时,必须输入以下四个 IP 地址。

    • 远程网关 IP-GRE 隧道端点的 IP 地址。 此 IP 地址必须是专用 IP,并且是来自经典环境的专用 IP。 例如,此 IP 可以是硬件设备,也可以是 VM。
    • 本地网关 IP-隧道端点连接到的 IP 地址。 此 IP 是用于建立隧道的 Transit Gateway 的 IP,以便在隧道端点上输入 远程隧道 IP 时,使用此 IP 地址。
    • 本地隧道 IP-传输网关端上的 GRE 隧道地址。
    • 远程隧道 IP-隧道端点上的 GRE 隧道地址。

在 UI 中创建冗余 GRE

您可以在现有运输网关上创建冗余 GRE,也可以在创建运输网关时创建冗余 GRE。

要创建冗余 GRE,请按照以下步骤操作:

  1. 从以下选项中选择一个:

    • 要在现有 Transit Gateway 上创建冗余 GRE,请执行以下操作:

      1. 从浏览器打开 IBM Cloud 控制台并登录账户。
      2. 从左上角选择导航菜单图标 导航菜单图标,然后单击基础架构 > 网络 > Transit Gateway
      3. 单击要在其中添加连接的 Transit Gateway 的名称。
      4. 单击“连接”选项卡中的 添加连接
    • 要在创建 Transit Gateway 时创建冗余 GRE,请执行以下操作:

      1. 从浏览器打开 IBM Cloud 控制台并登录账户。
      2. 从左上角选择导航菜单图标 导航菜单图标,然后单击基础架构 > 网络 > Transit Gateway
      3. 单击创建中转网关
      4. 输入运输网关名称,资源组和位置。
  2. 选择 冗余 GRE 作为网络连接类型。

  3. 输入连接名称。

  4. 选择基本网络类型 (经典基础架构VPC) 以及这是否是与另一个帐户中的网络的连接。 如果选择 VPC 作为基本网络,那么可以选择要作为目标的区域和 VPC。

    基本网络的前缀不会向传输网关公布。

  5. 如果此连接指向另一个帐户中的网络,请输入 VPC 的帐户标识和云资源名称 (CRN)。

    对于交叉帐户,冗余 GRE 中的所有隧道都以同一帐户为目标。 跨帐户核准用于冗余 GRE,并且将接受或拒绝 GRE 下的所有隧道。

    要查找 CRN,请从 IBM Cloud 控制台中单击 导航菜单 “导航菜单”图标 > 资源列表。 展开“联网”部分,然后单击要查找其 CRN 的 Virtual Private Cloud 的表行。 VPC CRN 显示在“概述”选项卡上的详细信息中。

  6. 为此连接添加 GRE 隧道。 至少需要两个 GRE 隧道。 您可以单击 添加隧道 以添加更多隧道,但每个区域不能超过两个隧道。

    1. 选择要在其中创建隧道的可用性区域。 为隧道选择区域时,仅冗余 GRE 的有效区域显示为选项。
    2. (可选) 输入远程 BGP ASN,这是您选择的有效 2 或 4 字节值。 如果将此字段留空,那么将分配唯一的 ASN。
    3. 输入 GRE 隧道端点的远程网关 IP。
    4. 输入中转网关用于托管 GRE 隧道的底层网络的本地网关 IP。 此用户选择的 IP 地址在创建后在 Transit Gateway GRE 隧道上配置。
    5. 输入隧道两端的 /30 本地隧道 IP,例如 192.168.103.1
    6. 输入隧道两端的 /30 远程隧道 IP,例如 192.168.103.2
    7. 输入 GRE 隧道的连接名称。
  7. 根据您启动此过程的位置,单击 添加创建 以创建冗余 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
使用的网络类型。 选项为 classicvpc
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.0239.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 注册表