CiscoASA应用NAT配置详解

ASA 防火墙上NAT的基本原理与路由器上一样,只不过只用定义一下内网地址和进行转换后的地址就可以了,不需要进入接口再应用了。基本上两条命令即可完成一种NAT的配置。ASA上的NAT有动态NAT、动态PAT、静态NAT和静态PAT四种类型。

成都创新互联公司服务项目包括南城网站建设、南城网站制作、南城网页制作以及南城网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,南城网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到南城省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

1、动态NAT(可以说是一对一,但不是静态的,一般不使用动态NAT)的配置步骤如下:

将内网10.0.0.0/8进行NAT转换为170.16.1.100~172.16.1.200:

ciscoasa(config)# nat (inside) 1 10.0.0.0 255.0.0.0                 #定义需要进行NAT的内网地址

ciscoasa(config)# global (outside) 1 172.16.1.100-172.16.1.200           #定义全局地址池,
OK了。

ciscoasa(config)# show xlate detail                     #在进行第一次通信后,
即可通过该命令来查看NAT转换信息

上述配置中的1为nat-id,定义NAT转换时,需要nat-id匹配,才可进行转换。

若是要为inside区域内的所有网段实施动态NAT,配置命令如下:

ciscoasa(config)# nat (inside) 1 0 0 #0 0 表示任意网段

2、动态PAT(多对一,节省公网IP)的配置步骤如下:

动态PAT与路由器上的PAT相同,即可以多个私网地址转换为一个公网地址,也可直接使用outside接口。配置如下:

将20.0.0.0/8网段使用动态PAT转换为172.17.10.10

ciscoasa(config)# nat (inside) 2 20.0.0.0 255.0.0.0          #定义需要进行NAT的内网地址

ciscoasa(config)# global (outside) 2 172.17.10.10             #定义全局地址,OK了

也可以将20.0.0.0/8这个网段直接使用outside接口的IP地址进行转换,配置命令如下:

ciscoasa(config)# global (outside) 2 interface

3、静态NAT(一对一,常用来对DMZ区域的服务器实施这种NAT)的配置步骤如下:

ciscoasa(config)# static (dmz,outside) 172.16.1.201 192.168.1.1        #当DMZ区域
的192.168.1.1与outside通信时,
使用的地址是172.16.1.201,也就是说,想在外网访问192.168.1.1这个服务器上的服务,
那么需要使用172.16.1.201作为目的地址。

需要注意的是,在进行NAT转换时,不止需要配置地址转换,ACL也会影响是否能够通信成功。

下面配置一下ACL,使外网可以成功访问到192.168.1.1的服务。


ciscoasa(config)# access-list out_to_dmz permit ip any host 172.16.1.201          
#允许所有主机访问映射地址172.16.1.201

ciscoasa(config)# access-group  out_to_dmz in int outside   #应用到outside接口

个人在实验过程中,在进行以上的ACL配置后,会出现访问不成功的时候,再继续配置一条允许所有主机访问服务器的真实IP即可,两条ACL名称一样,同样应用到outside接口。

4、配置静态PAT(与路由器上的端口映射类似),配置如下:

ciscoasa(config)# static (dmz,outside) tcp 172.16.1.201 http 192.168.1.1 http
#DMZ区域的192.168.1.1服务器80端口与outside进行通信时,
使用172.16.1.201的HTTP端口

ciscoasa(config)# static (dmz,outside) tcp 172.16.1.201 23 192.168.1.10 23
#当DMZ区域的192.168.1.10服务器23端口与外网进行通信,
使用的是172.16.1.201地址的23端口

ciscoasa(config)# access-list out_to_dmz permit ip any host 172.16.1.201    
#配置ACL,若对安全要求比较高,由于上述两个服务都是使用TCP协议,
这里ACL规则中的ip命令字,可以改为tcp。

ciscoasa(config)# access-group out_to_dmz in int outside 

静态PAT已经配置好了,现在外网用户在不同的软件平台,使用172.16.1.201作为目的地,即可访问到不同的服务。(同理,若是无法访问成功,那么就再加一条ACL:允许所有主机访问服务器的真实IP即可,两条ACL名称一样,同样应用到outside接口。)

经过以上配置可以看出,需要注意配置的语法,顺序有些变化,而且,在配置静态PAT时,可以指定服务名称,也可以直接指定端口号,个人建议还是直接指定端口号靠谱些

5、NAT控制与NAT豁免

ASA从7.0版本开始提供了一个NAT控制开关,即nat-control命令,但默认是禁用NAT控制(no nat-control)。若在全局模式下执行命令nat-control,则代表开启了NAT控制,开启nat控制的作用大概就是只允许进行过nat转换的地址发送报文通过防火墙,没有配置NAT转换的则不允许穿越防火墙,个人感觉并不太实用,还是写下来,做个笔记吧。

那么开启NAT控制后,没有配置NAT的地址想要通过防火墙来进行通行,那么还可以配置NAT豁免。
NAT豁免的大概意思就是经过豁免的地址不必经过nat地址转换即可通过防火墙进行通信。

举个栗子:

在ASA开启了NAT控制时,DMZ区域有192.168.1.0网段,当inside区域的10.0.0.0网段没有配置nat,还要与DMZ区域的192.168.1.0进行通信,那么,就需要用到了NAT豁免,配置命令如下:

ciscoasa(config)#access-list nonat extended permit ip 10.0.0.0 255.0.0.0 192.168.1.0 255.255.255.0

ciscoasa(config)#nat (inside) 0 access-list nonat

文章名称:CiscoASA应用NAT配置详解
文章起源:http://myzitong.com/article/pcpjei.html