ACL 课堂笔记

noteId: D1DF44F47788437B89FC4507EE7B6368 · 原始路径:/ALL/网络 - C模块/ACL、前缀列表/ACL 控制访问列表/ACL 课堂笔记.note

关于 ACL:

ACL 应用于入接口,可以不会消耗太多硬件资源;应用于出接口,流量每次通过出接口,都需要耗费硬件资源进行一次条目匹配

个人理解:入接口不会消耗太多硬件资源的原因是,入接口不用进行查路由表进行路由转发,ACL条目匹配后直接执行即可

出接口消耗硬件资源的原因是,数据包进入到路由器后,需要查一次路由表进行路由转发,然后到了出接口,该数据包又被丢弃了,因此浪费了查数据表时的那硬件资源。

因此,ACL尽量应用于入接口,但很多是入接口ACL无法做到的事情,

比如,限制只能有管理人员访问其它人,所有其它人不能访问管理人员,那么,则需要在路由器连接管理人员的接口的出接口上,配置 ACL ,丢弃 第一次的 ping包(echo包)

例如,要让某条链路只能通过 ICMP协议的数据包(ping包),那么,则只需要在该条链路两端接口的出接口中,配置允许ICMP,因为有一条默认拒绝所有的条目,所以直接配置完成。

像这些配置,都是在入接口上无法完成的,(虽说能够完成,但会付出很大的“代价”,从限制某个链路、某个端口,变成了直接限制路由器,本来只限制访问终端,能通过路由器,但若是配置在入接口上,则可能使流量无法通过路由器)

ACL概述:访问控制列表(Access_Control,ACL)由匹配条件和采取的动作(允许或禁止)的语句组成。在对应的网络设备的接口中应用访问控制列表,则通过匹配数据包信息与访问表参数来决定允许数据包是通过还是拒绝。访问控制列表判断数据包的依据是源地址、目的地址、源端口、目的端口和协议等。访问控制列表可以限制网络流量,提高网络性能,控制网络通信流量等,同时ACL也是网络访问控制的基本安全手段。

1、访问列表类型,访问列表可分为标准IP访问列表和扩展IP访问列表。

● 标准访问列表:其只检查数据包的源地址,从而允许或拒绝基于网络、子网或主机的IP地址的所有通信流量通过路由器的出口。

● 扩展IP访问列表:它不仅检查数据包的源地址,还要检查数据包的目的地址、特定协议类型、源端口号、目的端口号等。

2、每一个接口可以在进入(inbound)和离开(outbound)两个方向上分别应用一个ACL,且每个方向上只能应用一个ACL。ACL语句包括两个动作,一个是拒绝(deny)即拒绝数据包通过,过滤掉数据包,一个是允许(permit)即允许数据包通过,不过滤数据包。

● 在路由选择进行以前,应用在接口进入方向的ACL起作用。

● 在路由选择决定以后,应用在接口离开方向的ACL起作用。

● 每个ACL的结尾有一个隐含的“拒绝的所有数据包(deny all)”的语句。

3、访问控制列表书写:子网掩码与IPACL中的IP地址一起使用,以指定应允许和拒绝的内容。用于在接口上配置IP地址的掩码以255开头,左侧具有较大的值,例如IP地址209.165.202.129和255.255.255.224掩码。IPACL的掩码正好相反,例如掩码0.0.0.255。这有时称为逆掩码或通配符掩码。当掩码值分解为二进制(0和1)时,结果确定在处理流量时要考虑哪些地址位。0表示必须考虑地址位(精确匹配);掩码中的1是“不在乎”。

案例1:

access-list 10 permit 192.168.10.0 0.0.0.255

access-list 10 deny any (该语句为隐含语句不需要配置)

案例2:

access-list 10 permit 192.168.146.0 0.0.1.255

access-list 10 deny any (该语句为隐含语句不需要配置)

案例3:

access-list 10 deny host 192.168.10.100
access-list 10 permit 192.168.10.0 0.0.0.255

access-list 10 deny any (该语句为隐含语句不需要配置)

案例4:

access-list 101 deny tcp host 10.1.1.2 host 172.16.1.1 eq telnet
access-list 101 permit ip 10.1.1.0 0.0.0.255 172.16.1.0 0.0.0.255

access-list 10 deny any (该语句为隐含语句不需要配置)

案例5:

ip access-list standard test
permit host 192.168.10.10
deny 192.168.10.0 0.0.0.255
permit any

案例6:

ip access-list extended test
permit tcp host 192.168.10.10 host 192.168.100.100 eq 22
deny tcp 192.168.10.0 0.0.0.255 any eq 22
permit ip any any

标准访问控制列表:

匹配 源地址

扩展访问控制列表:

匹配 五元组:

源地址、目的地址、源端口号、目的端口号、协议

配置 ACL 时应遵守的规则:

每一个接口都可以在 入接口 和 出接口 应用一个 ACL 表,且只能存在一张 ACL表

每张 ACL表 的结尾都会有一个 拒绝所有数据包(deny all)的语句

如果不是标准服务进行发起,那么源端口都是随机端口:(1024 ~ 65535)

反掩码(通配符):

1 表示无所谓,0 表示严格匹配(精确匹配)

标准访问控制列表:1 ~ 99

扩展访问控制列表:100 ~ 199

ACL表只具有本地意义

查看 ACL :

show access-list

从上往下进行匹配,匹配成功立即执行相应的操作

可命名 ACL :

ip acc ?

当不指定序号时,便会从 10 开始进行叠加