跳转至

MCR 如何执行 NAT

网络地址转换 (NAT)网络地址转换 (NAT) 是一种在数据包发送到外部网络之前,将组织私有内部网络所使用的未注册私有 IP 地址转换为单个已注册的公网 IP 地址的过程。NAT 使私有 IP 网络能够使用互联网和云。
通过将组织私有内部网络使用的未注册私有 IP 地址转换为单个已注册的公网 IP 地址,从而节省 IPv4 地址空间。随后使用这一单个公网 IP 地址连接到外部网络,例如互联网。

本主题介绍 MCR 上的 NAT 如何专门用于支持到云服务提供商的公共 Peering 类型。

使用不同端口的多对一 NAT

MCR 支持 NAT 过载,也称为 Source Overload NAT 或 NAT Overload,这是一种多对一 NAT。其工作方式如下:

  • 源 NAT (SNAT) – 将多个私有 IP 地址转换为单个公网 IP 地址。
  • 端口地址转换 (PAT) – 分配唯一的源端口,以确保每个连接保持独立。

此配置支持到 Megaport Marketplace 合作伙伴及其他外部网络(例如互联网或云服务)的出站流量(出站连接)。

MCR 通常在两个网络连接的边界执行 NAT。例如,在将报文从内部网络转发到外部网络之前,MCR 会将私有的、非唯一的 IP 地址转换为单个全局唯一的公网 IP 地址。这种多对一转换使 MCR 仅需向外部通告一个 IP 地址,同时将多个私有源 IP 地址隐藏在 MCR 接口的 IP 地址之后。

虽然典型用例是在内部网络将私有 IP 地址转换为外部网络的公网 IP 地址,但这并非硬性要求。MCR 可根据需要在任一接口上转换任意 IP 地址——无论是私有还是公网。

注意

MCR 上的 NAT 与 Cisco 的 NAT 过载或 Checkpoint 的 Hide NAT 功能类似。

MCR 在 NAT 表中跟踪每个 IP 地址转换和端口分配,该表可处理数千个并发转换。当某个端口不再使用时,MCR 会将其释放并归还到可用端口池中。

此图展示了一个位于数据中心边缘的 MCR,通过 Virtual Cross Connect(VXC)私密连接到 Azure 平台即服务 (PaaSPaaS 供应商为应用开发人员提供开发环境。提供商通常会提供开发工具集、制定标准,并建立分发和支付渠道。在 PaaS 模式中,云服务提供商提供计算平台,通常包括操作系统、编程语言运行环境、数据库和 Web 服务器,用户无需管理任何底层操作系统或主机架构。
) 并接入 Azure 公共 Peering(称为 Microsoft Peering)。由于 Microsoft 仅通过 Microsoft Peering 接受公网 IPv4 地址,MCR 使用 NAT 将私有 IP 地址转换为公网地址。MCR 还提供了一个附加优势:该连接可使用 Megaport 的自治系统编号 (ASN) 和公开注册的 IP 地址空间

NAT

MCR NAT 示例

在此示例中,MCR 逻辑上位于客户数据中心 (10.100.0.0/16) 与 Azure (美国西部 13.100.0.0/16) 之间。发往 13.100.0.0/16 的报文会从数据中心发送到 MCR。

  1. 数据中心向 MCR 发送一个报文,源 IP 为 10.100.20.10,目标 IP 为 13.100.12.136。
    NAT 示例

  2. MCR 在其内部接口上接收该报文。出站时,MCR 执行 SNAT,将源 IP 地址 (10.100.20.10) 转换为其外部接口的本地 IP 地址 (117.18.84.113)。为创建唯一会话,MCR 还执行 PAT,并为该会话分配一个唯一的 TCP 或 UDP 源端口。目标 IP 和端口保持不变。
    NAT 示例

  3. 当 Azure 接收到该报文时,其源 IP 为 117.18.84.113。Azure 将报文转发到目标 13.100.12.136,并将响应返回到源地址 117.18.84.113。

  4. 假设 Azure 从 MCR 收到另一条报文,源 IP 为 10.100.5.16,目标 IP 为 13.100.14.27。MCR 仍对其执行 SNAT,将源转换为相同的 IP 地址 117.18.84.113。唯一的区别是由 MCR 自动分配的 TCP/UDP 源端口。

验证 NAT 分配

在你配置 Peering 类型后,MCR 会自动配置用于私有和公共 Peering 的 VLAN ID。 当从 MCR 向服务提供商开通 VXC 时,MCR 默认将私有 Peering 配置为 VLAN 100,将公共 Peering 配置为 VLAN 200。

此图显示了通过 VXC 连接到 Azure 的 MCR。在初始 VXC 配置期间,选择了 Microsoft 的 Private 和 Public Peering 类型。针对该配置,MCR 自动将 VLAN 100 配置为支持私有 Peering,将 VLAN 200 配置为支持公共的 Microsoft Peering。
NAT 验证

Network Address Translation (NAT)(网络地址转换 (NAT)) 字段出现在 Interface IP Addresses(接口 IP 地址)字段的右侧。NAT Source IP 地址是 MCR 外部接口的 IP 地址,任何报文都会被转换为该地址。

注意

当同一 MCR 上的多个 Azure VXC 使用相同的 VLAN 100 标签(私有 Peering)与相同的 VLAN 200 标签(公共 Peering)时,MCR 会为每个终止在该 MCR 上的 Azure VXC 管理 802.1Q 隧道,也称 Q-in-Q 隧道。每个 Azure VLAN 仍将是独立的逻辑接口。有关更多信息,请参阅 配置 Q-in-Q