简介
本文档介绍如何配置网络地址转换 (NAT) 以在具有重叠 IP 空间的不同网段上的服务器和客户端之间实现通信。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
注意:本文档适用于所有运行思科 IOS 的思科路由器和交换机。
背景信息
目的
在具有重叠 IP 空间的两个独立网段上的服务器和客户端之间实现通信(通常在网络合并时会见到这种情况)。
描述
具有相同 IP 空间的两个网络通过路由器 A 和路由器 B 连接(此处我们将使用环回接口以模拟连接的网络)。
路由器 A 和路由器 B 之间的 NAT 路由器在重叠 IP 网络空间之间实现通信。
配置
网络图
流量传输
- 当客户端发起流向服务器全局 IP 的流量时,流量命中 NAT 路由器并且被转发至该服务器;但当流量返回到 NAT 路由器时,该路由器无法转发流量,因为服务器 192.168.1.1 只在内部接口上被关联/获知。
- 要解决此问题,可以在外部源流量经过 NAT 路由器时对其进行掩蔽 (NAT)。
- 在内部和外部接口上启用 NAT。
interface Ethernet0/0
description Connection to Server
ip address 10.1.0.2 255.255.255.252
ip nat inside
end
!
interface Ethernet0/1
description Connection to Clients
ip address 10.2.0.2 255.255.255.252
ip nat outside
end
!
配置 NAT,将内部本地地址转换为内部全局地址。
ip nat inside source static 192.168.1.1 10.100.1.1 extendable
现在,配置 NAT 语句,在客户端源命中 NAT 外部接口时转换客户端源。
ip nat outside source static network 192.168.1.0 10.100.2.0 /24
路由配置
服务器的路由。请注意,服务器的特定路由已配置为指向LAN(Ethernet 0/0)
ip route 192.168.1.1 255.255.255.255 Ethernet0/0 10.1.0.1
为客户端网络执行路由:
ip route 192.168.1.0 255.255.255.0 Ethernet0/1 10.2.0.1
验证
使用本部分可确认配置能否正常运行。
*Aug 12 11:34:59.963: NAT*: o: icmp (192.168.1.10, 10) -> (10.100.1.1, 10) [42]
*Aug 12 11:34:59.963: NAT*: o: icmp (192.168.1.10, 10) -> (10.100.1.1, 10) [42]
*Aug 12 11:34:59.963: NAT*: s=192.168.1.10->10.100.2.10, d=10.100.1.1 [42]
*Aug 12 11:34:59.963: NAT*: s=10.100.2.10, d=10.100.1.1->192.168.1.1 [42]
*Aug 12 11:34:59.963: NAT*: i: icmp (192.168.1.1, 10) -> (10.100.2.10, 10) [42]
*Aug 12 11:34:59.963: NAT*: s=192.168.1.1->10.100.1.1, d=10.100.2.10 [42]
*Aug 12 11:34:59.963: NAT*: s=10.100.1.1, d=10.100.2.10->192.168.1.10 [42]
NAT-Router#
*Aug 12 11:34:59.964: NAT*: o: icmp (192.168.1.10, 10) -> (10.100.1.1, 10) [43]
*Aug 12 11:34:59.964: NAT*: s=192.168.1.10->10.100.2.10, d=10.100.1.1 [43]
*Aug 12 11:34:59.964: NAT*: s=10.100.2.10, d=10.100.1.1->192.168.1.1 [43]
*Aug 12 11:34:59.964: NAT*: i: icmp (192.168.1.1, 10) -> (10.100.2.10, 10) [43]
*Aug 12 11:34:59.964: NAT*: s=192.168.1.1->10.100.1.1, d=10.100.2.10 [43]
*Aug 12 11:34:59.964: NAT*: s=10.100.1.1, d=10.100.2.10->192.168.1.10 [43]
NAT-Router#
可以看到,当客户端发起流量 (192.168.1.10) 时,NAT 外部接口将外部全局流量转换为外部本地 (10.100.2.10) 流量,然后将流量路由至 NAT 内部接口。
NAT 内部接口现在将目的地址 (10.100.1.1) 转换为内部本地地址 (192.168.1.1) 并且流量流向服务器。
服务器接收源地址为 10.100.2.10 的流量。
故障排除
目前没有针对此配置的故障排除信息。
限制
在此设置中,仅客户端可以发起连接而且连接将会成功。
由于在外部本地接口上没有通过 NAT 转换为全局转换表的条目,因此无法从内部(即从服务器)发出流量,因为 NAT 会失败。