映射地址和端口 (MAP)

映射地址和端口 (MAP) 是将 IPv4 地址转换为 IPv6 的运营商级功能,因此流量可以通过服务提供商的 IPv6 网络发送,然后在服务提供商边缘转换回 IPv4。

关于映射地址和端口 (MAP)

映射地址和端口(映射)主要是在服务提供商(SP)网络中使用的一项功能。服务提供商可以运行 IPv6 网络、映射域,同时支持 IPv4 用户,以及与公共互联网上的 IPv4 站点通信的需要。映射在 RFC7597、RFC7598 和 RFC7599 中定义。

对于 MAP 域内的服务提供商来说,MAP 相对于 NAT46 的优势在于,用 IPv6 地址替换用户的 IPv4 地址(在 SP 网络边缘再返回到 IPv4)是无状态的。与 NAT46 相比,这提高了 SP 网络的效率。

有两种 MAP 技术:MAP 转换 (MAP-T) 和 MAP 封装 (MAP-E)。ASA 支持 MAP-T;不支持 MAP-E。

关于映射地址和端口转换 (MAP-T)

通过 MAP-T,用户的 IPv4 地址首先被转换为服务器提供商 (SP) 的公共 IPv4 地址,这可以是一对一的地址映射,也可以是与前缀或共享地址的映射。然后,该 IPv4 地址被转换为 MAP 域内的 IPv6 地址,数据包通过 SP IPv6 网络传输。在网络边缘,SP 的边界中继负责将 IPv6 地址转换回 SP 的 IPv4 地址,然后将数据包路由到公共 IPv4 网络。从公共 IPv4 网络到用户的流量则完全相反。

图 1. MAP-T 网络

MAP-T 网络图。

通过使用 MAP-T,您可以将 SP 网络过渡到纯 IPv6 架构,同时允许用户继续使用 IPv4 并与纯 IPv4 互联网或 SP 网络外的其他站点通信。

MAP-T 的行为类似于 NAT64 转换,但它使用的不是内嵌 IPv4 地址的 IPv6 地址,而是同时包含端口号的编码方案。因此,MAP-T 提供了一种限制设备使用端口范围的方法。

MAP-T 系统包括以下内容:

  • 客户边缘 (CE) 设备 - CE 是家庭网关(无线路由器、带路由器的电缆调制解调器等)。CE 提供 IPv4/IPv6 转换和本地 IPv6 转发功能。它有一个面向提供商的 IPv6 地址广域网接口和一个或多个使用专用 IPv4 地址寻址的局域网接口。您将配置一个或多个 MAP 域,供 CE 用于将 IPv4 数据包转换为 IPv6,反之亦然。

  • 边界中继 (BR) 设备 - 可将 ASA 安装为边界中继。BR 是 MAP 域边缘的提供方组件,支持 IPv4/IPv6 转换。BR 至少有一个支持 IPv6 的接口和一个连接 IPv4 网络的 IPv4 接口。您将配置一个或多个 MAP 域,供 BR 用于将 IPv4 数据包转换为 IPv6,反之亦然。必须使用相同的 MAP 域规则配置 CE 和 BR。

  • MAP 域 - MAP 域是一种机制,用于将一组 MAP-T CE 设备与一组 MAP-T BR 设备进行分组。域是分配给域的 BR 和 CE 设备之间共享的一组参数。在每个 BR 和 CE 设备上配置相同的域和相同的参数。

映射地址和端口 (MAP) 准则

防火墙模式准则

只能在路由模式下配置 MAP。不支持透明模式。

