思科ASA系列防火墙NAT解析

思科ASA系列防火墙NAT解析
思科ASA系列防火墙NAT解析

思科ASA系列防火墙NAT解析

网络地址转换(NAT, Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。防火墙都运行NAT,主要原因是:公网地址不够使用;隐藏内部IP 地址,增加安全性;允许外网主机访问DMZ。

动态NAT和PAT

在图1中,内部主机访问外网和DMZ时,都需要转换源地址,配置方法如下:

FW(config)# nat (inside) 1 10.0.1.0 255.255.255.0

指定需要转换的源地址。其NAT ID为1。用于匹配global命令中的NAT ID。

FW(config)# global (outside) 1 61.136.150.10-61.136.150.20

指定用于替代源地址的地址池。其NAT ID为“1”,表明内口NAT ID为1的地址将被替换为地址池中的地址。该方式即为动态NAT。

FW(config)# global (dmz) 1 10.0.2.20

指定用于替代源地址的唯一地址。其NAT ID为“1”,表明内口NAT ID为1的地址都将被替换为同一地址(10.0.2.20)。该方式即为动态PAT。

收到来自内网的IP包后,防火墙首先根据路由表确定应将包发往哪个接口,然后执行地址转换。

静态NAT

在图1中,为使外部用户可访问DMZ中的服务器,除适当应用ACL外,还需将服务器的IP地址(10.0.2.1)映射(静态转换)为公网地址(如61.136.151.1),静态转换命令如下:

FW (config)# static (dmz,outside) 61.136.151.1 10.0.2.1 netmask

255.255.255.255

本例中子网掩码为255.255.255.255,表示只转换一个IP地址。若参数形如“10.0.2.0 61.136.151.0 netmask 255.255.255.0”,则表示要完成一个子网到另一个子网的静态转换。

静态PAT

图1 多口NAT

在图1中,欲完成10.0.2.1:8080(TCP)到61.136.152.1:80(TCP)的静态映射,命令如下:

FW(config)# static (dmz,outside) tcp 61.136.152.1:80 10.0.2.1:8080 netmask255.255.255.255

NAT前后,源地址不变

启用NAT控制后(通常NAT控制都处于启用状态),内部主机的地址必须经过NAT,方可与其他接口所连接的网络进行通信。在实践中,有时某些源地址并无改变的必要,甚至不允许改变。

要求:内部子网125.221.40.0/24在NAT后,地址与真实地址相同。

解决方法一:“Identity NAT”

FW(config)# nat (inside) 0 125.221.40.0 255.255.255.0

特点:支持策略NAT(本文不涉及),仅允许内部主机主动建立连接,如图2所示。

图2 单向连接

解决方法二:“Static Identity NAT”

FW(config)# static (inside,outside) 125.221.40.0 125.221.40.0 netmask 255.255.255.0

特点:可指定目的接口,内、外部主机均可主动建立连接,如图3所示。

图3 双向连接

解决方法三:“NAT exemption”

FW(config)# access-list exempt permit ip 125.221.40.0 255.255.255.0 anyFW(config)# nat (inside) 0 access-list exempt

特点:占用的资源较少。内、外部主机均可主动建立连接,如图3所示。

NAT与DNS记录重写

在图4所示场景中,DMZ中服务器的真实地址(10.0.2.1)已映射为外部地址

(61.136.151.1)。DNS服务器位于外网,其中包含可将https://www.360docs.net/doc/d51449880.html,解析为外部地址61.136.151.1的A记录。

外网用户可通过域名或外部地址正常访问WWW服务器。内部用户可通过真实地址(10.0.2.1)访问WWW服务器,但是,如果内部用户需要通过域名访问WWW服务器,则需要将域名解析为真实地址10.0.2.1。

可以在启用防火墙的DNS检测功能(在默认情况下,该功能处于启用状态)后,通过DNS 记录重写实现这一功能。

欲实现DNS重写,需要在配置地址映射时,加入关键字DNS。就本例而言,相关配置如下:

FW(config)# static (dm z,outside) 61.136.151.1 10.0.2.1 dns

内网主机通过域名访问DMZ中WWW服务器的过程标示于图4-2-4中:①内网主机运行浏览器,向DNS服务器发送DNS请求;②DNS服务器以地址61.136.151.1回复;③防火墙接收到回复报文后,送DNS检测引擎进行处理。检测引擎检索到NAT配置“static (dmz,outside) 61.136.151.1 10.0.2.1 dns”,将DNS回复报文中的地址61.136.151.1改写为10.0.2.1(NAT配置中的关键字DNS是必须的,否则防火墙不进行改写操作);④将经过修改后DNS回复送内网主机;⑤内网主机向DMZ中的服务器发送HTTP请求。

图4 NAT与DNS记录重写

ASA 8.3 的NAT

ASA 8.3 版本对NAT 的语法进行了革命的改变不再支持NAT-Control,使用了更加灵活和更加易于组合object /object-group的新方式。迁移命令如下,

FW(config)# nat-control

过去的配置命令。

FW(config)# object network obj_any

FW(config-network)# subnet 0.0.0.0 0.0.0.0

FW(config-network)# nat (inside,outside) dynamic obj-0.0.0.0

FW(config-network)# object network obj-0.0.0.0

FW(config-network)# host 0.0.0.0

FW(config)# object network obj_any-1

FW(config-network)# subnet 0.0.0.0 0.0.0.0

FW(config-network)# nat (inside,mgmt) dynamic obj-0.0.0.0 FW(config)# object network obj_any-2

FW(config-network)# subnet 0.0.0.0 0.0.0.0

FW(config-network)# nat (inside,dmz) dynamic obj-0.0.0.0

相关主题
相关文档
最新文档