华为acl规则.docx

上传人:b****6 文档编号:6329499 上传时间:2023-01-05 格式:DOCX 页数:25 大小:69.45KB
下载 相关 举报
华为acl规则.docx_第1页
第1页 / 共25页
华为acl规则.docx_第2页
第2页 / 共25页
华为acl规则.docx_第3页
第3页 / 共25页
华为acl规则.docx_第4页
第4页 / 共25页
华为acl规则.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

华为acl规则.docx

《华为acl规则.docx》由会员分享,可在线阅读,更多相关《华为acl规则.docx(25页珍藏版)》请在冰豆网上搜索。

华为acl规则.docx

华为acl规则

华为acl规则

  网络中经常提到的acl规则是CiscoIOS所提供的一种访问控制技术。

  初期仅在路由器上支持,近些年来已经扩展到三层交换机,部分最新的二层交换机如2950之类也开始提供ACL的支持。

只不过支持的特性不是那么完善而已。

在其它厂商的路由器或多层交换机上也提供类似的技术,不过名称和配置方式都可能有细微的差别。

本文所有的配置实例均基于CiscoIOS的ACL进行编写。

  基本原理:

ACL使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址、目的地址、源端口、目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。

  功能:

网络中的节点有资源节点和用户节点两大类,其中资源节点提供服务或数据,用户节点访问资源节点所提供的服务与数据。

ACL的主要功能就是一方面保护资源节点,阻止非法用户对资源节点的访问,另一方面限制特定的用户节点所能具备的访问权限。

  在实施ACL的过程中,应当遵循如下两个基本原则:

  1.最小特权原则:

只给受控对象完成任务所必须的最小的权限。

  2.最靠近受控对象原则:

所有的网络层访问权限控制。

  3.默认丢弃原则:

在CISCO路由交换设备中默认最后一句为ACL中加入了DENYANYANY,也就是丢弃所有不符合条件的数据包。

这一点要特别注意,虽然我们可以修改这个默认,但未改前一定要引起重视。

  局限性:

由于ACL是使用包过滤技术来实现的,过滤的依据又仅仅只是第三层和第四层包头中的部分信息,这种技术具有一些固有的局限性,如无法识别到具体的人,无法识别到应用内部的权限级别等。

因此,要达到endtoend的权限控制目的,需要和系统级及应用级的访问权限控制结合使用。

  acl规则要如何写?

  1、设置acl:

  aclnumber3000

  rule0permitipsource服务器端的子网掩码的反码//允许哪些子网访问服务器

  rule5denyipdestination服务器端的子网掩码的反码//不允许哪些子网访问服务器

  2、绑定到端口:

  interfacegig0/1//进入服务器所在的交换机端口

[GigabitEthernet0/1]firewallpacket-filter3000inbound//把acl绑定到端口

设置下发的ACL规则生效顺序

aclmatch-order{config|auto}命令可以acl规则下发前预先确定其在整个acl内的匹配顺序,而aclorder命令用来指定规则下发到硬件后的匹配顺序。

交换机支持三种下发到硬件的acl规则生效顺序:

深度优先、先下发先生效、后下发先生效。

用户可以指定一种。

   1.3.1配置过程

   

   1.3.2配置举例

   #配置下发到硬件的acl规则生效顺序为先下发先生效。

   [h3c]system-view

   [h3c]aclorderfirst-config-first-match

   [h3c]displayaclorder

   thecurrentorderisfirst-config-first-match

ACL和RouteMap的permit和deny规则在路由重分配时的动作

B两台路由器通过E1/1接口直联,运行OSPF。

A路由器配置3条静态路由:

iproute7.0.0.0255.0.0.0Ethernet1/1

iproute8.0.0.0255.0.0.0Ethernet1/1

iproute9.0.0.0255.0.0.0Ethernet1/1

A路由器ospf的配置如下:

routerospf1

log-adjacency-changes

redistributestaticroute-maptest

network0.0.0.0255.255.255.255area1

1)

在A路由器上,不配置任何ACL,只配置RouteMap,配置如下:

route-maptestpermit10

matchipaddress1

此时ACL1是一张空表。

配置完成之后过几秒钟,在B路由器上查看OSPF的路由表,如下:

LinkID      ADVRouter    Age      Seq#    ChecksumTag

7.0.0.0      192.168.1.1    52      0x800000010x0073BA0

8.0.0.0      192.168.1.1    1207      0x800000010x0066C60

