网络地址转换NAT
NAT的作用:
增加IPv4的地址数量,解决私网地址不能上网的问题。
NAT的概念:
通过将内部网络的私网IP地址翻译成全球唯一的公网IP地址。
原理
原理:
就是将内部本地转换为内部全局的地址,即将私网地址转换为公网地址去上网。
NAT术语:
内部本地(局部) 在内部网络中分配给主机使用的私有ip地址
内部全局 该地址通常是从全球统一可寻址的地址空间中分配的,一般由互联网服务同上(ISP)提供
外部全局 外部网络上的主机分配的ip地址。该地址也是从全球统一可寻址的地址空间中分配的
外部本地(局部) 外部主机表现在内部网络的ip地址
简单转换条目 将一个ip地址映射到另一个ip地址的转换条目
扩展转换条目 映射ip地址和端口到另一对ip地址和端口的条目
NAT的优点:
1、节省公网地址
2、增强灵活性、安全性
3、处理重叠的地址
缺点:
1、延迟增大
2、配置和维护的复杂性
3、不支持某些应用
NAT的实现方式:(分类)
1、静态转换(Static translation)静态NAT
2、动态转换(Dynamic translation)动态NAT
3、端口地址转换(Port Address Translation,PAT)
一、静态转换
将内部网络的私有ip地址转换为公用合法的ip地址,ip地址的对应关系是一对一的,而且是不变的。
主要用在内部网络中有对外提供服务的服务器
缺点:需要独占宝贵的合法ip地址。
如果某个合法ip地址已经被NAT静态地址转换定义,即该合法ip地址当前没有被使用,也不能被用作其它的地址转换。
二、动态NAT
将内部网络的私有地址转换为公网地址进行一对一的转换。但是,是从公网地址池中选择一个未使用的地址对内部私有地址进行转换。
优点:随机的
缺点:不节约、不固定的。
三、端口地址转换
也被称为复用地址转换(PAT)
也是一种动态的地址转换。
工作过程:路由器改变外出数据包的源ip地址和源端口,并进行端口转换,即采用端口多路复用方式,通过这种转换,可以使多个内部私有ip地址同时与同一个公网ip地址进行转换并对外部网络进行访问。
一个公网地址对应多个私网地址。
优点:
1、节约公网ip地址
2、隐藏内部的所有主机,避免******。
理想状况下,一个单一的IP地址可以使用的端口数为4000个。
四、NAT配置
1、静态NAT配置步骤:
(1)先设置外部端口的ip地址
(2)再设置内部端口的ip地址
(3)在全局配置模式下:
ip nat inside source static 内部本地ip地址 内部全局ip地址 [extended]
注:extended(可选)表示允许同一个内部局部地址映射到多个内部全局地址。
例子:ip nat inside source static 192.168.100.2 61.159.62.130
将内部局部地址192.168.100.2转换为内部全局地址61.159.62.130
ip nat inside source static 192.168.10.10 202.10.168.130
(4)在内部和外部端口上启用NAT
将端口设置为内部端口或者外部端口
int f0/0
ip nat outside ##将当前端口设置为外部端口
exit
int f1/1
ip nat inside ##将当前端口设置为内部端口
exit
(4)配置路由。
2、NAT端口映射
(1)先给所有的端口设置ip地址
(2)在全局配置模式下配置端口映射,配置命令如下:
ip nat inside source static tcp/udp 私网地址 端口号 公网地址 端口
意义:将TCP或UDP协议中私网地址需要转换的端口转换成公网地址的端口号。
例子:ip nat inside source static tcp 192.168.10.10 80 192.168.20.20 8080
将Web服务器192.168.10.10的80端口转换成192.168.20.20的8080端口。
注:NAT端口映射还可以将不同服务器的不同服务(端口)映射到同一公网地址的不同端口,给人的感觉就是通过同一个地址访问了所有的服务器。
3、动态NAT
(1)先设置路由的所有端口的ip地址
(2)在全局配置模式下,定义内部网络中允许访问外部网络的ACL
(3)在全局配置模式下,定义合法ip地址池
配置命令如下:
ip nat pool 地址池名称 起始地址 终止地址 netmask 子网掩码 type rotary
(4)实现网地址转换,配置命令如下:
ip nat inside source list ACL列表号 pool 地址池名称 overload(反复用)
意义:将ACL列表中的地址转换为地址池名称中定义的地址
例子:
ip nat inside source list 1 pool test0
将ACL1中的局部地址转换为test0地址池定义的全局地址
注:如果有多个地址池的话,也可以一一添加,以增加合法地址池的数量范围。
ip nat inside source list 1 pool test1
ip nat inside source list 1 pool test2
以此类推。
(5)在内部和外部端口上启用NAT
(6)配置路由
4、PAT
(1)使用外部全局地址
①先配置所有端口的ip地址
②配置内部访问列表
③定义合法的ip地址池,命令如下:
ip nat pool 地址池名称 起始地址 终止地址 network 子网掩码
④设置复用动态ip地址转换:
ip nat inside source list ACL列表号 pool 地址池名称 [overload]
⑤在内部和外部端口上启用NAT
⑥配置路由
(2)复用路由器外部接口地址
①先配置所有端口
②定义内部访问列表
③设置复用动态ip地址转换,命令如下:
ip nat inside source list ACL1 interface 端口编号 overload
意义:以端口复用方式,将ACL1中的私有地址转化为路由器外部接口的合法ip地址。
④在外部和内部端口上启用NAT
⑤配置默认路由。
show ip nat translations [verbose] 查看NAT转换条目,verbose显示更多信息,包括一个动态条目的保存时间
show ip nat statistics 查看NAT的统计信息
debug ip nat 跟踪NAT的操作,显示出每个转换的数据包。
原文地址:http://blog.51cto.com/14150862/2342540