NAT地址转换

随着Internet的发展和网络应用的增多,IPv4地址枯竭已成为制约网络发展的瓶颈。尽管IPv6可以从根本上解决IPv4地址空间不足问题,但目前众多网络设备和网络应用大多是基于IPv4的,因此在IPv6广泛应用之前,一些过渡技术(如CIDR、私网地址等)的使用是解决这个问题最主要的技术手段。NAT主要用于实现内部网络(简称内网,使用私有IP地址)访问外部网络(简称外网,使用公有IP地址)的功能。当内网的主机要访问外网时,通过NAT技术可以将其私网地址转换为公网地址,可以实现多个私网用户共用一个公网地址来访问外部网络,这样既可保证网络互通,又节省了公网地址。

NAT:网络地址转换

  • 有效避免来自外网的攻击,可以很大程度上提高网络安全性。
  • 控制内网主机访问外网,同时也可以控制外网主机访问内网,解决了内网和外网不能互通的问题。

NAT类型

静态NAT

一对一的地址转换,一个公网地址只保留一个内网地址使用

img

配置

1
2
3
nat static enable   # 开启NAT 静态功能
nat static global 公网地址 inside 私网地址 # 配置静态NAT
display nat static # 验证静态NAT 配置

动态NAT

动态NAT是指将内部网络的私有IP地址转换为公用IP地址时,IP地址对是不确定的,是随机的,所有被授权访问Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。

NAPT

除了一对一的NAT转换方式外,网络地址端口转换NAPT(Network Address Port Translation)可以实现并发的地址转换。它允许多个内部地址映射到同一个公有地址上,因此也可以称为“多对一地址转换”或地址复用。

NAPT方式属于多对一的地址转换,它通过使用“IP地址+端口号”的形式进行转换,使多个私网用户可共用一个公网IP地址访问外网

img

配置

1
2
3
4
5
6
nat address-group 编号 公网地址范围  # 配置NAT 地址池
nat outbound acl 编号 # 关联ACL和NAT地址池
address-group 编号 [no-pat] # ACL用来匹配能够转换的源地址
no-pat # 只转换地址而不转换端口
display nat address-group # 验证NAT地址池配置信息
display nat outbound # 验证动态NAT 配置信息

Easy IP

Easy IP方式可以利用访问控制列表来控制哪些内部地址可以进行地址转换。

Easy IP方式特别适合小型局域网访问Internet的情况。这里的小型局域网主要指中小型网吧、小型办公室等环境,一般具有以下特点:内部主机较少、出接口通过拨号方式获得临时公网IP地址以供内部主机访问Internet。对于这种情况,可以使用Easy IP方式使局域网用户都通过这个IP地址接入Internet。

img

配置

1
nat outbound acl 编号   # 配置Easy IP ,关联ACL和公网接口

NAT Server

NAT具有“屏蔽”内部主机的作用,但有时内网需要向外网提供服务,比如提供WWW服务或者FTP服务。这种情况下需要内网的服务器不被“屏蔽”,外网用户可以随时访问内网服务器。

NAT Server可以很好地解决这个问题,当外网用户访问内网服务器时,它通过事先配置好的“公网IP地址+端口号”与“私网IP地址+端口号”间的映射关系,将服务器的“公网IP地址+端口号”根据映射关系替换成对应的“私网IP地址+端口号”。

img

配置

1
2
nat server protocol tcp/udp  global 公网地址/接口  端口  inside 私网地址 端口  # 配置nat 服务器

检查配置动态地址转换结果

操作步骤

  • 执行命令display nat address-group [ group-index ] [ verbose ],查看NAT地址池的配置信息。
  • 执行命令display nat outbound [ acl acl-number | address-group group-index | interface interface-type interface-number [ .subnumber ] ],查看NAT Outbound信息。
  • 执行命令display nat alg,查看NAT ALG的配置信息。
  • 执行命令display nat overlap-address { map-index | all | inside-vpn-instance inside-vpn-instance-name},查看NAT双向地址转换的相关信息。
  • 执行命令display firewall-nat session aging-time,查看NAT表项老化时间的相关信息。
  • 执行命令display nat sip cac bandwidth information [ verbose ],查看设备上的当前总带宽及被占用带宽。
  • 执行命令display nat filter-mode,查看当前的NAT过滤方式。
  • 执行命令display nat mapping-mode,查看NAT映射模式。
  • 执行命令display nat mapping table { all | number }或者display nat mapping table inside-address ip-address protocol protocol-name port port-number [ vpn-instance vpn-instance-name ],查看NAT映射表所有表项信息或个数。