如何使用Cisco IOS Access Lists

  Cisco IOS Access-List (ACL) 是用来定义和控制网络流量的一种机制,一旦使用了ACL(访问控制列表),你可以实现很多对网络的控制。例如,你可以利用访问控制列表来允许、阻止、显示和限制路由更新。在本文,我们会介绍一下Cisco IOS Access-Lists的基本概念

我可以利用ACL做什么?

  A Cisco IOS Access-list的简称是ACL,ACL通常读作A.C.L,但是有些人会都成“ankle”,事实上,我比较倾向于读作A.C.L。就好像你会读FBI和CIA,而不是像NASA或者是FEDEX这样的读法。ACL是用来定义和区分网络流量的,通过建立ACL,你仅仅是定义了网络类型,但是不会起任何实际作用。一旦建立了ACL,你还要对接口或者特定线路进行定义。

ACL有哪些类型?

  访问控制列表有两种类型:标准或扩展。IP访问列表的编号属于下列数值范围: ?1至99——标准IP访问列表,100至199——扩展IP,1300到1999——标准IP访问列表,2000年至2699——扩展IP。其中标准IP访问列表只能定义源IP流量;一个扩展IP访问列表可以定义流量的源和目的地IP地址,以及源和目标端口号。另外,在标准访问列表中只能定义IP流量,而扩展访问列表可以定义TCP, UDP, ICMP, IP, AHP, EIGRP, IGRP, ESP, IGMP, OSPF和PIM流量。下面是一个最基本的标准IP访问列表可以定义的例子:

csc_cisco_ios_access_lists_01

  此访问列表编号为“1”,它允许源IP地址为1.1.1.1的流量。既然我们提出了访问列表的编号,让我指出,这些数字并不像是一个程序的行数。访问控制列表并不会根据这个编号进行优先处理顺序,而是处于同一个编号的访问控制列表里面的规则会同时执行。所有在标准访问列表1中定义的所有规则都会存在同一个列表中,并且同时被使用。

从上自下处理(Top down Processing)

  访问列表的行是从上往下处理的,根据他们输入顺序进行排序。当网络数据包和该正在处理的访问列表中某条语句匹配,则该包的所有处理会停止,不继续进行向下匹配。让我们看一个例子。加入有这个访问列表:

csc_cisco_ios_access_lists_02

  假设这个访问列表被用来过滤绑定到路由器的流量。如果一个源IP地址为1.1.1.1的数据包进来,该包会被访问列表允许还是拒绝呢?因为访问列表是从上往下处理,该流量将被拒绝,即使它被下面的一条语句所允许。这是因为,当流量被拒绝后,访问控制列表对该包的处理将会停止。这里你需要知道的是语句的顺序是至关重要的,如果您正在使用访问列表过滤流量,那么你应该在最接近流量源的地方组织该流量,以节省广域网带宽。

访问控制列表和流量过滤的3个P

  当过滤流量时,访问列表的规则是“three Pers”。规则是这样的:“你可以在每个协议每个方向每个接口配置访问控制列表”。所以,你可以为每个协议(IP, IPX, Appletalk, bridging等)配置访问列表。你可以在每个方向,IN或OUT方向设置访问列表。你可以在每个接口(FastEthernet0/0, Serial0/0, Serial1/0)配置访问控制列表。换句话说,你不能在同一接口上有两个绑定的IP访问列表。

通配符掩码(wildcard mask)

  一个非常重要的事情是,在指定范围内的网络,或整个网络上的主机,配置ACL需要一些所谓的通配符掩码(wildcard mask)。通配符掩码是一个倒置的子网掩码。换句话说,网络的子网掩码(或范围)的主机,把它转换成二进制,翻转0和1,并转化为十进制。我不会在这篇文章解释如何进行计算,你可以在在线IP地址和子网掩码计算器计算你需要的通配符掩码。下面是一些例子:子网掩码255.255.255.0 =通配符掩码0.0.0.255;子网掩码为255.0.0.0 = 0.255.255.255通配符掩码;子网掩码255.255.0.0 = 0.0.255.255通配符掩码

隐含拒绝(Implied Deny)

  关于访问列表的另一个非常重要的规则是,每个ACL总有一个“默示拒绝”。这意味着每一个访问列表,在它结束所有规则前有一个隐含的规则:?access-list X deny ANY(如果这是一个标准的访问列表)或?access-list X ip deny ANY ANY(如果这是一个扩展访问列表),这样,如果你的流量是没有在ACL中的语句中明确允许,那么你的流量被拒绝。如果您手动键入“deny any”规则,它会出现,但如果你不键入它,它仍然存在。下面是一个例子:通过此ACL允许的流量是什么?

csc_cisco_ios_access_lists_03

  答案是所有流量都不被这个访问控制列表所允许,因为唯一的规则是拒绝规则,而且最后存在隐含拒绝所有的规则。

总结

  在刚开始了解ACL是如何工作的会存在一些困惑,但是我希望这篇文章能作为一篇对ACL的入门介绍。但实际应用中,Cisco IOS access-lists是每个网络工程师必须掌握的基础技能!

译自:petri



 
 » 除非注明,本博客文章均为挨踢小茶原创,转载请以链接形式标明本文地址
该日志由 挨踢小茶 于2012年06月30日发表在 网络技术 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 如何使用Cisco IOS Access Lists | 挨踢茶馆
关键字: ,

如何使用Cisco IOS Access Lists:目前有5 条留言

  1. 地板
    DHA:

    我没有这么用过~ 😡

    2012-07-09 下午 2:44 [回复]
  2. 板凳
    刘印博客:

    亲,你敢不敢写点我能看懂的东西?
    应该说大家,大部分人~

    2012-07-02 下午 1:48 [回复]
  3. 沙发
    海纳百川:

    主机的月流量限制,是不是也是这个道理啊。

    2012-06-30 上午 10:35 [回复]
    • 这个只是访问控制哦,流量控制应该是系统做的设置!

      2012-06-30 下午 9:14 [回复]

发表评论



快捷键:Ctrl+Enter

无觅相关文章插件,快速提升流量