NAT技术二
一、         端口地址重定向:
如图所示,该企业申请ADSL上网,只获得了一个公有合法IP地址。为了企业的应用,可以使用端口地址重定向功能来完成。
NAT technology_Cisco
Router(config)#int e0                                                      (1)
Router(config-if)#ip add 10.1.1.254 255.255.255.0
Router(config-if)#ip nat inside
Router(config)#int e1
Router(config-if)#ip add 202.1.1.1 255.255.255.252
Router(config-if)#ip nat outside
Router(config)#ip nat inside source static tcp 10.1.1.1  80  202.1.1.1  80           (2)
Router(config)#ip nat inside source static tcp 10.1.1.2  21  202.1.1.1  21           (3)
Router(config)#ip nat inside source static tcp 10.1.1.2  20  202.1.1.1  20
Router(config)#access-list 1 permit 10.1.1.0 0.0.0.255                            (4)
Router(config)#ip nat inside source list 1 interface e1 overload                     (5)
Router(config)#ip route 0.0.0.0 0.0.0.0 202.1.1.2                                (6)
命令解释:
1):配置路由器接口IP地址及标记NAT的内部端口和外部端口
2):当外部用户访问服务器202.1.1.1:80,路由器使用静态NAT的方式转到10.1.1.1:80
3):当外部用户访问服务器202.1.1.1:21,路由器使用静态NAT的方式转到10.1.1.1:21(由于FTP问题较复杂,这儿仅以一种FTP的应用为例)
4):配置标准访问控制列表,匹配内部10.1.1.0/24网络的主机
5):配置PAT,允许内部10.1.1.0/24用户能够进行NAT转换
6):配置静态路由,使经过NAT转换后的数据包能够发送至ISP
 
二、         地址交叉(地址重叠):
如果两个网络当前的网络地址出现相同的情况,且目前又需要两个网络之间相互直接通讯。这种情况被称之为地址重叠。如下图所示:
NAT technology_地址转换_02
这时候可能出现多种情况:两个网络中都有双方需要访问的服务器
                        只有一方网络中有双方需要访问的服务器(如上图)
不同的网络情况,配置时略有不同。概括起来讲,解决这个问题有两种方案:
1、  静态转换
 Router(config)#ip nat inside source static network 10.1.1.0 192.168.1.0 /24   (1)
 Router(config)#ip nat outside source static network 10.1.1.0 192.168.2.0 /24  (2)
 Router(config)#ip route 0.0.0.0 0.0.0.0 e1
 Router(config)#int e0
 Router(config-if)#ip add 10.1.1.254 255.255.255.0
 Router(config-if)#ip nat inside
 Router(config)#int e1
 Router(config-if)#ip nat outside
 注解:(1):把内部网络10.1.1.0转换成192.168.1.0,也就是说,对于外部网络而言,内部网络的地址是192.168.1.0/24
       (2):把外部网络10.1.1.0传输来的数据全部修改成192.168.2.0网段,也就是说,对于内部网络而言,外部真实10.1.1.0网络被认为是192.168.2.0网络。
2、  动态转换
 Router(config)#access-list 1 permit 10.1.1.0 0.0.0.255
 Router(config)#ip nat pool in-pool 192.168.1.1 192.168.1.254 netmask 255.255.255.0
 Router(config)#ip nat pool out-pool 192.168.2.1 192.168.2.254 netmask 255.255.255.0
 Router(config)#ip nat inside list 1 pool in-pool
 Router(config)#ip nat outside list 1 pool out-pool
 Router(config)#ip route 0.0.0.0 0.0.0.0 e1
 Router(config)#int e0
 Router(config-if)#ip add 10.1.1.254 255.255.255.0
 Router(config-if)#ip nat inside
 Router(config)#int e1
 Router(config-if)#ip nat outside
 该配置所得到的效果静态转换一样。在此不再多说。
 
三、         负载分担(流量分配):
随着企业的发展,企业的WWW服务器访问的用户越来越多,一台服务器已经不能满足当前的需要,更换一台高端服务器价格不菲,这时候可以使用NAT的流量分担功能。来解决企业当前的问题。如图所示:两台Web服务器承担着相当的WWW服务功能。对于外部用户而言,他们只知道该企业的WWW地址是200.1.1.1
NAT technology_地址转换_03
基本配置如下:
Router(config)#ip nat pool wwwserver 10.1.1.1 10.1.1.2 prefix-length 24 type rotary
Router(config)#access-list 1 permit 200.1.1.1 0.0.0.0
Router(config)#ip nat inside destination list 1 pool wwwserver
Router(config)#int e0
Router(config-if)#ip nat inside
Router(config)#int e1
Router(config-if)#ip nat outside
第一条命令是用来建立一个内部服务器的地址池,一定要注意后面的type rotary,该参数用来分配流量。Access-list用来指定虚拟服务器地址。第三条命用来定义转换关系。最后在两个接口上调用NAT转换表。
注意,使用这种方法时,并不是最好的解决方案,相同的场景,以后会介绍更好的解决方案。
四、         控制NAT转换表大小:
1、  设置连接最大数量:该命令用来限制动态产生的转换表的条目
Router(config)#ip nat translation max-entries 最大数目
2、  设置超时值:动态产生的NAT转换条目,根据不同的服务有不同的超时值。
Router(config)#ip nat translation 协议时间 超时值