目录

一、实验原理

二、实验拓扑

三、实验步骤 

四、实验过程

总结 


实验难度

3

实验复杂度

3

 

 

 

一、实验原理

我们在配置路由器ACL的时候都是一个需求一个ACL这样来配置,这种做法是比较严谨的,但是如果需求变得很多了呢?例如,下图中的网络拓扑,在inside区域有192.168.100.1、192.168.100.2192.168.100.4、192.168.100.7、192.168.100.8这五台主机,outside区域有192.168.200.1、192.168.200.2、192.168.200.3、192.168.200.4、192.168.200.5等五台主机,现在有如下需求:inside区域的所有主机都可以telnet/FTP/HTTP防火墙右边outside区域的所有主机,为了提高这个精确性,必须要使用明细路由。

java windows防火墙增加规则 防火墙object group_ide

我们来分析一下,左边inside区域有5台主机,右边outside区域也有5台主机,它们的共同需求有3个telnet、ftp、http,若使用以往在路由器上配置ACL的写法,则一共有5*5*3=75条。75条ACL这个数量不少了,配置多了还容易出错,那么我们能不能使用一些更加好的技术来代替呢?有,这个技术就是object-group,object-group可以理解为数学上的一个集合,而object可以理解为一个集合的元素。在数学上,一个元素是可以同时属于多个集合的,当我们需要在多个地方调用同种类型的元素时,可以把这些元素放在一起形成一个集合,然后在多个地方调用这个集合就要可以了,不需要把这些元素拿出来一个一个地调用。示意图如下:

java windows防火墙增加规则 防火墙object group_java windows防火墙增加规则_02

明白了上述的原理,那么我们来计算一下,若我们使用Object-Group技术,现在需要写多少条ACL就可以了。inside区域有5个元素,定义这5个元素,把它放在一个集合里,这里是6条。同理,outside区域也有6条。而防火墙那里有3条是服务类型的。一共是15条。这样比起使用之前的一个需求一条ACL的写法是不是效率高了很多。

二、实验拓扑

java windows防火墙增加规则 防火墙object group_ide_03

三、实验步骤 

1.搭建如图所示的网络拓扑;

2.初始化路由器,配置相应的IP地址;

3.配置ASA的初始相关参数:

防火墙的名称为ASA

接口

接口名称

安全级别

IP地址

G0

inside

100

192.168.100.254/24

G1

dmz

50

192.168.200.254/24

G2

outside

0

50.100.200.254/24

 

 

 

 

 

4.三个区域的路由器设备都配置一条默认路由,下一跳指向ASA防火墙;

5.放行outside区域的所有网络去往inside区域服务器的FTP/ESP/ICMP/TELNET/HTTP/HTTPS流量。

四、实验过程

1.搭建如图所示的网络拓扑;

使用GNS 3或EVE来搭建,过程略。

2.初始化路由器,配置相应的IP地址;

inside路由器:

java windows防火墙增加规则 防火墙object group_ide_04

dmz路由器:

java windows防火墙增加规则 防火墙object group_java windows防火墙增加规则_05

outside路由器:

java windows防火墙增加规则 防火墙object group_IP_06

3.配置ASA的初始相关参数:

防火墙的名称为ASA

接口

接口名称

安全级别

IP地址

G0

inside

100

192.168.100.254/24

G1

dmz

50

192.168.200.254/24

G2

outside

0

50.100.200.254/24

 

 

 

java windows防火墙增加规则 防火墙object group_ide_07

测试直连网络的连通性:

java windows防火墙增加规则 防火墙object group_IP_08

4.三个区域的路由器设备都配置一条默认路由,下一跳指向ASA防火墙;

java windows防火墙增加规则 防火墙object group_HTTP_09

java windows防火墙增加规则 防火墙object group_HTTP_10

java windows防火墙增加规则 防火墙object group_ide_11

5.放行outside区域的所有网络去往inside区域服务器的FTP/ESP/ICMP/TELNET/HTTPS/HTTP流量。

1)先定义单个元素,这个元素可以是一个主机,也可以是一个网络或一段网络范围

java windows防火墙增加规则 防火墙object group_ide_12

2)把元素放在一个集合里

java windows防火墙增加规则 防火墙object group_IP_13

3)定义相关的服务集合

java windows防火墙增加规则 防火墙object group_ide_14

4)调用相关的objct-group

java windows防火墙增加规则 防火墙object group_java windows防火墙增加规则_15

java windows防火墙增加规则 防火墙object group_java windows防火墙增加规则_16

注意:一定要把写好的ACL应用在接口上,不然是不会生效的哈!

测试:

1)验证放行icmp功能

java windows防火墙增加规则 防火墙object group_ide_17

2)在inside路由器上配置以下的远程登陆验证信息:

特权密码:ccie

用户/密码:sec/ccie

java windows防火墙增加规则 防火墙object group_防火墙_18

验证telnet功能:

java windows防火墙增加规则 防火墙object group_防火墙_19

3)开启inside的http功能

java windows防火墙增加规则 防火墙object group_HTTP_20

验证http功能:

java windows防火墙增加规则 防火墙object group_ide_21

4)启用https功能

java windows防火墙增加规则 防火墙object group_ide_22

验证HTTPS功能:

java windows防火墙增加规则 防火墙object group_防火墙_23

现在我们可以来看看现在应用的ACL一共有多少条:一共有54条,如果这些ACL都需要我们一条一条来配置的话,那么这个效率未免有点低哈,这54条ACL怎么来的呢?实际上它是数学上的组合问题,3*3*6=9*6=54(条)

java windows防火墙增加规则 防火墙object group_防火墙_24

代码解析:

outside(config-if)#ip address 50.100.200.3 255.255.255.0 secondary   //配置备份IP地址,这个IP地址是可以使用的,这个用法与我们在windows的网卡上配置的备份IP的作用是一样的
ASA(config)# object network inServer1    //定义一个网络元素的名字为inServer1
ASA(config-network-object)# host 192.168.100.1    //元素里匹配一个精确IP地址为192.168.100.1ASA(config)# object-group network inside    //定义一个元素的集合,这个集合的名称为inside
ASA(config-network-object-group)# network-object object inServer1   //把里面的元素放入到集合里,这里的元素名称为inServer1

access-list permit extended permit object-group services object-group outside object-group inside   //这条ACL的名称为permit,它是使用object-group集合来定义放行相关的数据流量的,它是放行services集合里的服务, 源目流量走向分别是outside、inside。

 

总结 

本章节介绍了一个ACL组(Object-Group)的概念,个人还是比较喜欢把它看作一个集合与元素的关系,这样更好去理解。个人也建议大家采用这样的方式去理解,当然了,若大家有更好的看法,欢迎给我博客留言哈。好了,本章节就到这里了,我们在下一个章节再见,加油!