实训三:访问控制列表
实训二、网络控制列表
一、 实训说明:
ACL(Access Control List,访问控制列表) ,简单说就是包过滤,在路由器上读取第三层及第四层包头中的信息如源地址、目的地址、源端口、目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。ACL 的主要功能就是一方面保护资源节点,阻止非法用户对资源节点的访问,另一方面限制特定的用户节点所能具备的访问权限。ACL 并不复杂,但在实际应用中的,要想恰当地应用ACL ,必需要制定合理的策略。
配置ACL 的基本原则:在实施ACL 的过程中,应当遵循如下两个基本原则:最小特权原则:只给受控对象完成任务所必须的最小的权限。最靠近受控对象原则:所有的网络层访问权限控制。具体规则如下:
1、入站访问控制列表:将到来的分组路由到出站接口之前对其进行处理。因为如果根据过滤条件分组被丢弃,则无需查找路由选择表;如果分组被允许通过,则对其做路由选择方面的处理。
2、出站访问列表:到来的分组首先被路由到出站接口,并在将其传输出去之前根据出站访问列表对其进行处理。
3、访问控制列表的顺序决定被检验的顺序,最特殊的的规则应该被刚到访问控制列表的前面。
4、任何访问列表都必须至少包含一条permit 语句,否则将禁止任何数据流通过。
5、同一个访问列表被用于多个接口,然而,在每个接口的每个方向上,针对每种协议的访问列表只能有一个。
6、在每个接口的每个方向上,针对每种协议的访问列表只能有一个。同一个接口上可以有多个访问列表,但必须是针对不同协议的。
7、将具体的条件放在一般性条件的前面;将常发生的条件放在不常发生的条件前面。
8、新添的语句总是被放在访问列表的末尾,但位于隐式deny 语句的前面。
9、使用编号的访问列表时,不能有选择性的删除其中的语句;但使用名称访问列表时可以。
10、除非显式地在访问列表末尾添加一条permit any语句,否则默认情况下,访问列表将禁止所有不与任何访问列表条件匹配的数据流。
11、访问控制列表应绑定到端口上,创建访问列表后再将其应用于接口,如果应用于接口的访问列表未定义或不存在,该接口将允许所有数据流通过。
12、访问列表只过滤经由当前路由器的数据流,而不能过滤当前路由器发送的数据流。
13、应将扩展访问列表放在离禁止通过的数据流源尽可能近的地方。
14、标准访问列表不能指定目标地址,应将其放在离目的地尽可能近的地方。 ACL 局限性:由于ACL 是使用包过滤技术来实现的,过滤的依据又仅仅只是第三层和第四层包头中的部分信息,这种技术具有一些固有的局限性,如无法识别到具体的人,无法识别到应用内部的权限级别等。因此,要达到end to end的权限控制目的,需要和系统级及应用级的访问权限控制结合使用。
完成本实验所需的基本操作技术:
Packet Tracer仿真软件的使用
本实验涉及的知识点:
包过滤技术
本实验中的技术点:
配置访问控制列表的规则
本实验涉及的技能:
路由器的配置
二、 实训目的:
掌握访问控制列表的设置规则,提升对于网络的应用能力。
三、 实训硬件环境:
计算机,思科交换机等设备,网络仿真软件。
四、 实训任务
(1)、ACL 配置实例
1、网络拓扑图
图一、网络拓扑图
2、因为路由器选择的是2620XM 。没有串口,所以在画拓扑图之前,先为路由器增加串口,如下图。
图二、2620XM 增加串口
3、路由器配置
图三、R1的IP 地址和时钟配置
图四、R1的动态路由配置(RIP )-通过命令行
图五、R0配置
图六、R0的动态路由配置(RIP )-通过图形界面
4、PC 配置以及测试连通性
图七、PC 配置
图八、网络连通性配置
此时,网络中所有设备能够实现通信。
5、路由器1上设置访问控制列表并进行网络连通性测试
图九、设置访问控制列表
图十、网络连通性测试
总结:本来能够实现通信的双方,此时PING 的结果是100%lost。表示访问控制列表设置成功。
(2)、ACL 配置测试
1、网络拓扑结构
图十一、网络拓扑结构
说明:
路由器“陈”:
S0/0的IP 地址: 10.68.1.1 255.255.255.0
S0/1的IP 地址: 10.67.1.2 255.255.255.0
路由器“晓”:
fa0/0的IP 地址: 10.65.1.2 255.255.255.0
fa0/1的IP 地址: 10.66.1.2 255.255.255.0
S0/1的IP 地址: 10.68.1.2 255.255.255.0
路由器“丹”:
fa0/0的IP 地址: 10.69.1.2 255.255.255.0
fa0/1的IP 地址: 10.70.1.2 255.255.255.0
S0/0的IP 地址: 10.67.1.1 255.255.255.0
终端A 的IP 地址:10.65.1.1 255.255.255.0 网关10.65.1.2
终端B 的IP 地址:10.66.1.1 255.255.255.0 网关10.66.1.2
终端C 的IP 地址:10.69.1.1 255.255.255.0 网关10.69.1.2
终端D 的IP 地址:10.70.1.1 255.255.255.0 网关10.70.1.2
终端E 的IP 地址:10.65.1.3 255.255.255.0 网关10.65.1.2
2、测试终端A 能否PING 通终端D 。
3、在路由器“陈”上做如下配置:
RouterChen(config)#access-list 1 permit 10.65.1.1 0.0.0.0
RouterChen(config)#access-list 1 deny any
RouterChen(config)#int s0/0
RouterChen(config-if)#ip access-group 1 in
RouterChen(config-if)#end
RouterChen#sh access-list 1
4、此时终端A B C D E 之间互相PING 测试 ,哪些终端可以实现通信?为什么?
5、在路由器“陈”上做如下配置:
下面再写一个访问控制列表,先删除原访问控制列表:
RouterChen (config)#no access-list 1
RouterChen (config-if)#no ip access-group 1 in
二者都可以实现去掉访问列表的目的。前者是从列表号角度删除,后者是从端口和输入或输出的角度删除。
可以通过show access-list 命令查看删除情况,新的访问控制列表如下: RouterChen (config)#access-list 2 deny 10.65.1.1 0.0.0.255
RouterChen (config)#access-list 2 permit any
RouterChen (config)#int s0/1
RouterChen (config-if)#ip access-group 2 out
RouterChen (config-if)#end
RouterChen#sh access-list
这个访问控制列表比上一个访问控制列表有以下几点不同:
(1)先deny 后permit ,
(2)禁止的是一个10.65.1.0网络
(3)是输出的访问控制列表
6、此时终端A B C D E 之间互相PING 测试 ,哪些终端可以实现通信?为什么?
7、扩展的访问控制列表
扩展的访问控制列表,有源和目的两个ip ,并且要指明应用的协议。实际中可控制的协议有很多,本软件实际只支持icmp 的echo 操作,用以说明问题。
例1. 阻止PCA 访问PCD:
RouterChen (config)#access-list 101 deny icmp 10.65.1.1 0.0.0.0 10.70.1.1 0.0.0.0 echo
RouterChen (config)#access-list 101 permit ip any any
RouterChen (config)#int s0/0
RouterChen (config-if)#ip access-group 101 in
RouterChen#sh access-list 101
PCA #ping 10.70.1.1 (不通)(请求echo 包被禁止)
PCE #ping 10.70.1.1 (通)
PCD #ping 10.65.1.1 (通)
例2. 阻止10.65.1.0/24网络访问 10.70.1.1(PCD)。
RouterChen (config)#access-list 102 deny icmp 10.65.1.1 0.0.0.255 10.70.1.1 0.0.0.0 echo
RouterChen (config)#access-list 102 permit ip any any
RouterChen (config)#interface s0/1
RouterChen (config-if)#ip access-group 102 (默认为out)
PCA #ping 10.70.1.1 (不通)(PCE:10.65.1.1禁止)
PCE #ping 10.70.1.1 (不通)(PCE:10.65.1.3禁止)