本文档介绍不同类型的网络地址转换(NAT),并将每种类型的NAT映射到支持该类型的相关ONS 15454软件版本。
Cisco 建议您了解以下主题:
Cisco ONS 15454
CTC
NAT
本文档中的信息基于以下软件和硬件版本:
所有Cisco ONS 15454版本
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
在现场的许多情况下,不同的NAT场景都在运行,无法正常工作。您可以通过症状来识别其中的大多数情况。大多数问题都源于网元(NE)无法启动与思科传输控制器(CTC)工作站的连接。
通常,当CTC不支持NAT的特定配置时,CTC会以特定间隔持续丢弃并重新连接到节点。在较新版本中,CTC可以从断开连接中恢复,而不会从视图中删除。在此类版本中,在通过CTC与节点交互时,您可以注意到此问题。
由于访问列表决定安全性的外部防火墙配置不正确,也会出现相同的症状。访问列表不允许NE向CTC工作站发起与已定义的IP地址和/或端口的某些连接或从这些IP地址和/或端口发起某些连接。当外部防火墙超时设置太短时,也会频繁断开连接。
有关可与ONS 15454配合使用的防火墙访问列表示例,请参阅Cisco ONS 15454参考手册5.0版的外部防火墙部分。
NAT允许单台设备(例如路由器)充当Internet和本地网络之间的代理。本节介绍各种类型的NAT。
有关详细信息,请参阅RFC 2663 - IP网络地址转换器术语和注意事项 。
传统NAT允许私有网络中的主机透明地访问外部网络中的主机。传统NAT从专用网络发起出站会话。
本节简要介绍传统NAT的两种变体:
基本 NAT:基本NAT会保留一个外部地址块。当主机发起与外部域的会话时,基本NAT使用这些地址转换私有域中主机的地址。
网络地址端口转换(NAPT):NAPT将翻译概念进一步扩展。NAPT还转换传输标识符,例如TCP和UDP端口号,以及ICMP查询标识符。这种转换将多个专用主机的传输标识符多路复用到单个外部地址的传输标识符中。
注意:NAPT也称为端口地址转换(PAT)。
外部网络中的设备与内部设备一起发起事务。为了允许此启动,NAT的基本版本经过增强,包括高级功能。此增强功能通常称为双向NAT,但也称为双向NAT和入站NAT。使用双向NAT,您可以从公共网络和专用网络中的主机发起会话。当您在任何一个方向静态或动态地建立连接时,专用网络地址必须是全局唯一地址。
入站事务上的NAT性能比出站NAT更加困难。原因是内部网络通常知道外部设备的IP地址,因为这些设备是公有的。但是,外部网络不知道内部网络的私有地址。即使外部网络知道专用网络的IP地址,您也永远无法将这些IP地址指定为您从外部发起的IP数据报的目标,因为它们不可路由。
您可以使用以下两种方法之一解决隐藏地址问题:
静态映射
TCP/IP域名系统(DNS)
注意:在本文档中,双向NAT表示基本NAT,但基本NAT并不表示双向NAT。
两次NAT是NAT的变体。当数据报跨过地址领域时,两次NAT会同时修改源地址和目的地址。此概念与传统NAT和双向NAT形成对比,后者仅转换其中一个地址(源或目标)。
下表显示了ONS 15454和NAT兼容性:
NAT的类型 | CTC看到 | 网关网元(GNE)看到 | 支持的CTC版本 |
---|---|---|---|
基本 NAT | GNE IP | 转换后的IP | 3.3 版 |
NAPT | GNE IP | 转换后的IP | 4.0 版 |
双向NAT | 转换后的IP | CTC IP | 5.0 版本 |
两次NAT | 转换后的IP | 转换后的IP | 5.0 版本 |
如果NE和CTC之间出现通信问题,则fhDebug命令的输出包含以下错误消息:
OCT 27 18:35:37.09 UTC ERROR ObjectChange.cc:432 tEventMgr CORBA::NO_IMPLEMENT/0x3d0004 updating [192.168.1.100:EventReceiver]. Marking c OCT 27 18:36:17.09 UTC DEBUG AlarmImpl.cc:353 tEventMgr Removing corba client [192.168.1.100:EventReceiver] from auton msg list
导致此错误的原因有多种。但是,如果错误以固定可预测间隔(通常约2或约4分钟)发生,则原因可能是存在CTC不支持的NAT类型,或者防火墙没有必要的端口权限。
请注意,172.16.1.100是CTC工作站的IP地址,10.1.1.1是NAT地址(见图1)。
图1 -拓扑
以下是inetstatShow命令的部分输出:
-> inetstatShow Active Internet connections (including servers) PCB Typ Rx-Q Tx-Q Local Address Foreign Address (state) ------- --- ---- ---- ----------------- --------------- ------- 2145984 TCP 0 0 10.10.10.10:1052 10.1.1.1:1029 SYN_SENT 21457f8 TCP 0 0 10.10.10.10:80 10.1.1.1:1246 TIME_WAIT 2145900 TCP 0 0 10.10.10.10:57790 10.1.1.1:1245 ESTABLISHED --- ISP assigned address 21453d8 TCP 0 0 10.10.10.10:80 10.1.1.1:1244 TIME_WAIT 2144f34 TCP 0 0 10.10.10.10:80 10.1.1.1:1238 TIME_WAIT 2144eb0 TCP 0 0 10.10.10.10:1080 10.1.1.1:1224 ESTABLISHED --- ISP assigned address
此输出未显示此地址的证据。输出显示ISP使用的公有地址,这是传统NAT场景的证据。
为了识别双向NAT和两次NAT,您需要从与CTC工作站相同的网段进行嗅探器跟踪。理想情况下,在CTC工作站上运行嗅探器最合适。