一、为什么需要ACL ACL(Access Control List,访问控制列表),作用于路由器接口,用于路由器/交换机接口所通过的数据包过滤,以满足流量过滤和安全性需要! 在通常情况下,对路由器配置了某个接口路由规则后,所有经过该接口的流量均按相同的规则处理,但
一、为什么需要ACL
ACL(Access Control List,访问控制列表),作用于路由器接口,用于路由器/交换机接口所通过的数据包过滤,以满足流量过滤和安全性需要!
在通常情况下,对路由器配置了某个接口路由规则后,所有经过该接口的流量均按相同的规则处理,但有时为了安全性需要或某些其它原因,需要对接口的流量进行选择性过滤。只允许某些IP地址范围的流量通过该接口,其它IP地址的流量禁止通过。ACL正是IOS为解决类似这种接口之间的流量控制需求所提供的一个重要特征。
二、ACL的本质
实际上ACL是通过编号或名称组成的一组命令集合,用于过滤进入或离开接口的流量,从而提高网络安全性。
在ACL命令集合中,每一条命令都明确定义了满足条件的流量是允许还是拒绝。
三、ACL分类
ACL可以分为编号型ACL/命名型ACL,每一种类型又可细分为标准型和扩展型。
编号型ACL和命名型ACL区别仅在于路由器如何引用,编号型ACL按数字编号来引用,命名型ACL按名称来由路由器引用。
标准型与扩展型的区别在于
1、标准型的编号范围与扩展型编号范围不一样。标准型编号范围是:1~99,1300~1999,扩展型编号范围是:100-199,2000~2699.
2、标准型ACL只允许根据源IP地址进行过滤,而扩展型ACL不仅可以根据源IP地址进行过滤,而且还可以根据目的IP地址、源/目的端口号、协议类型过滤流量。
四、ACL处理规则
前面已经说过,ACL本质是一组通过编号或名称组合而成的一组命令,IOS在执行ACL时,永远是按自上到下的顺序来执行,也就是先执行第一条ACL语句,比较是否匹配。如果匹配,结束ACL。如果不匹配,继续执行下一条语句,直至匹配成功结束执行或者执行完所有ACL直至丢弃该分组。
因为ACL上述的既定处理规则,导致在编写ACL时,需要注意几点:
1、ACL命令组合顺序很重要,尽量将精确规则放前、概括性规则放在后面
2、ACL自上向下执行所有命令后,如果没有匹配的规则,路由器将丢弃该数据分组。这种特征称之为ACL隐式拒绝。
3、空的ACL实际将允许所有流量。
五、通配符掩码
参见链接:ACL通配符掩码
六、ACL语法说明
编号型ACL的用法可分为两步
1、全局配置模式下通过access-list命令定义ACL
2、在接口配置模式下通过access-group命令将接口与ACL绑定
编号型标准ACL:
语法:access-list number {permit|deny} source-address source-mask [log]
其中:access-list关键字必须使用
number必须指定,number为具体编号,取值范围为:1~99,1300~19999
permit|deny必须指定,明确指定是允许或禁止
source-addrss为源IP地址,必须指定
source-mask为源地址掩码,可选参数。不指定等于0.0.0.0,表示匹配指定的源IP地址。如指定掩码,则表示源IP地址中哪个部分需匹配。
log参数可选,用于定期产生日志信息,列出ACL被匹配次数
编号型扩展ACL:
编号型扩展ACL与编号型标准ACL之间区别在于:
扩展ACL与标准ACL的编号范围不同,扩展ACL编号范围是:100-199,2000~2699
扩展ACL除了象标准ACL一样,可以按源IP地址匹配外,还可以根据目的IP地址、源/目的端口号,传输层协议来进行过滤,过滤范围更广。
扩展ACL可以在一条access-list中检查多个规则,当一个命令列出多个规则后,数据包必须同时匹配所有规则。
命名型ACL配置步骤
1、在全局配置模式下使用ip access-list{standard|extended} ACL-name命令创建ACL
2、进入命名ACL配置模式,定义一系列permit|deny命令匹配规则
3、在接口配置模式下通过ip access-group命令将接口与ACL绑定
七、ACL使用实例
八、IOS中查看ACL命令
1、show running-config :同时显示已配置的ACL以及接口上激活的ACL
2、show access-lists:显示所有ACL的配置信息
3、show ip interface:列出接口的配置信息,包括ACL信息。
我儿子真帅!