网络地址转换(NAT
 
一、NATnetwork address translation)的概念和术语
1、  NAT的应用
网络地址转换(NATnetwork address translation)通过将内部网络的私有地址IP地址转换成全球唯一的公网Ip地址,使内部网络可以连接到互联网等外部网络上广泛应用于各种类型因特网介入方式和各种类型的网络中。
2、  NAT的实现方式
NAT的实现方式有三种:
l 静态的转换(static translation
l 动态的转换(dynamic translation
l 端口多路复用(port address translationPTI
静态转换就是将公司内部网络的私有IP地址转换成公司合法的IP地址,IP地址的对应关系是一对一的,是不变的,即某个私有IP地址转换成合法的公网IP地址。
动态的转换将公司内部网络的地址转换到公有的合法的IP地址,IP地址的对应关系是变化的,随即的,不确定的,所有的授权访问因特网的私有IP地址可以随机的转换成任何特定的合法的IP地址。
端口的多路复用是改变外出数据包的源Ip地址和端口,并进行端口转换,即端口地址转换采用端口的多了复用。
3、  NAT的术语
1)        内部局部IP地址(inside local IP address
在内部网络中分给主机的私有IP地址
2)        内部全局IP地址(inside global IP address
一个合法的IP地址,它对外代表一个或多个内部局部的Ip地址(一般有ISP服务商提供)
3)        外部局部IP地址(outside local IP address
外部主机表现在内部网络的IP地址
4)        外部全局IP地址(outside global IP address
由其所有者分给外部网络主机分配的Ip地址
5)        简单的转换条目(simple translation entry
将一个IP地址映射到另一个IP地址转换条目
6)        扩展的转换条目(entended translation entry
映射IP地址和端口到另一个Ip地址和端口的条目
 
二、NAT的作用
1NAT支持的数据流
支持的业务类型和应用
支持在数据流中有
IP
地址的业务类型
不支持的
业务类型
任何应用数据流中不承载源/目的IP地址的TCP/UDP业务
ICMP
路由表更新
HTTP
FTP(包括PORT PASV)
DNS区域传送
TFTP
TCP/IP上的NetBIOS(数据报、名称和会话服务
BOOTP
Telnet
DNSAPTR查询)
talkntalk
NTP
H.323/NetMeeting
SNMP
NFS
IP多播(只转换源地址)
Netshow
 
三、转内部LAN的地址
使用NAT转换内部局部地址,就是在内部局部地址和内部全局地址之间建立一个映射
在下面的一个例子中,内部局部地址段10.1.1.0/24经过NAT转换成192.168.2.0的内部全局地址。
 
 
 
四、复用内部的LAN的地址
复用内部的全局地址,就是通过准许TCP链接或UDP的会话端口进行转换,从而节省
内部全局地址,集中启用合法的地址。前面已经介绍,当多个不同的内部不同的局部地址映射到同一个内部全局地址时,使用各个内部主机的TCPDUP端口号进行分配他们。
   在下面的一个例子中,将一个全局的地址用于同时代表多个内部局部地址,图中,将内部局部地址10.1.1.0/24复用到192.168.2.2这个地址上,在这种情况下,NAT采用扩展的转换条目表,在该表中,Ip地址和端口号就可以唯一的表示各个内部的主机,用端口来区分内部主机,实际上就是在端口地址转换(PAT.PATNAT的一个子集。
 
五、TCP的负载均衡
TCP负载均衡就是利用NAT技术,用对外的Ip地址来代表多个同样的服务器,就如
同他们一个服务器一样。在下图中,外部设备需要连接一个地址为10.1.1.127的服务器,TCP的数据包发个一个服务器组,该服务器组由同一个Ip地址10.1.1.127所代表,NAT通过循环的方式轮流转换3个相同服务器的实际地址。实际上,在内部有3个与之向对应的服务器,NAT以循环的方式轮流在他们之间分配会话。下面一个例子利用NAT来实现TCP的负载均衡的过程。
 
六、NAT的配置
1、  NAT的一般配置步骤
1)      接口IP地址配置
2)      使用访问控制列表定义哪些内部主机能做NAT
3)      决定采用什么公有地址,静态或地址池
4)      指定地址转换映射
5)      在内部和外部端口上启用NAT
2、    NAT的接口
NAT分为内部接口和外部接口:内部接口用于连接内部的局域网络,外部接口用于连接外部的网络。
3、静态NAT的配置
 
要求;将内部的网络地址192.168.100.2——192.168.100.6转换成合法的外部网络地址61.159.62.130-61.159.62.134,步骤如下;
1)设备外部接口地址
   Router(config)#interface serial0/0
   Router(config-if)#ip address 65.159.62.129 255.255.255.248
2)设置内部接口地址
   Router(config)#interface f0/0
   Router(config-if)#ip address 192.168.100.1 255.255.255.0
3)在内部局部和内部全局地址之间建立静态地址转换
   Router(config)#ip nat inside source static local-ip global-ip
   在本例子中用到一些命令:
   Router(config)#ip nat inside source static 192.168.100.2 61.159.62.130
   Router(config)#ip nat inside source static 192.168.100.3 61.159..62.131
   Router(config)#ip nat inside source static 192.168.100.3 61.159.62.132
   Router(config)#ip nat inside source static 192.168.100.4 61.159.62.133
   Router(config)#ip nat inside source static 192.168.100.5 61.159.62.134
   Router(config)#ip nat inside source static 192.168.100.6 61.159.62.135
4)在内部和外部端口上启用NAT
    设置NAT的功能的路由器需要有一个内部端口和一个外部端口,内部端口用于连接内部网络外部端口用于连接外部网络。要使NAT生效,必须在两个端口上启用。
Router(config)#interface serial 0/0
Router(config-if)#ip nat outside
Router(config)#interface f0/0
Router(config-if)#ip nat inside