9.0.0.0      192.168.1.1    1207      0x800000010x0059D20

A路由器上的三条静态路由都成功的重分配进OSPF,并传给了B路由器。

单步总结:

当RouteMap引用的ACL是一张空表时,对应的规则是permitany。

2)

在A上配置ACL1,只有一个permit规则,此时ACL和RouteMap的配置如下:

access-list1permit7.0.0.00.255.255.255

!

route-maptestpermit10

matchipaddress1

此时,在B路由器上,就只能看到7.0.0.0这条路由,如下:

LinkID      ADVRouter    Age      Seq#    ChecksumTag

7.0.0.0      192.168.1.1    140      0x800000010x0073BA0

A路由器只重分配了7.0.0.0这条路有进OSPF,另外两条就被过滤掉了。

单步总结:

当RouteMap引用的ACL是非空表时,ACL规则开始生效,如上例子,ACL1允许(permit)了7.0.0.0这条路由,并且deny掉了其它的路由(每条ACL最后都有一个隐藏的denyany)。

3)

在A路由器上,修改ACL的配置,RouteMap配置不变,如下:

access-list1deny  7.0.0.00.255.255.255

!

route-maptestpermit10

matchipaddress1

上一步的ACL1是permit7.0.0.0这条路由,这一步仅仅是将permit修改成deny。

配置完成过一会儿,查看B路由器OSPF的路由表,A路由器上的三条静态路由,B路由器一条都没有。

单步总结:

这一步得到的结论跟第2步的结论一样,ACL1显示的deny掉了7.0.0.0这条路由,然后用隐藏规则deny掉了其它两条路由。

4)

为了充分测试,搞清楚每一个细节,我们再将ACL的配置做一点修改,RouteMap的配置暂时保持不变,A路由器的配置如下:

access-list1deny  7.0.0.00.255.255.255

access-list1permitany

!

route-maptestpermit10

matchipaddress1

ACL1的配置增加了一条permitany。

过一会儿查看B路由器OSPF的路由表,如下:

LinkID      ADVRouter    Age      Seq#    ChecksumTag

8.0.0.0      192.168.1.1    12      0x800000010x0066C60

9.0.0.0      192.168.1.1    12      0x800000010x0059D20

可以看到8.0.0.09.0.0.0这两条路有豆成功的进行了重分配。

单步总结:

ACL1由于配置了permitany,这条规则在隐藏规则之前生效,因此8.0.0.09.0.0.0这两条路由成功匹配并重分配。

5)

测试到这里,可能大家会觉得这个规则已经很清楚了,其实不然阿!

到目前为止,RouteMap的配置一直没有变化,下面,我们慢慢地将RouteMap的配置进行修改,进行进一步的分析。

在上一步的基础上,我们修改一下配置,A路由器的配置如下:

access-list1permit7.0.0.00.255.255.255

!

route-maptestdeny10

matchipaddress1

ACL1仅仅允许7.0.0.0这条路由,不过,此时RouteMaptest10已经变成了deny。

读到这里,大家可以先自己想想会是一个什么样的结果。

此时B路由器上OSPF路由表为空!

单步结论:

虽然ACL1允许了一条路由,但是RouteMap的deny的优先级更高(或者可以理解为RouteMap的这个deny在后面执行),因此B路由器上没有看到任何一个静态路由。

6)

我们继续修改RouteMap的配置,此时我们增加一条RouteMap的配置,A路由器的配置如下:

access-list1permit7.0.0.00.255.255.255

!

route-maptestdeny10

matchipaddress1

!

route-maptestpermit20

在上一步的基础上,增加名称为test,序列号为20的RouteMap,这条RouteMap配置下什么都没有。

此时查看B路由器上OSPF的路由表,如下:

LinkID      ADVRouter    Age      Seq#    ChecksumTag

8.0.0.0      192.168.1.1    9        0x800000010x0066C60

9.0.0.0      192.168.1.1    9        0x800000010x0059D20

可以看出,8.0.0.09.0.0.0这两条路由成功进行了重分配。

ACL1只允许了7.0.0.0这条路由,由于RouteMaptest10的deny动作,7.0.0.0这条路由没有进行重分配。

现在8.0.0.09.0.0.0这两条路由进行了重分配,只有一个解释,那就是ACL1对这两条路由给出的deny(ACL1的隐藏规则)并不是影响最终了重分配动作!

ACL1虽然deny了这两条路由,但是在RouteMaptest20里面,将matcheverything(RouteMap下如果没有配置任何match命令,则表示matcheverything)。

