******想要进入全国网工交流群,结交更多网工,提升技术硬实力?添加微信号 spotoa ,进入全国网工交流40群!********
阅读福利:网工必备60G资料包,回帖即可领取下载链接啦!
01 什么是ACL?
访问控制列表(Access Control list,ACL)是应用在路由器接口的指令列表(即规则)。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。
它读取的是TCP/IP五层模型的第三层、第四层的报文头信息,根据预先定义好的规则对报文进行过滤。
所以,ACL本质上是一种过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。
ACL根据IP报头中的源地址、协议号、目标地址和TCP报头中的源端口、目标端口这5个元素来定义规则。
02 为什么使用ACL?
ACL 起到维护网络流量正常流动的作用,这种对网络流量的监管是维护组织或网络安全的主要方式,访问控制列表有助于限制似乎不适合组织安全的流量,从而最终实现更好的网络性能。
使用访问控制列表的主要原因是维护网络的安全并保护它免受易受攻击和危险的尝试,如果消息在未经过滤的情况下通过网络传输,则将组织置于危险之中的机会就会增加。
通过使用访问控制列表,为网络授予特定的安全级别,来规范所有那些被授权和未被授权由用户使用的服务器、网络和服务,此外,ACL 有助于监控进入和离开系统的所有数据。
03 ACL的分类
①标准 ACL
标准型 ACL只能匹配源IP 地址,在应用中有三种匹配的方式: 1、 any,指任意地址 2、 <net><mask>,指定某个IP 网段 3、 src_range ,指定 IP 的地址范围
配置命令:
ip access-list standard <name> // 标准 ACL,name为名字 {permit | deny} any {permit | deny} <network> <net-mask> {permit | deny} src_range <start-ip> <end-ip>
②扩展型 ACL
扩展型 ACL可匹配多个条目,常用的项目有源、目的IP ,源、目的端口号,以及 ip协议号(种类)等,可以用来满足绝大多数的应用。在一个条件中,这些项目的前后顺序如下:协议号,源ip地址,源端口号,目的ip地址,目的端口号。
配置命令:
ip access-list extended <name> {permit |deny} {ip|icmp |tcp| udp} {any |network |src_range} [src_port] {any | network | src_range} [dst_port]
04 ACL规则
来看看ACL的 “deny | permit”语句。 这些条件语句,我们称作ACL规则(rule)。其中的“deny | permit”,称作ACL动作,表示拒绝/允许。
每条规则都拥有自己的规则编号,如5、10、4294967294。
这些编号,可以自行配置,也可以由系统自动分配。系统是怎样自动分配规则编号的?
ACL规则的编号范围是0~4294967294,所有规则均按照规则编号从小到大进行排序。
所以,上图中我们可以看到rule 5排在首位,而规则编号最大的rule 4294967294排在末位。系统按照规则编号从小到大的顺序,将规则依次与报文匹配,一旦匹配上一条规则即停止匹配。
除了包含ACL动作和规则编号,我们可以看到ACL规则中还定义了源地址、生效时间段这样的字段。这些字段,称作匹配选项,它是ACL规则的重要组成部分。
其实,ACL提供了极其丰富的匹配选项。
你可以选择二层以太网帧头信息(如源MAC、目的MAC、以太帧协议类型)作为匹配选项,也可以选择三层报文信息(如源地址、目的地址、协议类型)作为匹配选项,还可以选择四层报文信息(如TCP/UDP端口号)等等。 你只需分析清楚需要过滤的报文的特征,便可以指定使用哪一种ACL匹配选项,从而让ACL能正确的识别需过滤的报文。
05 ACL 的匹配规则
一个端口执行哪条ACL,这需要按照列表中的条件语句执行顺序来判断。如果一个数据包的报头跟表中某个条件判断语句相匹配,那么后面的语句就将被忽略,不再进行检查。数据包只有在跟第一个判断条件不匹配时,它才被交给ACL中的下一个条件判断语句进行比较。
如果匹配(假设为允许发送),则不管是第一条还是最后一条语句,数据都会立即发送到目的接口。
如果所有的ACL判断语 句都检测完毕,仍没有匹配的语句出口,则该数据包将视为被拒绝而被丢弃(隐含拒绝:deny any )。这里要注意,ACL不能对本身产生的数据包进行控制。
06 ACL的调用
不同的模块来调用, 将会起到不同的作用, 这也是 ACL应用广泛的根本原因。常见的调用ACL的模块有:
①包过滤:ip access-group ②网络地址转换:NAT ③策略路由:PBR ④ip 服务质量:QoS ⑤动态路由过滤:RIP/OSPF等
较为常用的是access-group ,其调用方法非常需要确定两个因素:
1、具体配置接口选择:一般的原则是离开要被控制的主机更近的那个口。
2、方向选择: 方向有 in和 out 两种,一个接口的一个方向上只能同时调用一个 ACL条目。
配置命令: interface fastethernet ip access-group <name> in|out
—————————————————————————————————— HCIE/CCIE的提升空间有多少?看看群内聊天讨论就知道!
添加老杨老师微信:spotoa,加入全国网工交流群(已建立50+个),获取更多CCIE/HCIE考试一手资讯+考试必备资料,也欢迎添加网工老杨老师微信:spotoa
【推荐阅读】
|