简介
本文档通过一个配置示例介绍如何在 Cisco IOS® 设备上实施静态 NAT-PT。在此示例中,IPv6 网络节点通过 IPv6 前缀和 IPv4 地址之间的静态映射与 IPv4 网络节点通信。该静态映射在网络地址转换-协议转换 (NAT-PT) 路由器上配置。
NAT-PT 功能是一种 IPv6 与 IPv4 间的转换机制,使仅支持 IPv6 的设备可以与仅支持 IPv4 的设备进行通信,反之亦然。与传统 IPv4 NAT 类似,NAT-PT 允许静态、动态和端口地址转换 (PAT) 操作,以实现在仅支持 IPv6 的网络和仅支持 IPv4 的网络之间进行直接通信。
先决条件
要求
Cisco 建议您了解以下主题:
-
关于 NAT 概念和操作的基础知识
-
关于 IPv6 寻址方案的基础知识
-
关于 IPv6 静态路由的基础知识
注意:NAT-PT 已被 IETF 弃用,因为它与域名系统 (DNS) 紧密结合,并且在转换方面存在一般性限制,而且事实证明此技术过于复杂以致无法维持可扩展的转换服务。随着NAT-PT的弃用和用户之间IPv6转换的增加,NAT64应运而生。有关NAT64的详细信息,请参阅以下文档:
-NAT64 技术:连接 IPv6 和 IPv4 网络
-NAT64 无状态与有状态
-IPv6 有状态 NAT64 配置示例
使用的组件
本文所述的配置基于运行 Cisco IOS 软件版本 12.4 (15)T 13 的思科 3700 系列路由器。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
配置
在此示例中,三台路由器(R1、R2 和 R3)通过串行接口连接。R1 充当 NAT-PT 路由器,使用 IPv4 地址连接到 R2,并使用 IPv6 地址连接到 R3。
注意:思科快速转发 (CEF) 技术不支持 NAT-PT。必须禁用 CEF,才能使 NAT-PT 正常工作。
网络图
此示例使用下图中所示的网络设置:
配置
此示例使用以下配置:
R1 的配置 |
hostname R1
ipv6 unicast-routing
!
interface Serial0/0
ip address 192.168.30.10 255.255.255.0
duplex auto
speed auto
ipv6 nat
!
interface Serial0/1
no ip address
duplex auto
speed auto
ipv6 address 2001:DB8:3002::9/64
ipv6 enable ipv6 nat
!
ipv6 route ::/0 2001:DB8:3002::10
ipv6 nat v4v6 source 192.168.30.9 2000::960B:202
!--- Translates the ipv4 add of R2 fa0/0 to ipv6 address.
ipv6 nat v6v4 source 3001:11:0:1::1 150.11.3.1
!--- Translates the ipv6 add of loop0 of R3 to ipv4 address.
ipv6 nat prefix 2000::/96
!--- The destination prefixes that matches 2000::/96 !--- are translated by NAT-PT.
!
end |
R2 配置 |
hostname R2
!
interface Serial0/0
ip address 192.168.30.9 255.255.255.0
duplex auto
speed auto
!
ip route 0.0.0.0 0.0.0.0 192.168.30.10
!
!
end |
R3 配置 |
hostname R3
ipv6 unicast-routing
!
interface Loopback0
no ip address
ipv6 address 3001:11:0:1::1/64
!
interface Serial0/0
no ip address
duplex auto
speed auto
ipv6 address 2001:DB8:3002::10/64
!
ipv6 route ::/0 2001:DB8:3002::9
! |
验证
使用本部分可确认配置能否正常运行。
在路由器R3中
从R3的Loopback0接口(3001:11:0:1::1)的IPv6地址(R3)生成的ICMP回应请求数据包应使用IPv6地址2000到达R2的Serial0/0接口(192.168.30.9)的IPv4地址::960B:202。工作示例如下所示:
ping |
R3#ping 2000::960b:202 source Loopback0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2000::960B:202, timeout is 2 seconds:
Packet sent with a source address of 3001:11:0:1::1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/60/124 ms
!--- This shows that the router R3 is able to reach !--- the router R2 through lo address 3001:11:0:1::1.
|
在路由器R2中
R2生成的ICMP回应请求数据包(将自动从192.168.30.9(R2的Serial0/0接口的IPv4地址)到达R3的Loopback0接口(3001:11:0:1::1)的IPv6地址,使用IPv4地址150.11.3.1。工作示例如下所示:
ping |
R2#ping 150.11.3.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 150.11.3.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 24/68/120 ms
!--- The successful ping response shows that the router R2 !--- is able to reach the IPv6 network.
|
在路由器R1中
在 R1 上,可以通过 show ipv6 nat translations 命令的输出来观察 R2 和 R3 之间的活动 NAT-PT 转换。
show ipv6 nat translations |
R1#show ipv6 nat translations
Prot IPv4 source IPv6 source
IPv4 destination IPv6 destination
--- --- ---
192.168.30.9 2000::960B:202
--- 150.11.3.1 3001:11:0:1::1
--- ---
R1#show ipv6 nat translations
Prot IPv4 source IPv6 source
IPv4 destination IPv6 destination
--- --- ---
192.168.30.9 2000::960B:202
--- 150.11.3.1 3001:11:0:1::1
--- ---
!--- This command displays the active NAT-PT translations in the router.
|
在 R2 和 R3 之间执行 ICMP ping 操作时,使用 debug ipv6 nat detail 命令激活详细的 IPv6 NAT 调试,结果显示 R1 按照预期正常转换流量。
debug ipv6 nat detailed |
R1#debug ipv6 nat detailed
R1#
*Mar 1 09:12:41.877: IPv6 NAT: Found prefix 2000::/96
*Mar 1 09:12:41.881: IPv6 NAT: IPv4->IPv6:
src (192.168.30.9 -> 2000::960B:202)
dst (0.0.0.0 -> ::)
ref_count = 1, usecount = 0, flags = 513,
rt_flags = 0, more_flags = 0
*Mar 1 09:12:41.881: IPv6 NAT: IPv4->IPv6:
src (0.0.0.0 -> ::)
dst (150.11.3.1 -> 3001:11:0:1::1)
ref_count = 1, usecount = 0, flags = 257,
rt_flags = 0, more_flags = 0
*Mar 1 09:12:41.925: IPv6 NAT: IPv6->IPv4:
src (3001:11:0:1::1 -> 150.11.3.1)
dst (2000::960B:202 -> 192.168.30.9)
ref_count = 1, usecount = 0, flags = 2,
rt_flags = 0, more_flags = 0
*Mar 1 09:12:41.925: IPv6 NAT: icmp src (3001:11:0:1::1) -> (150.11.3.1),
dst (2000::960B:202) -> (192.168.30.9)
*Mar 1 09:12:41.965: IPv6 NAT: Found prefix 2000::/96
*Mar 1 09:12:41.965: IPv6 NAT: IPv4->IPv6:
src (192.168.30.9 -> 2000::960B:202)
dst (150.11.3.1 -> 3001:11:0:1::1)
ref_count = 1, usecount = 0, flags = 2,
rt_flags = 0,
!--- This command displays detailed information about NAT-PT events.
|
|
故障排除
目前没有针对此配置的故障排除信息。
相关信息