单步结论:

ACL给出的deny不会影响最终的重分配动作,RouteMap如果后续还有配置,则将ACLdeny的路由继续向下传递并重新进行匹配。

7)

再A路由器上,进一步修改配置,如下:

access-list1deny  7.0.0.00.255.255.255

!

route-maptestdeny10

matchipaddress1

!

route-maptestpermit20

我们把ACL1修改为deny动作,RouteMap的配置保持跟第6步一致。

配置完成之后查看B路由器的OSPF路由表,如下:

LinkID      ADVRouter    Age      Seq#    ChecksumTag

7.0.0.0      192.168.1.1    1        0x800000010x0073BA0

8.0.0.0      192.168.1.1    1        0x800000010x0066C60

9.0.0.0      192.168.1.1    1        0x800000010x0059D20

A路由器上的三条路由都成功进行了重分配。

第6步,我们得出一个结论,ACL给出的deny并不影响最终重分配动作,那么在这一步测试进行分析,ACL是deny,RouteMap也是deny,但是所有的静态路由都成功进行了重分配,因此,可以说明,ACL的deny就可以简单的理解为匹配失败。

(将这一步的ACL配置修改成access-list1denyany,B路由器上的结果还是一样。

有兴趣的读者可以自己进行测试。

单步结论:

ACL给出的deny就是匹配失败,这时,RouteMap的动作并不重要,因此RouteMap的动作只有在匹配成功的时候才生效,ACLdeny之后,将进入下一条RouteMap继续进行匹配。

8)

最后,综合测试一下,A路由器的配置如下:

access-list1permit7.0.0.00.255.255.255

access-list2permit8.0.0.00.255.255.255

access-list3deny  9.0.0.00.255.255.255

!

route-maptestdeny10

matchipaddress1

!

route-maptestpermit20

matchipaddress2

!

route-maptestpermit30

matchipaddress3

配置完成之后,查看B路由器上的OSPF路由表,如下:

LinkID      ADVRouter    Age      Seq#    ChecksumTag

8.0.0.0      192.168.1.1    51      0x800000010x0066C60

前面7步得到的测试结论可以很好的解释这一步的测试结果。

最终结论:

1,当RouteMap引用的ACL是一张空表时,表示permitany;

2,当RouteMap引用的ACL不是一张空表时,ACL的隐藏规则是要发挥作用的;

3,ACL中的比较给出的permit表示匹配成功,然后执行相应RouteMap的动作;

4,ACL中的比较给出的deny表示匹配失败,不执行相应RouteMap的动作,但这并不是RouteMap的最终结果,后面还要根据RouteMap自身的规则进行。

