ACL
一、ACL概述
1.1 Access Control List
(访问控制列表)
重要级别:高!
1.2 ACL的作用
ACL是一种包过滤技术!
1.3 ACL应用场景
路由器上、防火墙上
路由器上就叫ACL!
防火墙上一般称为策略!策略就是升级版的ACL,策略可以基于IP、端口、协议、应用层数据进行各种过滤
二、ACL怎么过滤?
ACL是基于数据包中的IP地址、端口号来对数据包进行过滤!
三、ACL的分类
3.1 标准ACL
标准---Standard表号:1-99或1300-1999
特点:只能基于源IP地址对包进行过滤!
3.2 扩展ACL
扩展---Extended
表号:100-199或2000-2699
特点:可以基于源IP地址、目标IP地址、目标端口号、协议等对包进行过滤!
四、ACL的过滤原理
4.1 配置ACL的小技巧
1)先判断要控制的数据流源和目标,并画出控制数据流的方向!进而判断ACL可以写在哪些路由器上!
2)打开那台路由器,开始编写ACL过滤规则!
3)最后将ACL表应用到某个接口的某个方向才能生效!
4.2 ACL的原理
1)ACL表配置完毕后,必须应用到接口的in或out方向上,才能生效!
2)一个接口的一个方向上只能应用一张表。
3)在所有ACL表的最后都有一条隐藏的拒绝所有条目(大boss) !
4)在匹配ACL时,是严格自上而下的匹配每一条的! 匹配成功,则完成动作,没匹配成功,则继续匹配下一条,如全部不匹配,则直接丢弃拒绝通过!(一定要注意书写的先后顺序!!)
5)标准ACL因为只能基于源IP对包进行过滤,so建议写在靠近目标端的地方!
6) 一个ACL编写完成后,默认情况下,不能删除某一条,也不能往中间插入新的条目,只能继续往最后追加新的条目!
五、ACL命令
5.1 标准ACL命令
conf t
access-list 表号 permit/deny 条件
表号:1-99
条件:源IP+反子网掩码
反子网掩码:0.0.0.255 0代表严格匹配 255代表不需要匹配!
例如:
access-list 1 deny 192.168.1.0 0.0.0.255 # 拒绝源IP为192.168.1.0网段的流 量
access-list 1 permit 0.0.0.0 255.255.255.255 # 允许所有网段
access-list 1 deny 192.168.2.1 0.0.0.0 # 拒绝一台主机/拒绝一个人
简化:
0.0.0.0 255.255.255.255 == any
192.168.2.1 0.0.0.0 == host 192.168.2.1
简化后:
access-list 1 deny 192.168.1.0 0.0.0.255 # 拒绝源IP为192.168.1.0 网段的流量
access-list 1 permit any # 允许所有网段
access-list 1 deny host 192.168.2.1 # 拒绝一台主机/拒绝一个人
5.2 扩展ACL命令
conf t
access-list 表号 permit/deny 协议 源IP 反掩码 目标IP 反掩码 [eq 端口号]
表号:100-199
协议:TCP/UDP/IP/ICMP (当写了端口号,只能写tcp或udp)
注释:ICMP协议就是ping命令所使用的协议,ICMP协议是网络探测协议,ping别人,就是生成
ICMP探测包发给对方,然后对方给我回应一个ICMP探测包,代表ping通了!
[ ]:代表可选
以下案例:
conf t
access-list 101 permit tcp 192.168.1.0 0.0.0.255 192.168.6.1 0.0.0.0 eq 80
access-list 101 deny ip 192.168.1.0 0.0.0.255 192.168.6.0 0.0.0.255
access-list 101 permit ip any any
5.3 将ACL表应用到接口上
int f0/1
ip access-group 102 in/out
exit
5.4 查看列出所有ACL表
show ip access-list
六、命名ACL
6.1 用命名acl创建表的方法
conf t
ip access-list extended 表名
开始从permit/deny编辑每一条即可
编写完exit退出即可!
6.2 命名ACL的好处
使用命名ACL格式可以任意删除某一条,也可以插入某一条!
例如:
R1(config)#do sh ip acce
Extended IP access list 120
10 deny icmp any any
20 deny udp 192.168.1.0 0.0.0.255 any eq domain
30 permit ip any any
可以删除某一条,如需要删除第二条,做如下操作:
R1(config)#ip access-list extended 120
R1(config-ext-nacl)#no 20
R1(config-ext-nacl)#exit
结果如下:
R1(config)#do sh ip acce
Extended IP access list 120
10 deny icmp any any
30 permit ip any any
R1(config)#
注释:如需要插入某一条,需要在条目前加数字即可!