用于 Network Connectivity Center spoke 的专用 NAT
借助 Private NAT,您可以创建专用 NAT 与 Network Connectivity Center 协同工作的网关 spoke 以执行以下各项之间的网络地址转换 (NAT) 网络:
- 虚拟私有云 (VPC) 网络: 场景,您要连接的 VPC 网络已连接到 连接到 Network Connectivity Center hub 作为 VPC spoke。
- VPC 网络和 Google Cloud 之外的网络 (预览):在这种情况下,一个或多个 VPC 网络以如下方式连接到 Network Connectivity Center hub VPC spoke,并连接到您的本地或其他 通过混合 spoke 连接到云提供商网络。
规格
除了常规 Private NAT 规范之外, Network Connectivity Center spoke 的专用 NAT 具有以下特征 规范:
- 专用 NAT 使用 NAT
type=PRIVATE
的配置,以允许具有重叠子网 IP 的网络 各个地址范围进行通信但只有不重叠的子网才能连接到 相互通信。 - 您需要通过引用 Network Connectivity Center hub 来创建自定义 NAT 规则。NAT 规则从目标子网指定 NAT IP 地址范围
Private NAT 用于对流量执行 NAT 的
PRIVATE_NAT
连接网络之间。 - 在需要配置专用 NAT 的子网范围内创建虚拟机实例时, 来自此虚拟机实例的所有出站流量 网关(如果目标 spoke 与 访问该网关。
- 一个 Private NAT 网关与子网 IP 地址相关联 多个 VPC 网络范围。 这意味着 不能 为 Network Connectivity Center hub 的其他 spoke 中的虚拟机提供 NAT, 即使虚拟机与网关位于同一区域也是如此。
VPC 网络之间的流量
以下附加规范适用于 VPC 网络 (Inter-VPC NAT):
- 在两个 VPC 之间启用 Inter-VPC NAT 每个 VPC 网络都必须配置为 VPC 提到了 Network Connectivity Center hub。 您必须确保 VPC 中的 IP 地址范围重叠 Spoke。如需了解详情,请参阅创建 VPC spoke。
- 与 Private NAT 网关关联的 Network Connectivity Center hub 必须具有至少两个 VPC spoke,其中 VPC spoke 是 Private NAT 网关。
- Inter-VPC NAT 支持 Network Connectivity Center 之间的 NAT 仅 VPC spoke,不在 VPC 网络之间 使用 VPC 网络对等互连进行连接。
- Inter-VPC NAT 支持对一个区域内以及跨区域的 VPC 子网进行地址转换。
VPC 网络与其他网络之间的流量
以下附加规范适用于 Google Cloud 之外的 VPC spoke 和网络 (预览版):
- 在 VPC 之间启用专用 NAT
本地网络和本地网络或其他云提供商网络:
<ph type="x-smartling-placeholder">
- </ph>
- VPC 网络必须配置为 VPC 提到了 Network Connectivity Center hub。如果 Network Connectivity Center hub 有多个 VPC spoke, 您必须确保每个子网之间没有子网重叠 VPC spoke。如需了解详情,请参阅创建 VPC spoke。
- 混合 spoke 必须连接到同一 Network Connectivity Center hub 才能 在 VPC Spoke 和 Google Cloud 外部的网络混合 spoke 支持 用于 Cloud Interconnect 的 VLAN 连接, Cloud VPN 隧道和路由器设备虚拟机。如需更多信息 请参阅关于 VPC spoke 和混合 spoke 之间的连接。
- 必须在工作负载中配置 Private NAT 网关 VPC 网络,而不是 与混合 spoke 相关联。如需详细了解工作负载 和路由 VPC 网络,请参阅 使用 VPC spoke 的路由交换。
基本配置和工作流
下图显示了基本的 Private NAT 配置 两个 VPC Spoke 之间的流量:
在此示例中,专用 NAT 设置如下:
pvt-nat-gw
网关在vpc-a
中进行配置,以应用于us-east1
区域中subnet-a
的所有 IP 地址范围。如果使用pvt-nat-gw
的 NAT IP 范围,则vpc-a
的subnet-a
中的虚拟机 (VM) 实例可以将流量发送到vpc-b
的subnet-b
中的虚拟机,即使vpc-a
的subnet-a
与vpc-b
的subnet-c
重叠。vpc-a
和vpc-b
都配置为 Network Connectivity Center hub 的 spoke。pvt-nat-gw
网关已配置为在 VPC 之间提供 NAT 配置为同一 Network Connectivity Center hub 中的 VPC spoke 的网络。
工作流示例
在上图中,vm-a
,内部 IP 地址 192.168.1.2
vpc-a
上的 subnet-a
需要使用内部 API 从 vm-b
下载更新
IP 地址 192.168.2.2
(在 vpc-b
的 subnet-b
中)。两个 VPC
网络与 VPC 连接到同一 Network Connectivity Center hub
Spoke。假设 vpc-b
包含另一个重叠的子网 192.168.1.0/24
子网为 vpc-a
中的子网。让 subnet-a
/vpc-a
与subnet-b
通信
(共 vpc-b
个),您需要配置一个 Private NAT 网关 pvt-nat-gw
,
在 vpc-a
中,如下所示:
专用 NAT 子网:配置专用 NAT 之前 创建用途为
PRIVATE_NAT
的 Private NAT 子网, 例如10.1.2.0/29
。确保此子网不重叠 与任何 VPC spoke 中的现有子网相关联, 相同的 Network Connectivity Center hub。其
nexthop.hub
与 Network Connectivity Center hub 网址匹配的 NAT 规则。针对
subnet-a
的所有地址范围的 NAT。
下表总结了上文中指定的网络配置 示例:
网络名称 | 网络组件 | IP地址/范围 | 区域 |
---|---|---|---|
vpc-a | subnet-a | 192.168.1.0/24 | us-east1 |
vm-a | 192.168.1.2 | ||
pvt-nat-gw | 10.1.2.0/29 | ||
vpc-b | subnet-b | 192.168.2.0/24 | us-west1 |
vm-b | 192.168.2.2 | ||
subnet-c | 192.168.1.0/24 | ||
vm-c | 192.168.1.3 |
Network Connectivity Center spoke 的 Private NAT 遵循
端口预留过程
预留以下 NAT 来源 IP 地址
和来源端口元组。例如,Private NAT 网关会为 vm-a
预留 64 个源端口:10.1.2.2:34000
到 10.1.2.2:34063
。
当虚拟机使用 TCP 协议将数据包发送到更新服务器时
在目标端口 80
上设置了 192.168.2.2
时,会发生以下情况:
虚拟机发送的请求包具有以下属性:
- 来源 IP 地址:
192.168.1.2
,虚拟机的内部 IP 地址 - 来源端口:
24000
,虚拟机操作系统选择的临时来源端口 - 目标地址:
192.168.2.2
,更新服务器的 IP 地址 - 目标端口:
80
,指向更新服务器的 HTTP 流量的目标端口 - 协议:TCP
- 来源 IP 地址:
pvt-nat-gw
网关会执行来源网络地址转换(SNAT 或 来源 NAT)的出站流量,重写请求 数据包的 NAT 来源 IP 地址和来源端口:- NAT 来源 IP 地址:
10.1.2.2
,来自虚拟机预留的 NAT 来源 IP 地址和来源端口元组 - 来源端口:
34022
,来自虚拟机预留的来源端口元组之一的未使用的来源端口 - 目标地址:
192.168.2.2
,未更改 - 目标端口:
80
,未更改 - 协议:TCP,未更改
- NAT 来源 IP 地址:
更新服务器发送一个响应数据包,该数据包到达 具有以下特性的
pvt-nat-gw
网关:- 来源 IP 地址:
192.168.2.2
,更新服务器的内部 IP 地址 - 来源端口:
80
,来自更新服务器的 HTTP 响应 - 目标地址:
10.1.2.2
,与原始 NAT 来源 IP 地址一致 请求数据包的 - 目标端口:
34022
,与请求数据包的来源端口一致 - 协议:TCP,未更改
- 来源 IP 地址:
pvt-nat-gw
网关会对响应数据包执行目标网络地址转换 (DNAT),重写响应数据包的目标地址和目标端口,以便将数据包传送到请求具有以下属性的更新的虚拟机:- 来源 IP 地址:
192.168.2.2
,未更改 - 来源端口:
80
,未更改 - 目标地址:
192.168.1.2
,虚拟机的内部 IP 地址 - 目标端口:
24000
,与请求数据包的原始临时来源端口一致 - 协议:TCP,未更改
- 来源 IP 地址:
后续步骤
- 设置为 Network Connectivity Center spoke 设置的专用 NAT。
- 了解 Cloud NAT 产品交互。
- 了解 Cloud NAT 地址和端口。
- 了解 Cloud NAT 规则。
- 排查常见问题。