以下内容摘自《路由器配置与管理完全手册——Cisco篇》一书。
在Cisco NAT路由器中可以配置多种形式的NAT地址转换,但总体来说就是两种:静态NAT和动态NAT。在动态NAT中又有一种特殊的NAT形式,那就是重载(Overloading)NAT,也就是通常所说的PAT(端口地址转换)。而还有一种针对内部网络中也使用公网注册IP地址的这种特定网络配置情形的NAT转换形式,也就是后面将要介绍的重叠(Overlapping)NAT。它既可以静态NAT方式部署,也可以动态NAT方式部署。尽管在NAT的两端都可以是专用网络,但更多的是专网与公网之间的转换,所以在此仅以专网与公网的NAT转换为例介绍以上这几种Cisco NAT类型。
n 静态NAT(Static NAT)
静态NAT是把非注册IP地址(如本地局域网IP地址)一对一地映射到公网注册IP地址(如互联网IP地址)。这在网络设备需要以互联网IP地址访问外网时特别有用。但一定要注意,这里仅例举了单一的正方向的IP地址转换,实际上是可以反方向,或者双方向进行IP地址转换的,下面的动态NAT和复用NAT也一样可以有正向、反向、或者双向转换方式。
如图5-4显示的是一个静态NAT应用示例(注意箭头方向)。路由器内、外两个网络,左侧内部网络中的192.168.32.10、192.168.32.12和192.168.32.15这三台主机使用的私有网络IP地址,通过路由器的NAT功能最终对应转换成213.18.123.110、213.18.123.11和213.18.123.12这三个公网IP地址,让对方看到的也是这三个公网IP地址。
图5-4 静态NAT应用示例
n 动态NAT(Dynamic NAT)
动态NAT是把一个非注册IP地址动态地映射到一个注册IP地址池中的一个地址。具体映射是哪两组IP地址之间的映射关系,还要看所配置的具体公用IP地址池和通信时间。但最终非注册IP地址与注册IP地址还是一对一地进行映射。
图5-5是一个动态NAT应用的示例。内网中的三个IP地址与一个范围为213.18.123.100 到213.18.123.150的公网IP地址池进行动态映射。最终的结果是,192.168.32.10映射为213.18.123.116,192.168.32.12映射为213.18.123.112,而192.168.32.15映射为213.18.123.125,……。
图5-5 动态NAT应用示例
n 重载或复用(Overloading)NAT(或称PAT)
重载NAT是动态NAT的一种形式。它是通过与IP地址的不同端口组合,把多个非注册IP地址映射到一个注册IP地址,也就是通常所说的“PAT”(Port Address Translation,端口地址转换)。通过PAT,则数千内网用户都可以仅通过一个公网IP地址访问Internet。
图5-6是一个重载NAT的应用示例。示例中本地网络中的所有用户通过路由器访问公用网络时,都将映射成同一个公网IP地址——213.18.123.100,只是所使用的端口不同而已(分别为101、102、103号端口)。这对于公网IP地址比较紧张,而内网中又部署了多种应用服务器时特别有用,可以通过一个公网IP地址配置多个应用服务器。
图5-6 重载NAT应用示例
n 重叠(Overlapping)NAT
当内部网络中使用的IP地址是外部网络中注册的IP地址时(也就是内、外部网络使用的是相同IP地址段时),路由器需要维护一张查询表,以便截取来自内部网络的数据包,并用外部网络中没有使用的注册IP地址进行替换。但要注意,NAT路由器必须转换内部网络本地地址为注册的唯一(也就是没有被使用的)IP地址,同时也必须转换外部网络本地址为内部网络中唯一的IP地址。这既可以通过静态NAT,又可以通过使用DNS和动态NAT来实现。
【经验之谈】重叠NAT主要应用于使用公网IP地址的内部网络服务器的地址转换,这样的可以隐藏内部网络服务器的真实公网IP地址,有利于保护服务器的安全。因为经过NAT转换后,内部网络服务器对外呈现的是另一个公网IP地址,不是真实的服务器IP地址。
图5-7显示了一个重叠NAT的应用示例。在内部网络中使用的IP地址段为237.16.32.xx(也是注册的公网IP地址),而外部网络主机也是使用这个地址段。这时,NAT路由器需要转换内部网络中的本地IP地址(如237.16.32.10)为一个区别于外部网络的另一网段的全局地址(如213.18.123.103),以避免与外部网络中的用户造成潜在的冲突。同时在由外部网络向内部网络发送数据时,NAT路由器也将转换内部全局地址(如213.18.123.103)为内部本地地址(如237.16.32.10)。
图5-7 重叠NAT应用示例