(即如果RouteMap后续还有序列号大的配置项,继续进入后面的RouteMap配置进行比较;如果后面没有任何RouteMap的配置了,则执行RouteMap的隐藏动作denyeverything。

访问控制列表是为了对路由器处理的流量进行过滤而在路由器上建立的规则,它在改善网络性能和加强网络安全等方面已经发挥出越来越重要的作用。

本文列举几个在CISCO路由器上设置访问控制列表的应用实例,希望对各位同仁充分掌握和恰当应用访问控制列表有所帮助。

单向屏蔽ICMPECHO报文

  1.设置如下的访问控制列表

  access-list100permiticmpany本地路由器广域地址echo

  access-list100denyicmpanyanyecho

  access-list100permitipanyany

  2.在路由器相应端口上应用

  interface{外部网络接口}{网络接口号}

  ipaccess-group100in

  列表第一行,是允许外网主机可以PING通我方路由器广域口地址,便于外网进行网络测试。

列表第二行,系禁止外网主机发起的任何ICMPECHO报文到达我方网络主机,杜绝了外网主机发起的“端口扫描器Nmapping操作”。

列表第三行允许所有的IP协议数据包通过,是保证不影响其他各种应用。

端口应用上设置在入方向进行应用,保证了我方网络主机可PING通外网任意主机,便于我方进行网络连通性测试。

  防止病毒传播和黑客攻击

  针对微软操作系统的漏洞,一些病毒程序和漏洞扫描软件通过UDP端口135、137、138、1434和TCP端口135、137、139、445、4444、5554、9995、9996等进行病毒传播和攻击,可如下设置访问控制列表阻止病毒传播和黑客攻击。

  1.设置如下的访问控制列表

  access-list101denyudpanyanyeq135

  access-list101denyudpanyanyeq137

  access-list101denyudpanyanyeq138

  access-list101denyudpanyanyeq1434

  access-list101denytcpanyanyeq135

  access-list101denytcpanyanyeq137

  access-list101denytcpanyanyeq139

  access-list101denytcpanyanyeq445

  access-list101denytcpanyanyeq4444

  access-list101denytcpanyanyeq5554

  access-list101denytcpanyanyeq9995

  access-list101denytcpanyanyeq9996

  access-list101permitipanyany

  2.在路由器相应端口上应用

  interface{外部网络接口}{网络接口号}

  ipaccess-group101in

  说明:

在同一端口上应用访问控制列表的IN语句或OUT语句只能有一条,如需将两组访问列表应用到同一端口上的同一方向,需将两组访问控制列表进行合并处理,方能应用。

  利用访问控制列表实现QoS

  针对一些重要业务和特殊应用,使用时要求保证带宽,不用时又能将带宽让出来给其他应用,可用如下设置访问控制列表和数据包染色技术来实现。

  1.设置如下的访问控制列表

  access-list102permitip网段1IP子网掩码host服务器1IP

  access-list103permitip网段2IP子网掩码host服务器2IP

  access-list104permitip网段3IP子网掩码host服务器3IP

  2.数据包染色标记

  class-mapmatch-allCritical-1

  matchipdscp34

  class-mapmatch-allCritical-2

  matchipdscp26

  class-mapmatch-allCritical-3

  matchipdscp35

  3.数据包染色分类

  class-mapmatch-anyCritical-1

  matchaccess-group102/*匹配访问控制列表102*/

  class-mapmatch-anyCritical-2

  matchaccess-group103/*匹配访问控制列表103*/

  class-mapmatch-anyCritical-3

  matchaccess-group104/*匹配访问控制列表104*/

  4.策略定义

  policy-mapAA

  classCritical-1

  bandwidthpercent10/*定义保障带宽为基本带宽的10%*/

  random-detectdscp-based/*定义路由器带宽拥塞时的数据包丢弃策略*/

  random-detectdscp34244010

  /*定义发生拥塞时DSCP=34数据包的最小丢包率/最大丢包率/丢弃概率分别是:

24/40/10*/

  classCritical-2

  bandwidthpercent5

  random-detectdscp-based

  random-detectdscp26244010

  classsCritical-3

  bandwidthpercent2

  random-detectdscp-based

  random-detectdscp35244010

  5.在路由器相应端口上进行策略应用

  interfaceSerial0/0

  service-policyoutputAA

  如上设置后,即实现了在端口Serial0/0上符合访问控制列表102的业务保障带宽是基本带宽的10%,符合访问控制列表103的业务保障带宽为基本带宽的5%,符合访问控制列表104的业务保障带宽为基本带宽的2%。

基于时间的访问控制列表配置实例

配置实例:

  要想使基于时间的ACL生效需要我们配置两方面的命令:

  1、定义时间段及时间范围。

  2、ACL自身的配置,即将详细的规则添加到ACL中。

  3、宣告ACL,将设置好的ACL添加到相应的端口中。

 网络环境介绍:

  

  我们采用如图所示的网络结构。

路由器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24。

在172.16.4.0/24网段中有一台服务器提供FTP服务,IP地址为172.16.4.13。

  配置任务:

只容许172.16.3.0网段的用户在周末访问172.16.4.13上的FTP资源,工作时间不能下载该FTP资源。

  路由器配置命令:

    time-rangesofter  定义时间段名称为softer

    periodicweekend00:

00to23:

59  定义具体时间范围,为每周周末(6,日)的0点到23点59分。

当然可以使用periodicweekdays定义工作日或跟星期几定义具体的周几。

    access-list101denytcpany172.16.4.130.0.0.0eqftptime-rangesofter  设置ACL,禁止在时间段softer范围内访问172.16.4.13的FTP服务。

    access-list101permitipanyany  设置ACL,容许其他时间段和其他条件下的正常访问。

    inte1  进入E1端口。

    ipaccess-group101out  宣告ACL101。

    基于时间的ACL比较适合于时间段的管理,通过上面的设置172.16.3.0的用户就只能在周末访问服务器提供的FTP资源了,平时无法访问。

AR系列路由器两种ACL匹配规则的介绍

在一条ACL中可以制定多条规则,这些规则可能产生交集,即某些报文可能同时符合一条ACL中的多条规则。

例如在ACL30

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1