ACL:access control list
访问控制列表
网络当中哪些流量可以通过,哪些流量不能通过,哪些用户可以登录,哪些用户拒绝登录。
permit 允许
deny 拒绝
flow control
ACL的功能:
(1)过滤:针对通过路由器的IP包进行过滤,决定数据包是否通过
(2)分类:针对通过路由器的IP包进行标识(标记)分类处理,有其他协议或者进行可能会调用这个ACL中匹配的结果
ACL分的分类:
(1)standard ACL,标准ACL
编号范围:1-99,1300-1399
(2)extended ACL,扩展ACL
编号范围:100-199,2000-2699
【(3)named ACL,命名ACL 】
DOS:denial of service,拒绝服务攻击
DDOS:distributed denial of service,分布式拒绝服务攻击
***ACL要么用于控制到达我本身的流量,要么用于控制穿越我的流量,我无法控制自己本地始发的流量
ACL分为入站(inbound ACL)ACL和出站ACL(outbound ACL)
入站ACL和出站ACL的效率比较????
入站ACL要先匹配ACL,在查询路由表
出站ACL要先查询路由表,最后在匹配ACL列表
客观的结论:入站ACl效率要高于出站ACL,这个过程中,减少了路由表查询的压力
标准ACL:只能根据源地址进行过滤IP包(只能匹配match源IP地址)
语法:
access-list 1 permit/deny 192.168.1.0 0.0.0.255
access-list 1 permit/deny 192.168.1.100 0.0.0.0
扩展ACL:能够根据源IP、目的IP、源tcp/udp端口号、目的tcp/udp端口号、协议类型进行match过滤
access-list 110 permit/deny tcp host 192.168.1.100 host 200.1.1.1 eq 80
access-list 110 permit/deny tcp 192.168.1.100 0.0.0.0 200.1.1.1 0.0.0.0 eq 80
access-list 110 permit/deny tcp 192.168.1.0 0.0.0.255 200.1.1.1 0.0.0.0 eq 80
*******************************************************
思科的网络设备,会在你做的ACl最后,追加一条语句“默认拒绝所有访问所有”
标准ACL:access-list 1 deny any
扩展ACL:access-list 110 deny ip any any
如果我在R1上写了一条ACL:
access-list 1 permit 192.168.1.0 0.0.0.255
access-list 1 deny any
实现的效果:只有192.168.1.0段的这254台主机能够上网,其他网段的主机都没戏
access-list 110 permit tcp host 192.168.1.100 host 200.1.1.1 eq 80
access-list 110 deny ip any any
实现的效果:只有192.168.1.100这台主机能够访问200.1.1.1的网页服务,其他人都不行
**********************************************
ACL的匹配规则:“自顶向下逐条匹配”
eg:
ACL 110
5 deny tcp 192.168.1.0 0.0.0.255 200.1.1.1 0.0.0.0 eq 443
10 deny udp host 10.1.1.0 0.0.0.255 100.1.1.1 0.0.0.0 eq 22
15 deny ip any any
ACL在书写的时候,应该至少包含一条允许permit的语句,否则这个设备就会被置为黑洞
如果ACL策略中有些策略你忘记写了,或者漏掉了,你可以通过设置新的ACL的序列号进行添加
ACL在配置的时候,一定要记得,先写好策略,最后一定要在某个具体的接口下应用,同时定义好使入站ACL还是出站ACL