- ACL(访问控制值列表)
通过ACL可以实现对网络中报文流的精确识别和控制,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的,从而切实保障网络环境的安全性和网络服务质量的可靠性。
应用于路由器接口的指令列表,用于指定哪些数据包可以接收转发,哪些数据包需要拒绝。
permit(允许):数据包过滤,允许那些流量通过
deny (拒绝):数据包过滤,拒绝那些流量通过
ACL分类:
编号标准acl 命名标准acl
编号高级acl 命名高级acl
下文中的 R2(config)#access-list 1 deny host 192.168.1.1
不写host 默认为 R2(config)#access-list 1 deny 192.168.1.1 0.0.0.0(通配符)
通配符特点:wildcard bits【只有ACL中才会用】
-关注的是0对应的某些位
-不关注1对应的某些位
-0和1的位置,是随意的
可以长的像掩码一样,比如 255.255.0.0
可以长的像反掩码一样,比如 0.0.255.255
可以既不像掩码也不像反掩码,比如 0.255.0.255
例如:access-list 1 permit 192.168.12.0 0.0.0.255 此语句表示允许12.0这个网段的流量通过
目录
准备工作:
路由器之间通过V.35电缆串口连接,DCE端连接在R1上,配置其时间频率为64000;主机与路由器通过交叉线连接;
两个路由器R1,R2都如下配置
之后再连接两个路由器
设置时间钟
实验目标:部署合适的编号标准ACL,实现PC0不能访问s0,其他均可以正常访问
实验拓扑图:
1.配置路由器接口地址
R1(config)#in fa0/0
R1(config-if)#ip add 192.168.1.254 255.255.255.0
R1(config-if)#no shR1(config-if)#in fa0/1
R1(config-if)#ip add 192.168.2.254 255.255.255.0
R1(config-if)#no shR1(config-if)#in se0/3/0
R1(config-if)#ip add 192.168.12.1 255.255.255.0
R1(config-if)#no sh
R2(config)#in fa0/0
R2(config-if)#ip add 172.16.1.254 255.255.255.0
R2(config-if)#no shR2(config-if)#in se0/3/0
R2(config-if)#ip add 192.168.12.2 255.255.255.0
R2(config-if)#no sh
2.配置ospf
R1(config)#router ospf 1
R1(config-router)#network 192.168.1.0 0.0.0.255 area 0 //0.0.0.255为反掩码
R1(config-router)#network 192.168.2.0 0.0.0.255 area 0
R1(config-router)#network 192.168.12.0 0.0.0.255 area 0
R2(config)#router ospf 1
R2(config-router)#network 192.168.12.0 0.0.0.255 area 0
R2(config-router)#network 172.16.1.0 0.0.0.255 area 0
3.配置标准ACL(使用编号)
由于标准ACL不能填写目标地址,故写ACL时应该离目标(s0)越近越好
此实验在R2的fa0/0的出口out处配置(路由器每个接口in/out方向只能配置一个ACL,in还是out随具体情况)
编号1-99表示为标准ACL
(语句要从小写到大,先写具体IP的语句,再写网段的语句,最后写any)
R2(config)#access-list 1 deny host 192.168.1.1
R2(config)#access-list 1 permit any
R2(config)#inter fa0/0
R2(config-if)#ip access-group 1 out
4.测试通信
展示R2的ACL show access-lists 1
查看接口的ACL配置情况 show ip inter fa0/0
展示pc0的通讯情况:
5.删除ACL和接口的ACL配置
6.编号标准ACL有许多缺点bug
删除(no)ACL中的一个语句,会导致整个ACL全删除;
配置的ACL语句是死板地从上往下执行的,也就是说,配置完了ACL,之后再添加语句,可能会失效。例如,首先配置的允许permit IP192.168.1.0 0.0.0.255,之后再配置拒绝deny IP192.168.1.1,但是实际中此IP192.168.1.1仍然是允许的。
7.改进:用命令标准ACL实现
standard 标准
extended 拓展(高级)
用命名标准ACL就实现了层次化的ACL语句的部署,默认情况下,每条ACL语句都有序号,第一条序号为10,第二条序号为20......在之后的插入,可以通过序号实现再插入语句的插入位置
R2(config)#ip access-list standard ccna //ccna为可自定义名字
R2(config-std-nacl)#deny host 192.168.1.1 //默认序号为10
R2(config-std-nacl)#permit any //默认序号为20
R2(config-std-nacl)#exit
R2(config)#inter fa0/0
R2(config-if)#ip access-group ccna out
删除ACL中的语句