访问控制列表ACL     
ACL的分类
标准ACL 扩展ACL 命名ACL 时间ACL 自返ACL 基于MAC的ACL 动态ACL
标准ACL 访问控制列表号1-99 根据源IP过滤流量 一般用于接近目的地的地方。
标准ACL的配置
Router(config)#access-list 1 permit\deny 192.168.2.0 0.0.0.255
Router(config)#access-list 1 permit 192.168.2.1 255.255.255.255
Router(config)#access-list 1 permit host 192.168.2.1
默认隐含拒绝
Router(config)#access-list 1 deny 0.0.0.0 255.255.255.255
Router(config)#access-list 1 deny any
删除
Router(config)#no access-list 1
应用在接口
Router(config-if)#ip access-group 1 in\out
在接口上取消ACL的应用
router(config-if)# no ip access-group 1 in\out
扩展ACL  访问控制列表号100-199 根据源IP,目标IP,指定协议,端口和标志过滤流量 一般用于接近源的地方。
Router(config)# access-list 100{ permit | deny }ip 192.168.2.0.0 0.0.0.255  host 192.168.1.1
Router(config)# access-list 101 deny icmp 192.168.1.0 0.0.0.255 host 192.168.2.2 echo
Router(config)# access-list 101 deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21
Router(config)# access-list 101 permit ip any any
删除ACL
Router(config)# no access-list 100
将ACL应用于接口
Router(config-if)# ip access-group 100 {in |out}
在接口上取消ACL的应用
Router(config-if)# no ip access-group 100 {in |out}
命名ACL配置
 
Router(config)# ip access-list { standard | extended }   access-list-name
Router(config-std-nacl)# [ Sequence-Number ] { permit | deny } 192.168.2.2
Router(config-ext-nacl)# [ Sequence-Number ] { permit | deny } tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21
删除组中单一ACL语句
Router(config-std-nacl)# no 10
Router(config-std-nacl)#no permit host 192.168.1.1
删除整组ACL
Router(config)# no ip access-list { standard | extended } access-list-name
将ACL应用于接口
Router(config-if)# ip access-group access-list-name {in |out}
在接口上取消ACL的应用
Router(config-if)# no ip access-group access-list-name {in |out}
时间ACL
定义时间范围的名称
Router(config)# time-range time-range-name
指定该时间范围何时生效
定义一个时间周期
Router(config-time-range)# periodic days-of-the-week hh:mm to [days-of-the-week] hh:mm
定义一个绝对时间
Router(config-time-range)# absolute [start hh:mm day month year] [end hh:mm day month year]
扩展ACL中引入时间范围
Router(config)# access-list 100 { permit | deny } tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21 time-range time-range-name
将ACL应用于接口
Router(config-if)# ip access-group access-list-number { in |out }
ACL的应用
实验拓扑:
实验步骤:
一.基本步骤
1)r1
en
conf t
lin co 0
logg sy
exec-t 0 0
exi
no ip do lo
ho r1
int f0/0
ip add 192.168.4.1 255.255.255.0
no sh
int f1/0
ip add 192.168.1.1 255.255.255.0
no sh
exi
router rip
ver 2
no au
net 192.168.1.0
net 192.168.4.0
 
2)r2
en
conf t
lin co 0
logg sy
exec-t 0 0
exi
no ip do lo
ho r2
int f0/0
ip add 192.168.4.2 255.255.255.0
no sh
int f1/0
ip add 192.168.5.1 255.255.255.0
no sh
int lo 0
ip add 192.168.2.1 255.255.255.0
exi
router rip
ver 2
no au
net 192.168.2.0
net 192.168.4.0
net 192.168.5.0
 
 
3)r3
en
conf t
lin co 0
logg sy
exec-t 0 0
exi
no ip do lo
ho r3
int f0/0
ip add 192.168.5.2 255.255.255.0
no sh
int f1/0
ip add 192.168.3.1 255.255.255.0
no sh
exi
router rip
ver 2
no au
net 192.168.3.0
net 192.168.5.0
exi
 
 
4)pc
>1 ip add 192.168.1.2 192.168.1.1 24
>2 ip add 192..168.3.2 192.168.3.1 24
>1 ping 192.168.3.2
>1 ping 192.168.2.2
 
二.标准ACL的配置
在R3上:
access-list 1 deny host 192.168.1.2
access-list permit any
int f0/0
ip access-group 1 in
end
show access-list
实验结果:PC >1 ping 192.168.2.2   
             >1 ping 192.168.3.2   不通
no access-list
三.扩展ACL的配置
在R1上:
access-list 101 prenit top host 192.168.1.2 host 192.168.3.2 eq 80
access-list 101 deny ip host 192.168.1.2 host 192.168.3.2
access-list 101 premit ip host 192.168.1.2 192.168.2.0 0.0.0.255
int f0/0
ip access-group 101 in
end
show access-list
实验结果:PC>1 ping 192.168.3.2 不通
          PC>1 ping 192.168.2.2
no access-list
四.命名ACL的配置
ip access-list standard/extended name
permit ip host 192.168.1.2 host 192.168.2.2
deny ip any host 192.168.2.2
 
end
show access-list
实验结果:PC>1 ping 192.168.2.2 通
          PC>2 ping 192.168.2.2 不通
五.定时ACL的配置
实验步骤:搭建实验环境,实现全网互通。Pc3建立web网站,在s1上建立定时ACL
En
Conf t
Time-range mytime
Periodic weekeays 8:30-17:30
Exit
Access-list 101 permit top 192.168.10.0 0.0.0.255 host 192.168.20.2 eq 80 time-range mytime
(建立定时ACL)
 
Access-list 101 deny ip 192.168.10.0 0.0.0.255 host 192.168.20.2
Access-list 101 permit icmp host 192.168.1.2 host 192.168.20.2
Access-list 1 permit top host 192.168.1.2 host 192.168.20.2 eq 23
Username benet password test
Line vty 0 4 login local
Access-class 1 in 
Access-list 101 deny icmp any host 192.168.20.2
Int vlan 20
Ip access-group 101 in
实验结果:vlan 10 周一-----周五8:30-17:30能访问web服务器,但拒绝其他服务。
          主机pc1 可以ping通服务器,拒绝其他ping服务器
          只有pc1可以远程服务器