NAT可以通过将内部网络的私网IP地址转换成全球唯一的公网IP地址,是内部的网络可以连接到互联网等外部网络上,广泛的应用于各种类型的互联网接入方式和各种类型的网络中。
NAT的优点:
1.节省了公有合法的IP地址;
2.处理地址重叠;
3.增强了灵活性;
4.提高了私网地址的安全性。
NAT的实现方式:
1.静态转换;
2.动态转换;
3.PAT(基于端口的地址转换)。
NAT对于地址转换中的终端设备是透明的:
简单介绍一下NAT中的四种地址:
网络地址转换NAT技术_第1张图片
内部局部地址:主机在内部使用的地址,一般是私有地址;
内部全局地址:主机在公网使用的地址,一般是公有地址;
外部全局地址:外部的主机在公网上使用的真是地址;
外部局部地址:主机访问的地址。
NAT两种转换方式:
简单转换条目:只转换IP;
扩展转换条目:转换IP和端口。
静态转换NAT:1.由管理员手工设置;2.一对一映射;3.固定、永久;4.双向;5.安全。应用环境:一般用于发布服务器。(不需要配置ACL)
动态转换NAT:1.临时生成的、动态的:2.同一时刻,也是一对一的;3.单向的。应用环境:内部客户机不同时上网时。(需要配置ACL)
PAT:1.一个公网地址对应很多私网地址;通过端口号区分私网地址。应用环境:内部客户机同时上网时。(需要配置ACL)
静态转换NAT实现步骤

R1(config-if)#ip nat inside source static 192.168.1.100 202.106.0.20
#把私网IP地址192.168.1.100转换成公网IP地址202.106.0.20
R1(config)#int f1/0
R1(config-if)#ip nat inside 
#内部端口启用NAT
R1(config-if)#int f0/0
R1(config-if)#ip nat outside 
#外部端口启用NAT
R1(config)#ip route 0.0.0.0 0.0.0.0 202.106.0.2
#配置一条默认路由

这样静态NAT就已经转换完成!
NAT端口映射

R1(config)#ip nat inside source static tcp 192.168.1.100 80 202.106.0.20 80  extendable 
#将私网IP地址192.168.1.100的80端口转换成公网IP地址202.106.0.20的80端口

端口映射就配置完毕!

PAT配置步骤

R1(config)#access-list 1 permit  any
#定义内部访问列表,允许所有内部地址
R1(config)#ip nat pool onlyone 202.106.0.20 202.106.0.20 netmask 255.255.255.0
#定义合法地址池名称为onlyone,合法地址范围202.106.0.20,子网掩码255.255.255.0 (由于只有一个公网地址,所以开始地址和结束地址一样)
R1(config)#ip nat inside source list 1 pool onlyone overload
#以端口复用的方式,将ACL1中的私网地址转换为定义的合法地址池onlyone中的公网地址
R1(config)#int f1/0
R1(config-if)#ip nat inside 
#内部端口启用NAT
R1(config-if)#int f0/0
R1(config-if)#ip nat outside 
#外部端口启用NAT
R1(config)#ip route 0.0.0.0 0.0.0.0 202.106.0.2
#配置一条默认路由

复用路由器外部接口地址步骤:
(有时只有一个外部地址,并且已经配置在路由器的外部接口上,这种情况,在地址转换过程中,可以直接使用接口的IP地址作为转换后的地址)

R1(config)#access-list 1 permit  any
#定义内部访问列表,允许所有内部地址
R1(config)#ip nat inside source list 1 int f 0/0 overload 
#将ACL1中的私有地址转换为路由器外部接口的公有地址
R1(config)#int f1/0
R1(config-if)#ip nat inside 
#内部端口启用NAT
R1(config-if)#int f0/0
R1(config-if)#ip nat outside 
#外部端口启用NAT
R1(config)#ip route 0.0.0.0 0.0.0.0 202.106.0.2
#配置一条默认路由

PAT配置完成!
验证NAT的配置
使用show ip nat translations 命令显示当前存在的转换信息
使用show ip nat statistics 命令显示NAT的统计信息
使用show ip nat translations verbose 命令显示更详细的信息
使用clear ip nat translation * 命令删除NAT表中的所有条目(不会删除静态转换的条目)
使用debug ip nat 命令显示出每个转换的数据包
NAT故障处理
1.是否设置了ACL,阻塞了进行过NAT或没进行过NAT的流量;
2.定义需要进行的NAT的ACL时,漏掉了需要进行地址转换的网络;
3.在NAT语句中漏掉了overload关键字;

  1. 不对称路由导致NAT失败;
  2. NAT地址池和静态NAT表中有重叠地址;
  3. inside和outside接口配置错误,
    以上情况都会导致NAT转换失败。