访问控制列表有什么作用?
①控制数据包
②匹配感兴趣流量
注意:我们平时的上网行为就是一个数据包的发送和接收过程,不同的上网行为对应不同的数据包。
数据包的五元组:
源IP地址 目的IP地址 协议 源端口 目的端口
QQ:电脑上的网卡IP地址 QQ服务器的地址 UDP 电脑上的任意端口 8000
PING:发送端的发送接口地址 接收端的接收接口地址 ICMP echo-request echo-reply
TELNET:发送端的发送接口地址 被TELNET的设备接收接口地址 TCP 本台设备上的任意端口 23
ACL的类型:三种
①标准的ACL:1-99,标准的ACL只能针对数据包的源IP地址进行控制,不能针对数据包的目的IP地址以及协议号进行控制。删除的时候只能针对一整张列表上的所有条目进行删除。可控性低。
A.通过标准的ACL实现PC不能访问R3:
IOU2(config)#access-list 1 deny host 172.16.1.1 --配置列表拒绝目标
IOU2(config)#access-list 1 permit any--末尾隐含拒绝所有,所以需要写一条匹配所有的语句。
IOU2(config)#int e0/0--进入接口调用ACL
IOU2(config-if)#ip access-group 1 in
B.使用标准ACL实现PC能够ping R3但是不能TELNET R3:
IOU3(config)#access-list 1 deny host 172.16.1.1
IOU3(config)#access-list 1 permit any
IOU3(config)#line vty 0 4--只需要在VTY线路上调用ACL,针对从172.16.1.1这个源过来的所有数据流量
IOU3(config-line)#access-class 1 in --对于vty线路来说,所有的数据要想访问vty都属于in方向。
②拓展的ACL:100-199,拓展的ACL不仅能够针对数据包的源,还能够针对数据包的目的端以及协议-端口号进行控制。删除的时候只能针对一整张列表上的所有条目进行删除。可控性低。
A.通过拓展ACL实现PC能够ping R3但是不能TELNET R3:
IOU3(config)#access-list 101 deny tcp host 172.16.1.1 any eq 23--列表101 拒绝主机172.16.1.1到达本台设备上的所有地址的TELNET功能。(tcp 23端口就是代表telnet,这表写eq 23 或者 eq telnet都行)
IOU2(config)#access-list 101 permit ip any any
IOU2(config-if)#ip access-group 101 in
③命名的ACL:命名的ACL,是基于标准和拓展ACL的另外一种形式,删除的时候可以针对某一条单独的命令进行删除。可控性高。分为命名标准ACL和命名的拓展ACL。
IOU1(config)#ip access-list standard 1
IOU1(config-std-nacl)#permit 1.1.1.0 0.0.0.255
IOU1(config-std-nacl)#permit 1.1.3.0 0.0.0.255
IOU1(config-std-nacl)#permit 1.1.2.0 0.0.0.255
IOU1(config-std-nacl)#no permit 1.1.3.0 0.0.0.255
A.命名的标准ACL:
通过命名的标准ACL实现PC能够ping R3但是不能TELNET R3:
IOU3(config)#ip access-list standard PC
IOU3(config-std-nacl)#deny host 172.16.1.1
IOU3(config-std-nacl)#permit any
IOU3(config)#line vty 0 4
IOU3(config-line)#access-class PC in
B.命名的标准ACL:
通过命名的拓展ACL实现PC能够ping R3但是不能TELNET R3:
IOU3(config)#ip access-list extended PC
IOU3(config-ext-nacl)#deny tcp host 172.16.1.1 any eq 23
IOU3(config-ext-nacl)#permit ip any any
IOU3(config)#line vty 0 4
IOU3(config-line)#access-class PC in
ACL的使用规则:
①访问控制列表是根据序号从上往下、有小到大依次执行的,所以最小的序列号一般在最上面。
②访问控制列表本质上是一个匹配工具,在全局模式下配置完成之后,需要进入接口(物理接口、远程的登录接口、回环接口、NAT)调用,否则无效。一个接口上分为两个方向(进、出),每个接口的每个方向上只能调用一个ACL。
③访问控制列表末尾隐含一条拒绝所有的语句,所以配置完ACL之后,需要再写一条允许所有语句,否则就只有列表中允许的那些条目能够通过。该拒绝所有的语句在列表中无法显示。(access-list 1 deny any)
④访问控制列表,匹配完网段以后,后面要跟上反掩码(通配符)。如果没有跟上反掩码的话,默认就是跟上0.0.0.0
⑤访问控制列表只能针对经过或者往返自己的数据包进行控制,不能够对自己产生的数据包进行控制。
将ACL置于网络中时:
①扩展 ACL 应靠近源地址
②标准 ACL 应靠近目的地址
原文:https://blog.51cto.com/14367225/2420461