其他准则

  • ASA 在网状模式下不参与数据包转发。因此,不能在 MAP 域中配置转发映射规则 (FMR)。

  • MAP 不支持隧道 VPN、组播或任播流量。

  • 不能在给定连接上同时使用 NAT 和 MAP。确保 NAT 和 MAP 规则不重叠。如果有重叠的规则,则会出现意外结果。

  • 以下检测不支持 MAP 转换。不会转换进行这些检测的数据包。

    • CTIQBE

    • DCERPC

    • Diameter

    • WINS 名称解析

    • GTP

    • H.323 和 H.225 和 H.245 和 RAS

    • ILS (LDAP)

    • 即时消息

    • IP 选项 (RFC 791、2113)

    • IPSec 穿透

    • LISP

    • M3UA

    • MGCP

    • MMP

    • NetBIOS

    • PPTP

    • RADIUS 记账

    • RSH

    • RTSP

    • SIP

    • SKINNY

    • SMTP 和 ESMTP

    • SNMP

    • SQL*Net

    • STUN

    • Sun RPC

    • TFTP

    • WAAS

    • XDMCP

    • 活动 FTP

配置 MAP-T 域

要配置 MAP-T,您需要创建一个或多个域。在客户边缘 (CE) 和边界中继 (BR) 设备上配置 MAP-T 时,请确保将参与每个域的每台设备使用相同的参数。

您最多可以配置 25 个 MAP-T 域。在多情景模式下,您最多可以在每个情景中配置 25 个域。

过程


步骤 1

创建(或编辑)MAP 域。

map-domain 名称

其中,名称为最多 48 个字符的字母数字字符串。该名称还可以包含以下特殊字符:句点 (.)、斜线 (/) 和冒号 (:)。

示例:


ciscoasa(config)# map-domain 1
ciscoasa(config-map-domain)# 

步骤 2

配置默认映射规则。

default-mapping-rule ipv6_prefix/prefix_length

根据 RFC 6052,指定用于嵌入 IPv4 目标地址的 IPv6 前缀。前缀长度通常应为 64,但允许的值为 32、40、48、56、64 或 96。嵌入式 IPv4 地址后的任何尾部位都将设置为 0。

边界中继 (BR) 设备使用此规则将 MAP 域外的所有 IPv4 地址转换为 MAP 域内的 IPv6 地址。

示例:


ciscoasa(config-map-domain)# default-mapping-rule 2001:DB8:CAFE:CAFE::/64

步骤 3

配置基本映射规则。

客户边缘 (CE) 设备使用基本映射规则确定其专用 IPv4 寻址或共享地址和端口集分配。CE 设备首先将系统的 IPv4 地址转换为池前缀和端口范围内的 IPv4 地址和端口(使用 NAT44),然后 MAP 将新的 IPv4 地址转换为由规则的 IPv6 前缀定义的池内的 IPv6 地址。然后,数据包就可以通过服务提供商的纯 IPv6 网络传输到边界中继 (BR) 设备。

  1. 进入基本映射规则配置模式。

    basic-mapping-rule

  2. 配置 IPv4 前缀。

    ipv4-prefix ipv4_network_address netmask

    IPv4 前缀定义客户边缘 (CE) 设备的 IPv4 地址池。CE 设备首先将其 IPv4 地址转换为 IPv4 前缀定义的池中的地址(和端口号)。然后,MAP 会使用默认映射规则中的前缀将新地址转换为 IPv6 地址。

    指定网络地址和子网掩码,例如 192.168.3.0 255.255.255.0。不能在不同 MAP 域中使用相同的 IPv4 前缀。

  3. 配置 IPv6 前缀。

    ipv6-prefix ipv6_prefix/prefix_length

    IPv6 前缀定义 CE 设备 IPv6 地址的地址池。只有当数据包的目标地址具有该前缀,源地址具有默认映射规则中定义的 IPv6 前缀,且在正确的端口范围内时,MAP 才会将 IPv6 数据包翻译回 IPv4。任何从其他地址发送到 CE 设备的 IPv6 数据包都会被简单地作为 IPv6 流量处理,而不会进行 MAP 转换。来自 MAP 源/目的池但端口超出范围的数据包会被直接丢弃。

    指定 IPv6 前缀和前缀长度,通常为 64,但不能小于 8。不能在不同 MAP 域中使用相同的 IPv6 前缀。

  4. 配置起始端口。

    start-port 数字

    转换地址的端口池中的第一个端口。指定的端口必须是 2 的次幂,范围是 1-32768,例如 1、2、4、8 等。如果要排除知名端口,请从 1024 或更高的端口开始。

  5. 配置端口比率,该比率决定端口池中有多少个端口。

    share-ratio 数字

    指定池中应包含的端口数。数字必须是 2 的幂,范围为 1-65536,例如 1、2、4、8 等。

