实验拓扑图:
一、前言
什么是ACL?
- 当网络流量不断增长的时候,对数据流进行管理、限制、过滤的方法
- 作为通用判别标准应用到不同场合
ACL的分类
- 标准ACL(以源地址作为过滤标准,只能粗略的限制某一大类协议)
- 扩展ACL(以源地址、目的地址、协议类型、端口号等作为过滤标准,可以精确的限制到某一种具体的协议)
工作原理
标准与扩展ACL的比较
ACL的规则
- 按照由上到下的顺序执行,找到第一个匹配后即执行相应的操作(然后跳出ACL)
- 末尾隐含为deny全部
- ACL可应用于IP接口或某种服务
- 在引用ACL之前,要首先创建好ACL 对于一个协议,一个接口的一个方向上同一时间内只能设置一个ACL
二、实验步骤
1.配置IP地址和网关
具体步骤略,见上一篇
主机 | IP地址 | 子网掩码 | 网关 |
---|---|---|---|
PC1 | 10.0.1.10 | 255.255.255.0 | 10.0.1.2 |
PC2 | 10.0.1.11 | 255.255.255.0 | 10.0.1.2 |
PC3 | 10.0.2.10 | 255.255.255.0 | 10.0.2.1 |
配置接口时同时使用命令no shut
路由器 | 接口 | IP地址 | 掩码 |
---|---|---|---|
R1 | f0/0 | 192.168.5.1 | 255.255.255.0 |
R1 | f1/0 | 192.168.4.2 | 255.255.255.0 |
R1 | f1/1 | 192.168.1.1 | 255.255.255.0 |
R2 | f0/0 | 192.168.4.1 | 255.255.255.0 |
R2 | f1/0 | 192.168.2.1 | 255.255.255.0 |
R2 | f1/1 | 192.168.3.1 | 255.255.255.0 |
2.配置路由器和交换机
1)为R1R2配置动态路由
具体步骤略,见上一篇
(config)#router rip(开启RIP配置)
(config-router)#version 2(启用RIP版本2)
(config-router)#no auto-summary(禁用自动汇总)
(config-router)#network X.X.X.0(所有直连网段)
2)交换机与路由器相连的接口改为dot1q类型
具体步骤略,见上一篇
/此时,全网可以通信。
3.要求1:标准ACL的配置
- 在R1上配置标准ACL拒绝所有10.0.2.0/24中的主机对R2的访问。
- 10.0.1.0/24中主机可以互访R2;
- 10.0.2.0/24和10.0.1.0/24之间主机可以互访
4.创建标准访问控制列表1
采用标准ACL时,路由器只检查源地址
R1(config)#access-list 1 deny 10.0.2.0 0.0.0.255
R1(config)#access-list 1 permit 10.0.1.0 0.0.0.255
5.显示配置结果
R1#sh access-list
Standard IP access list 1
10 deny 10.0.2.0, wildcard bits 0.0.0.255
20 permit 10.0.1.0, wildcard bits 0.0.0.255
6.应用到R1的f0/0接口的out方向上
R1(config)#int f0/0
R1(config-if)#ip access-group 1 out
R1(config-if)#exit
此时,PC3与R2无法通信。
7.要求2:扩展ACL的配置
原有配置保持不变,实现除PC1可Telnet R2,其它网内PC均不允许Telnet R2.
8.创建扩展访问控制列表100
R1(config)#access-list 100 permit tcp host 10.0.1.10
host 10.0.0.2 eq telnet
R1(config)#access-list 100 deny tcp 10.0.1.0 0.0.0.255
host 10.0.0.2 eq telnet
R1(config)#access-list 100 permit ip any any
9.应用到R1的f1/0接口的in方向上
R1(config)#int f1/0
R1(config-if)#ip access-group 100 in
R1(config-if)#exit
10.开启R2上的telnet访问权限
验证扩展ACL前,需开启R2上的telnet访问权限:设置R2的enable密码+配置telnet
(这里为了记忆设置的用户名和密码一样)
//设置R2上的enable密码
R2(config)#enable secret xing2022 //password(明文)
R2(config)#line vty 0 4 //开放telnet远程访问
R2(config-line)#password xing2022
R2(config-line)#login
R2(config-line)#exit
//远程虚拟终端退出登录的指令quit
三、实验结果
测试时,由于版本原因,PC1不支持telnet操作。
所以,设置R3代替PC1,IP地址与PC1一样,配置动态路由,修改switch1的e3的接口类型为dot1q.
【测试telnet时,将PC1关掉,打开R3。】
测试1:10.0.1.0网段可以与R2通信
PC1->R2
PC2->R2
测试2:10.0.1.0网段可以与10.0.2.0网段通信
PC3->PC1,PC3->PC2
测试4:10.0.2.0网段不可以与R2通信
测试3:只有PC1可以Telnet R2,其他都不可以
所谓telnet就是远程控制
将PC1关掉,打开R3
验证可以远程控制R2
quit退出远程控制
将R3的f0/0的接口IP地址改为10.0.1.12模拟该网段的其他PC机都无法远程控制R2
R3#config t
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)#int f0/0
R3(config-if)#ip addr 10.0.1.12 255.255.255.0
R3(config-if)#exit
R3(config)#exit
再次尝试远程控制R2
目标地址无法到达,无法远程控制R2。验证成功
四、思考与总结
一个稍微复杂一点的网络
1.1)创建标准访问控制列表1\2\3
R2(config)#access-list 1 permit 192.168.1.0 0.0.0.255
R2(config)#access-list 1 permit 192.168.2.0 0.0.0.255
R2(config)#access-list 2 permit 192.168.3.0 0.0.0.255
R2(config)#access-list 3 permit 192.168.3.0 0.0.0.255
R2(config)#access-list 3 permit 192.168.5.0 0.0.0.255
1.2)若改配扩展访问控制列表101\102\103
首先用no+原命令删除上述1.1配置
R2(config)#access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255
R2(config)#access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
R2(config)#access-list 102 permit ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255
R2(config)#access-list 103 permit ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255
R2(config)#access-list 103 permit ip 192.168.5.0 0.0.0.255 192.168.2.0 0.0.0.255
2)分别应用到R2的三个接口的out方向上
R2(config)#int f1/1
R2(config-if)#ip access-group 1 out
R2(config-if)#exit
R2(config)#int f1/0
R2(config-if)#ip access-group 2 out
R2(config-if)#exit
R2(config)#int f2/0
R2(config-if)#ip access-group 3 out
R2(config-if)#exit
R2(config)#exit
3)显示配置结果
R2#show access-list
Standard IP access list 1
10 permit 192.168.1.0, wildcard bits 0.0.0.255
20 permit 192.168.2.0, wildcard bits 0.0.0.255
Standard IP access list 2
10 permit 192.168.3.0, wildcard bits 0.0.0.255
Standard IP access list 3
10 permit 192.168.3.0, wildcard bits 0.0.0.255
20 permit 192.168.5.0, wildcard bits 0.0.0.255
测试成功:
学生区只能访问数据中心
数据中心只能访问学生区和教学区
教学区只能访问数据中心和外网