CiscoACL原理及配置详解

来源:网络发布时间:2010-04-22

  什么是ACL?

  访问控制列表简称为ACL,访问控制列表使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址,目的地址,源端口,目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。该技术初期仅在路由器上支持,近些年来已经扩展到三层交换机,部分最新的二层交换机也开始提供ACL的支持了。

  访问控制列表使用原则

  由于ACL涉及的配置命令很灵活,功能也很强大,所以我们不能只通过一个小小的例子就完全掌握全部ACL的配置。在介绍例子前为大家将ACL设置原则罗列出来,方便各位读者更好的消化ACL知识。

  1、最小特权原则

  只给受控对象完成任务所必须的最小的权限。也就是说被控制的总规则是各个规则的交集,只满足部分条件的是不容许通过规则的。

  2、最靠近受控对象原则

  所有的网络层访问权限控制。也就是说在检查规则时是采用自上而下在ACL中一条条检测的,只要发现符合条件了就立刻转发,而不继续检测下面的ACL语句。

  3、默认丢弃原则

  在CISCO路由交换设备中默认最后一句为ACL中加入了DENY ANY ANY,也就是丢弃所有不符合条件的数据包。这一点要特别注意,虽然我们可以修改这个默认,但未改前一定要引起重视。

  由于ACL是使用包过滤技术来实现的,过滤的依据又仅仅只是第三层和第四层包头中的部分信息,这种技术具有一些固有的局限性,如无法识别到具体的人,无法识别到应用内部的权限级别等。因此,要达到端到端的权限控制目的,需要和系统级及应用级的访问权限控制结合使用。

  标准访问列表:

  访问控制列表ACL分很多种,不同场合应用不同种类的ACL。其中最简单的就是标准访问控制列表,标准访问控制列表是通过使用IP包中的源IP地址进行过滤,使用的访问控制列表号1到99来创建相应的ACL

  标准访问控制列表的格式

  访问控制列表ACL分很多种,不同场合应用不同种类的ACL。其中最简单的就是标准访问控制列表,他是通过使用IP包中的源IP地址进行过滤,使用的访问控制列表号1到99来创建相应的ACL。

  标准访问控制列表是最简单的ACL。

  它的具体格式如下:access-list ACL号 permit|deny host ip地址

  例如:access-list 10 deny host 192.168.1.1这句命令是将所有来自192.168.1.1地址的数据包丢弃。

  当然我们也可以用网段来表示,对某个网段进行过滤。命令如下:access-list 10 deny 192.168.1.0 0.0.0.255

  通过上面的配置将来自192.168.1.0/24的所有计算机数据包进行过滤丢弃。为什么后头的子网掩码表示的是0.0.0.255呢?这是因为CISCO规定在ACL中用反向掩玛表示子网掩码,反向掩码为0.0.0.255的代表他的子网掩码为255.255.255.0。

  小提示:对于标准访问控制列表来说,默认的命令是HOST,也就是说access-list 10 deny 192.168.1.1表示的是拒绝192.168.1.1这台主机数据包通讯,可以省去我们输入host命令。

  标准访问控制列表实例一

  我们采用如图所示的网络结构。路由器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24。在172.16.4.0/24网段中有一台服务器提供WWW服务,IP地址为172.16.4.13。

  实例1:禁止172.16.4.0/24网段中除172.16.4.13这台计算机访问172.16.3.0/24的计算机。172.16.4.13可以正常访问172.16.3.0/24。

  路由器配置命令

  access-list 1 permit host 172.16.4.13    设置ACL,容许172.16.4.13的数据包通过。

  access-list 1 deny any    设置ACL,阻止其他一切IP地址进行通讯传输。

  int e 1    进入E1端口。

  ip access-group 1 in    将ACL 1宣告。

  经过设置后E1端口就只容许来自172.16.4.13这个IP地址的数据包传输出去了。来自其他IP地址的数据包都无法通过E1传输