示例:


ciscoasa(config-map-domain)# basic-mapping-rule
ciscoasa(config-map-domain-bmr)# ipv4-prefix 192.168.3.0 255.255.255.0
ciscoasa(config-map-domain-bmr)# ipv6-prefix 2001:cafe:cafe:1::/64
ciscoasa(config-map-domain-bmr)# start-port 1024
ciscoasa(config-map-domain-bmr)# share-ratio 16

示例


ciscoasa(config)# map-domain 1
ciscoasa(config-map-domain)# default-mapping-rule 2001:DB8:CAFE:CAFE::/64
ciscoasa(config-map-domain)# basic-mapping-rule
ciscoasa(config-map-domain-bmr)# ipv4-prefix 192.168.3.0 255.255.255.0
ciscoasa(config-map-domain-bmr)# ipv6-prefix 2001:cafe:cafe:1::/64
ciscoasa(config-map-domain-bmr)# start-port 1024
ciscoasa(config-map-domain-bmr)# share-ratio 16

监控 MAP

以下主题介绍如何监控 MAP 配置和活动。

验证 MAP 域配置

您可以查看映射域及其状态,以验证配置是否正确。

show map-domain 命令显示 MAP 配置(类似于 show running-config map-domain 命令),但也可指示域配置是否有效。在以下示例中,有两个域:1 和 2。输出结果说明 MAP 域 2 不完整,因此未激活。


MAP Domain 1
  Default Mapping Rule
    IPv6 prefix 2001:db8:cafe:cafe::/64
  Basic Mapping Rule
    IPv6 prefix 2001:cafe:cafe:1::/64
    IPv4 prefix 192.168.3.0 255.255.255.0
    share ratio 16
    start port 1024
    PSID length 4
    PSID offset 6
    Rule EA-bit length 12

MAP Domain 2
  Default Mapping Rule
    IPv6 prefix 2001:db8:1234:1234::/64

Warning: map-domain 2 configuration is incomplete and not in effect.

监控 MAP 系统日志消息

如果启用了系统日志,则可以通过以下系统日志消息监控 MAP 行为:

  • 305018:从接口名称:源 IP 地址/源端口-目标 IP 地址/目标端口接口名称的 MAP 转换:转换后的源 IP 地址/转换后的源端口-转换后的目标 IP 地址/转换后的目标端口

    进行了新的 MAP 转换。消息中会显示原始的和转换后的源及目标。

  • 305019:MAP 节点地址 IP 地址/端口的端口集 ID 编码不一致

    数据包中的地址与 MAP 基本映射规则相匹配(意味着需要转换),但地址中编码的端口集 ID 不一致(根据 RFC7599)。这可能意味着该数据包所在的 MAP 节点出现了软件故障。

  • 305020:地址 IP 地址的 MAP 节点不允许使用端口端口

    数据包中的地址与 MAP 基本映射规则相匹配(意味着它需要转换),但关联端口不在分配给此地址的范围内。这可能意味着发起此数据包的 MAP 节点配置有误。

MAP 的历史记录

功能名称

平台版本

说明

映射地址和端口转换(MAP-T)

9.13(1)

映射地址和端口(映射)主要是在服务提供商(SP)网络中使用的一项功能。服务提供商可以运行 IPv6 网络、映射域,同时支持 IPv4 用户,以及与公共互联网上的 IPv4 站点通信的需要。映射在 RFC7597、RFC7598 和 RFC7599 中定义。

引入或修改了以下命令:basic-mapping-rule default-mapping-rule ipv4-prefix ipv6-prefix map-domain share-ratio show map-domain start-port