思科ASA基本配置

前言:

  我发现网上的思科ASA资料写的都不是很详细,对刚学习思科防火墙的人很不友好,本着

分享自己学习经验想法,我写了这一篇文章来讲解思科ASA的基本概念和配置。

 

简介:

  ASA可以将接口划分到三种区域inside,outside,dmz,默认情况下outside与dmz区域的接

口安全级别为0,inside区域的接口安全级别为100。安全级别的作用就是,从高安全级别区域转

发到低安全级别区域的数据包是被允许的(数值越大安全级别越高)。例如从inside发送到dmz

outside的数据包默认是允许的,数据包被发送到目的地址后,返回的数据包会根据在ASA中

记录的连接会话表而被允许返回,但是注意,ICMP发送出去数据包不会被记录到连接会话表,所

以返回的ICMP数据包需要另外配置acl放行。还要注意的是,如果一个区域用了acl,那么进入

该区域接口的数据包将按照acl的配置来决定是否允许放行。先不说那么多,让我们边配置边做介

绍吧。

 

实验环境:

   

 

 

 

 0.设备的ip地址配置已经按照实验图配置完成,配置的命令就不写了。

 

1.划分安全区域。

  ciscoasa(config)# int g0/0

  ciscoasa(config-if)# nameif outside

  ciscoasa(config)# int g0/1

  ciscoasa(config-if)# nameif inside

  ciscoasa(config)# int g0/2

  ciscoasa(config-if)# nameif dmz

 

2.配置nat,让inside区域的内网主机可以访问internet。

  ciscoasa(config)# object network inside【1】

  ciscoasa(config-network-object)# subnet 192.168.10.0 255.255.255.0 【2】

  ciscoasa(config-network-object)# nat (inside,outside) dynamic interface 【3】

 

我们定义了一个网络对象inside【1】(从思科8.3版本之后就使用对象来定义主机和网络),在

【2】里面定义了这个网络对象的子网以及掩码,也就是我们内网区域的子网。在【3】这里对

该对象进行了nat配置,将从inside到outside数据包的源地址转化为outside的接口,也就是

G0/0口,这里使用的使用动态地址转换,OK,nat已经配置完毕,让我们在pc上ping

internet测试一下(internet是由windows机模拟的,我们关闭的该主机的防火墙,注意我们

不需要为该主机设置网关)。

 

测试:

 

 

奇怪为什么【1】ping不通?回想一下简介里面有说到的ASA的连接会话表不会记录ICMP数据

包,所以从inside发送到outside的数据包在返回的时候被ASA拒绝了。怎么让ICMP数据包在

返回的时候不被拒绝呢?我们设置一条acl就可以解决问题了。

 

  ciscoasa(config)# access-list outside extended permit icmp any 192.168.10.0 255.255

  .255.0 【2】

  ciscoasa(config)# access-group outside in interface outside 【3】

 

【2】添加一条acl名为outside,允许any(所有ip)到192.168.10.0/24的ICMP数据包,【3】

将acl应用到进入outside区域的接口上。

 

重新测试:

  

现在nat已经配置好了,内网的pc可以访问外网的所有服务了。

 

3.配置端口映射,让dmz的server可以对外提供应用服务。

  ciscoasa(config)# object network server

  ciscoasa(config-network-object)# host 172.16.1.100 【1】

  ciscoasa(config-network-object)# nat (dmz,outside) static interface service tcp 

  80 80 【2】

 

跟nat一样,端口映射也是使用网络对象的方式进行配置,【1】定义了一个host也就是我

们dmzserver的ip地址。【2】使用静态的方式将80端口映射到outside区域接口上的80端

口。配置好端口映射之后还不能正常工作,因为此时的dmz与outside区域的安全级别均为

0,安全级别相同的区域是不能互相通信的,还需要配置区域安全级别和配置acl放行从out

side到dmz所需的服务。

 

  ciscoasa(config)# access-list outside extended permit tcp any host 172.16.1.100

   eq 80 【1】

  ciscoasa(config)# access-group outside-dmz in interface outside 【2】

  ciscoasa(config)# int g0/2

  ciscoasa(config-if)# security-level 50 【3】

 

【1】在acl outside新增一条允许any到172.16.1.100的80端口,【2】应用到进入outside

的接口上。将dmz区域的g0/2接口设置为50【3】,为什么要更改呢?因为ASA默认不允许

同安全级别的区域之间互相通信,就算两边都放行了acl也无法通信,当然可以使用命令 

same-security-traffic permit inter-interface 改为允许相同安全级别区域互相通信,但是不建

议这样做。

 

测试从internet访问172.16.1.100,因为已经做了映射,所以我们访问ASA的1.1.1.1就可以访

问到172.16.1.100了。

 

结束

inside区域的pc通过nat可以访问到internet,outside区域的internet也可以访问到dmz的server了。

其实还可以做一些另外的配置,比如inside访问到dmz,这个任务就交给你去完成吧。

 

posted @ 2020-10-28 11:47  sec_j  阅读(3522)  评论(0编辑  收藏  举报