简介
访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。 [2]
访问控制列表具有许多作用,如限制网络流量、提高网络性能;通信流量的控制,例如ACL可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量;提供网络安全访问的基本手段;在路由器端口处决定哪种类型的通信流量被转发或被阻塞,例如,用户可以允许E-mail通信流量被路由,拒绝所有的 Telnet通信流量等。 [2]
访问控制列表从概念上来讲并不复杂,复杂的是对它的配置和使用,许多初学者往往在使用访问控制列表时出现
工作原理
①当一个数据报进入一个端口,路由器检查这个数据报是否可路由。 [4]
如果是可以路由的,路由器检查这个端口是否有ACL控制进入数据报。 [4]
如果有,根据ACL中的条件指令,检查这个数据报。 [4]
如果数据报是被允许的,就查询路由表,决定数据报的目标端口。 [4]
②路由器检查目标端口是否存在ACL控制流出的数据报。 [4]
若不存在,这个数据报就直接发送到目标端口。 [4]
若存在,就再根据ACL进行取舍。然后在转发到目的端口。 [4]
总之,一入站数据包,由路由器处理器调入内存,读取数据包的包头信息,如目标IP地址,并搜索路由器的路由表,查看是否在路由表项中,如果有,则从路由表的选择接口转发(如果无,则丢弃该数据包),数据进入该接口的访问控制列表(如果无访问控制规则,直接转发),然后按条件进行筛选。 [4]
当ACL处理数据包时,一旦数据包与某条ACL语句匹配,则会跳过列表中剩余的其他语句,根据该条匹配的语句内容决定允许或者拒绝该数据包。如果数据包内容与ACL语句不匹配,那么将依次使用ACL列表中的下一条语句测试数据包。该匹配过程会一直继续,直到抵达列表末尾。最后一条隐含的语句适用于不满足之前任何条件的所有数据包。这条最后的测试条件与这些数据包匹配,通常会隐含拒绝一切数据包的指令。此时路由器不会让这些数据进入或送出接口,而是直接丢弃。最后这条语句通常称为隐式的“deny any”语句。由于该语句的存在,所以在ACL中应该至少包含一条permit语句,否则,默认情况下,ACL将阻止所有流量。 [5]
ACL配置:
基本ACL:因为只能识别源IP,所以为了避免误删,调用时尽量靠近要求中的目标
[r2]acl ?
INTEGER<2000-2999> Basic access-list(add to current using rules)
INTEGER<3000-3999> Advanced access-list(add to current using rules)
[r2]acl 2000 //创建ACL 2000
[r2-acl-basic-2000]rule deny source 172.16.0.30 0 //拒绝单个IP
[r2-acl-basic-2000]rule deny source 172.16.0.30 0.0.0.255 //拒绝一个范围(网段)
[r2-acl-basic-2000]rule deny source any //拒绝所有
注:动作可以换成permit
[r2]interface GigabitEthernet 0/0/1
[r2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000 //接口调用ACL
高级ACL:因为可以识别的更精确,所以调用时尽量靠近源
[r1]acl 3000
[r1-acl-adv-3000]rule deny tcp source 172.16.0.10 0 destination 172.16.0.1 0 destination-port eq 23
协议 源IP 目标IP 目标端口号
[r1]acl name vlan10 basic/advance 命名的配置方式
[r1]display acl all //查看所有的ACL列表
Total quantity of nonempty ACL number is 2
Advanced ACL 3000, 2 rules
Acl's step is 5
rule 5 deny tcp source 172.16.0.10 0 destination 172.16.0.1 0 destination-port eq telnet
rule 10 deny icmp source 172.16.0.10 0 destination 172.16.0.66 0 (5 matches)
Advanced ACL vlan10 3999, 3 rules
Acl's step is 5
rule 5 deny ip source 1.1.1.1 0
rule 10 deny ip source 1.1.1.2 0
rule 15 deny ip source 1.1.1.3 0
序号
ACL匹配规则:
至上而下按照顺序依次匹配,一旦匹配中流量,则不再查看下一条。
ACL的分类:
基本ACL:只能匹配数据包中的源IP地址
高级ACL:可以识别数据包中的源、目IP地址,源、目端口号以及协议号