创建未绑定的 GRE 隧道
您可以使用未绑定的通用路由封装 (GRE) 隧道传输网关连接来连接端点。 此连接允许 Transit Gateway 连接到经典基础架构资源上托管的覆盖网络。
准备工作
在创建未绑定的 GRE 隧道之前,请查看 GRE 连接注意事项,了解其他先决条件。
未绑定的 Transit Gateway GRE 连接需要网关所有者针对其需求专门配置 HA。 GRE 连接是点对点连接,没有内置冗余,是单点故障。 在 Transit Gateway 上配置未绑定的 GRE 隧道时,必须指定可用性区域。 对于稳健的 HA 解决方案,请使用不同的可用性区域配置多个 GRE 连接。
请记住,在创建未绑定的 GRE 隧道时,需要输入四个 IP 地址。 包括:
- 远程网关 IP-GRE 隧道端点的 IP 地址。 此 IP 地址必须是专用 IP,并且是来自经典环境的专用 IP。 例如,此 IP 可以是硬件设备,也可以是 VM。
- 本地网关 IP-隧道端点连接到的 IP 地址。 此 IP 是运输网关的 IP,用于建立隧道,以便在隧道端点上输入“远程 IP”时使用此 IP 地址。
- 远程隧道 IP-隧道端点上的 GRE 隧道地址。
- 本地隧道 IP-Transit Gateway 端的 GRE 隧道地址。
在 UI 中创建未绑定的 GRE 隧道
您可以在现有传输网关上创建未绑定的 GRE 隧道,也可以在创建新的传输网关时创建未绑定的 GRE 隧道。
要创建未绑定的 GRE 隧道,请执行以下步骤:
-
从以下选项中选择一个:
-
要在现有 Transit Gateway 上创建未绑定的 GRE 隧道,请执行以下操作:
- 从浏览器打开 IBM Cloud 控制台并登录账户。
- 从左上角选择导航菜单图标 导航
,然后单击基础架构 > 网络 > Transit Gateway。
- 单击要在其中添加连接的 Transit Gateway 的名称。
- 单击“连接”选项卡中的 添加连接。
-
要在创建运输网关时创建未绑定的 GRE 隧道,请执行以下操作:
- 从浏览器打开 IBM Cloud 控制台并登录账户。
- 从左上角选择导航菜单图标 导航
,然后单击基础架构 > 网络 > Transit Gateway。
- 单击“创建中转网关”打开配置页面。
- 输入运输网关名称,资源组和位置。
-
-
选择 未绑定 GRE 隧道 作为网络连接类型。
-
输入隧道名称。
-
选择基本网络类型以及这是否是与另一个帐户中的网络的连接。
-
如果此连接指向另一个帐户中的网络,请输入帐户标识。
-
选择要在其中创建隧道的可用性区域。
-
配置连接的其余参数:
-
输入 GRE 隧道端点的远程网关 IP。
-
输入隧道两端的
/30
远程隧道 IP,例如192.168.103.2
。 -
输入中转网关用于托管 GRE 隧道的底层网络的本地网关 IP 地址[1]。 此用户选择的 IP 地址是在创建隧道后在 Transit Gateway GRE 隧道上配置的。
-
输入隧道两端的
/30
本地隧道 IP,例如192.168.103.1
。 -
(可选) 输入远程 BGP ASN,这是您选择的有效 2 或 4 字节值。
您可以保留此值为空,并分配唯一的 ASN。
-
输入 GRE 隧道的连接名称。
-
-
单击 添加 以创建 GRE 隧道。
后续步骤
要配置 BGP 隧道的另一端,请在“连接”面板中展开新创建的未绑定 GRE 隧道以查看其详细信息。 它将显示本地 BGP ASN。 如果您创建了可选的远程 BGP ASN,那么它也会显示在“连接”面板中。 您必须将此 ASN 信息提供给创建 BGP 隧道另一端的人员,以便可以完全配置 BGP 会话。
从 CLI 创建未绑定的 GRE 隧道
在给定的传输网关上创建未绑定的通用路由封装 (GRE) 隧道连接。
ibmcloud tg connection-create-gre|ccgre GATEWAY_ID --name NAME --zone ZONE --local-gateway-ip LOCAL_GATEWAY_IP --local-tunnel-ip LOCAL_TUNNEL_IP --remote-gateway-ip REMOTE_GATEWAY_IP --remote-tunnel-ip REMOTE_TUNNEL_IP [--network-type NETWORK_TYPE] [--base-connection-id BASE_CONNECTION_ID] [--base-network-type BASE_NETWORK_TYPE] [--network-account-id NETWORK_ACCOUNT_ID] [--remote-bgp-asn REMOTE_BGP_ASN] [--output json]
其中:
- GATEWAY_ID
- 绑定新连接的网关的标识。
- -- 名称
- 新连接的名称。
- --区域
- GRE 隧道的可用性区域。 示例:
us-south-1
- --本地网关 IP
- GRE 隧道连接的本地网关 IP 地址。
- --local-Tunnel-ip
- GRE 隧道连接的本地隧道 IP 地址。
- --远程网关 IP
- GRE 隧道连接的远程网关 IP 地址。
- --local-Tunnel-ip
- GRE 隧道连接的远程隧道 IP 地址。
- -- network-type
- 可选: 要创建的 GRE 隧道的类型,
gre_tunnel
或unbound_gre_tunnel
。 默认值为gre_tunnel
。 - --base-connection-id(基础连接标识
- 可选: 将作为 GRE 隧道的底层的经典网络连接的标识。 仅用于
gre_tunnel
类型的连接。 - --基础网络类型
- 可选 :GRE 隧道所针对的网络类型 (经典)。 仅用于
unbound_gre_tunnel
类型的连接。 - --网络账号-id
- 可选: 要用于创建经典网络的跨帐户 GRE 隧道的 IBM Cloud 帐户的标识。 仅用于
unbound_gre_tunnel
类型的连接。 - --远程-bgp-asn
- 可选: 如果未指定远程 BGP ASN,那么将生成一个。
- --输出 json
- 可选:以 JSON 格式显示输出。
- --帮助 -h
- 可选: 获取有关此命令的帮助。
示例
此示例说明如何将名为 unbound-gre-connection
的未绑定 GRE 隧道创建到经典网络:
ibmcloud tg connection-create-gre $gateway --network-type unbound_gre_tunnel --name unbound-gre-connection --base-network-type classic --zone us-south-2 --local-gateway-ip 192.168.100.1 --local-tunnel-ip 192.168.101.1 --remote-gateway-ip 10.242.63.12 --remote-tunnel-ip 192.168.101.2
使用 API 创建未绑定的 GRE 隧道
请求示例
此示例说明了请求 GRE 连接:
curl -X POST "https://transit.cloud.ibm.com/v1/transit_gateways/test/connections?version=2022-01-27" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"local_gateway_ip\":\"192.168.100.1\",\"local_tunnel_ip\":\"192.168.129.2\",\"name\":\"Transit_Service_BWTN_SJ_DL\",\"network_type\":\"unbound_gre_tunnel\",\"base_network_type\":\"classic\",\"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.100.1",
"local_tunnel_ip": "192.168.129.2",
"name": "Transit_Service_BWTN_SJ_DL",
"network_type": "unbound_gre_tunnel",
"base_network_type": "classic",
"remote_bgp_asn": 65010,
"remote_gateway_ip": "10.242.63.12",
"remote_tunnel_ip": "192.168.129.1",
"zone": {
"name": "us-south-1"
}
}
响应示例
此示例说明了来自创建未绑定 GRE 隧道的响应:
{
"created_at": "2020-03-31T12:08:05Z",
"id": "1a15dca5-7e33-45e1-b7c5-bc690e569531",
"name": "example-connection",
"network_type": "unbound_gre_tunnel",
"base_network_type": "classic",
"status": "pending",
"updated_at": "2020-03-31T12:08:05Z"
}
有关更多信息,请参阅 Transit Gateway API 参考中的 添加与 Transit Gateway。
使用 Terraform 创建 GRE 隧道连接
在创建未绑定的通用路由封装 (GRE) 隧道连接时,可以为资源指定以下参数引用:
参数 | 详细信息 |
---|---|
gateway 必需 强制使用新资源 字符串 |
输入 Transit Gateway 标识。 |
local_gateway_ip 可选 强制使用新资源 字符串 |
本地网关 IP 地址。 此字段对于 gre_tunnel 和 unbound_gre_tunnel 类型的连接是必需的,并且仅适用于这些连接。 |
local_tunnel_ip 可选 强制使用新资源 字符串 |
本地隧道 IP 地址。 此字段对于 gre_tunnel 和 unbound_gre_tunnel 类型的连接是必需的,并且仅适用于这些连接。 |
name 可选 字符串 |
连接的名称。 如果未提供名称,那么将根据网络类型提供缺省名称,例如 unbound_gre_tunnel 表示网络类型未绑定的 gre。 |
network_type 必需 强制使用新资源 字符串 |
网络类型。 允许的值为 gre_tunnel 和 unbound_gre_tunnel 。 |
base_network_type 可选 强制使用新资源 字符串 |
基本网络类型。 允许的值为 classic 。此字段仅适用于 unbound_gre_tunnel 类型的连接。 |
remote_bgp_asn 可选 强制使用新资源 整数 |
远程网络 BGP ASN。 如果未指定此参数,那么将为连接生成此参数。 此字段仅适用于 gre_tunnel 和 unbound_gre_tunnel 类型的连接。 |
remote_gateway_ip 可选 强制使用新资源 字符串 |
远程网关 IP 地址。 此字段仅适用于 gre_tunnel 和 unbound_gre_tunnel 类型的连接。 |
remote_tunnel_ip 可选 强制使用新资源 字符串 |
远程隧道 IP 地址。 此字段仅适用于 gre_tunnel 和 unbound_gre_tunnel 类型的连接。 |
zone 可选 强制使用新资源 字符串 |
GRE 隧道的位置。 此字段仅适用于 gre_tunnel 和 unbound_gre_tunnel 类型的连接。 |
示例
此示例说明请求未绑定的 GRE 隧道:
resource "ibm_tg_connection" "test_ibm_tg_connection" {
gateway = ibm_tg_gateway.test_tg_gateway.id
network_type = "unbound_gre_tunnel"
base_network_type = "classic"
name = "myconnection"
local_gateway_ip = 192.168.0.1
local_tunnel_ip = 10.0.0.1
remote_bgp_asn = 36361
remote_gateway_ip = 192.168.1.1
remote_tunnel_ip = 10.0.1.1
zone = us-east
}
-
该 IP 地址不能是
224.0.0.0
至239.255.255.255
多播范围内的 IP 地址,也不能与连接到中转网关的任何现有网络冲突。 ↩︎