网络基础CCNP篇|思科ACL详解

ACL:(access control list访问控制列表)

操控的是数据层面

  1. 是IOS软件里面的一个工具(对流量标记)
  2. 是一张表,记录了允许或拒绝的陈述
  3. 基于IP数据包里面的信息进行流量标记
  4. 流量被标记之后,我可以执行某些动作
  5. ACL可以在交换机上使用,也可以在路由器上使用

作用

  1. 标记流量(在IP数据包里面进行标记的)
  2. 允许或拒绝一些标记的流量访问

适用范围

  1. 交换机或路由器
  2. 经过自己接口的流量,不适用自己发向别人的流量

限制条件

  1. 每个接口只能配一个ACL

ACL的作用位置,在路由选择之后,在转发出接口处:(如图)

网络基础CCNP篇|思科ACL详解_第1张图片
在Test ACL Statements中
ACL具有表项,隐式存在最后一条表项是拒绝所有,因此一般表最后加一个Permit any。
匹配顺序:由上至下,逐条匹配。

对于一个路由器,假如收到一个数据

  1. 我该把这个数据转发到哪?
  2. 我应该转发这个数据吗?ACL
  3. 我该怎么转发这个数据?QoS

ACL分类:

1. 根据配置方法

  • 编号的ACL:access-list 开头
    问题:不能删除其中的某一个表项,一删全删。
  • 命名的ACL:ip access-list开头

2. 根据功能分类

  • 标准的ACL
    仅仅检查源IP地址,通常允许或拒绝整个协议栈,杀伤力极强。

尽量部署在靠近目的的一端(先路由,再匹配,这样就源就可以访问多个目的了,即使 浪费了一点资源)

  • 扩展的ACL
    不仅检查源和目的IP地址,还检查协议(传输层网络层各种协议),应用(源目端口号)。

尽量部署在源的近端(先匹配,再路由,节省资源)

  • 二层的ACL
    能根据源目MAC地址,type字段来匹配

再次重申
ACL能管理流量:别人发给自己的(经过自己的或者发给自己的)
ACL不能管理流量:即自己发给别人
能够对流量进行分类控制
从上到下开始匹配一旦ACL匹配成功则停止匹配(所以写命令时一定要记住先后顺序)
具有隐式拒绝所有 deny any
Deny 192.168.1.0 0.0.0.3 拒绝了.0 .1 .2 .3
Permit any

通配符掩码:
0:精确匹配
1:忽略匹配
允许 192.168.1.1 .3 .5 .7四个网段
把IP转化为二进制后的最后三位为:
0 0 1
0 1 1
1 0 1
1 1 1
即Permit 192.168.1.1 0.0.0.6
000
010
100
110
只拒绝 192.168.1.0 .2 .4 .6四个网段
deny 192.168.1.0 0.0.0.6
0001
0010

0111
1001
1010
只匹配 192.168.1.1 -.10 10个网段
permit 192.168.1.1 0.0.0.0
deny 192.168.1.0 0.0.0.7
Deny 192.168.1.8 0.0.0.1
Deny 192.168.1.10 0.0.0.0

ACL各类具体操作:

ACL编号
标准的ACL:1-99,1300-1999
扩展的ACL:100-199,2000-2699

编号ACL:(不推荐,因为不可以逐条删除,可不记)

标准ACL:

创建一个表项:
access-list 1(编号为1) deny(拒绝) 192.168.12.1 0.0.0.0(源IP地址)
access-list 1 permit(同意) any(所有源IP) 取消隐式拒绝所有
应用表项于接口:
ip access-group 1 out(出流量)进入接口配置出流量还是入流量
删除一个表项:
no access-list 100

扩展ACL:

例如:
access-list 100 deny tcp(协议) host 192.168.12.1
host 192.168.23.3 eq 23(telnet)
access-list 100 permit ip (协议)any any
ip access-group 100 in

命名的ACL:可以逐条删除ACE

标准的ACL:

创建一个表项:
(config)ip access-list standard 1
(config-std标准-nACL命名的acl)50(acl表项的编号) permit 1.1.1.1

删除一个表项中编号50的一项:
(config-std-nacl) no 50
删除一个表项:
No ip access-list standard 1
删除接口的历史匹配记录conf-if#no ip access-group 1 in
应用表项于接口:
ip access-group 1 in
例如:
ip access-list standard kiss
deny 1.1.1.1 0.0.0.0
permit any
ip access-group kiss in
No ip access-list standard kiss 删除ACL

扩展的ACL:

(config)#ip access-list extended ccie
(config-ext-nacl)#permit tcp 10.0.12.1

0.0.0.0(通配符)(源IP) any(目的IP) eq(端口号) 80
五元祖:permit/deny 协议 源IP地址 [源端口号可不加] 目的IP地址 [目的端口号可不加]
(config-ext-nacl)#permit ip any any 隐式允许所有
(config-ext-nacl)#int e0/0
(config-if)#ip access-group ccie in

show ip access-lists查看ACL表

注意
只要ACL采用的是名字,那就一定是命名的配置
如果采用号,那就不一定是命名配置还是编号配置

思科设备中的ACL表
范围小的思科自动放在上边

范围大的思科自动放在下边

你可能感兴趣的:(网络基础CCNP篇|思科ACL详解)