Cisco PT模拟实验(17) 路由器IP访问控制列表ACL配置

实验目的: 

        理解两种IP访问控制列表的原理及功能

        掌握常见IP访问控制列表的配置方法

实验背景

           公司的经理部、财务部们和销售部门分属于不同的3个网段,三部门之间用路由器进行信息传递,为了安全起见,公司领导要求销售部门不能对财务部进行访问,但经理部可以对财务部进行访问。

技术原理

  • 路由器能提供防火墙的功能,根据一些预设置的ACL过滤规则对任何经过接口的流量进行过滤,说明哪些具体的通信(来自设备、协议或端口等)是被允许或拒绝,该功能是通过路由器的访问控制列表功能实现的。

  • 访问/接入控制列表(Access Control List, ACL) ,或称包过滤,一种基于路由器或交换机接口的指令列表,用来控制端口进出的数据包,即入站(Inbound)或出站(Outbound)过滤,其主要作用如下:

    • 限制网络流量、提高网络性能

    • 提供对通信流量的控制手段,提高带宽利用率

    • 提供网络安全访问的基本手段

    • 在路由器端口处决定哪种类型的通信流量被转发或被阻塞

  • ACL适用于所有的网络层协议,如IP、IPX等协议,其中IP ACL应用极为普遍,主要有两种类型:

    • IP标准ACL,表号范围为1 ~ 99及1300~1999,只能检查数据包的源地址,功能有较大局限性;

    • IP扩展ACL,表号范围为100 ~ 199及2000~2699,不仅可检查数据包的源地址和目的地址,还可根据指定的协议类型或端口号进行过滤,功能更强,应用非常广泛。

  • ACL列表由一条条ACL语句组成,每一个ACL列表都有对应标号或名字,作为接口引用ACL的索引,当一个分组经过路由器时,路由器将自顶而下逐个对分组信息与ACL语句进行比较,ACL语句排列顺序至关重要:

    • 前提:该接口启用了ACL及出入站规则,则将对出/入站的数据包进行比较;

    • 若第一条语句匹配成功,则不再处理其他语句,路由器将允许(Permit)或拒绝(Deny)分组通过;

    • 若不匹配,则与下一条ACL语句比较,直到匹配成功并进行允许或拒绝处理;

    • 若整个ACL列表中没有匹配的语句,则分组将默认被丢弃/拒绝;

  • 根据IP ACL列表索引的不同,其配置命令格式可分为 access-list 和 ip access-list 两种,前者只能用表号作为ACL标识符,后者可使表号或名字作为ACL标识符。使用名字可不受取值范围的限制。

    • IP标准ACL命令:access-list 表号 {permit/deny} 源地址 反掩码

    • IP扩展ACL命令:access-list 表号 {permit/deny} 协议类型 源地址 反掩码 [源端口限制] 目的地址 反掩码 [目的端口限制]

  • 进入可命名的ACL配置模式下:ip access-list {standard/extended} {表号/表名}

            Router(config-std-acl)#{permit/deny} 源地址 反掩码

            Router(config-ext-acl)#{permit/deny} 协议类型 源地址 反掩码 [源端口限制] 目的地址 反掩码 [目的端口限制]

  • 出入站规则配置命令:ip access-group {表号/表名} {in/out}


实验设备:Router-PT 2台;PC 2台,Server 1台;交叉线,串口线。

实验拓扑

Cisco PT模拟实验(17) 路由器IP访问控制列表ACL配置_第1张图片

实验步骤:

        新建Cisco PT 拓扑图

        为各PC及Server设置IP及网关地址,其中网关地址分别为路由接口的IP地址

        对各Router进行相关配置(接口IP、时钟频率等)

        为各Router配置静态路由和默认路由

        测试并确保各终端(PC、Server)之间的互通性

        在Router0上配置基于编号的IP标准ACL

        在Router1上配置基于命名的IP扩展ACL

        查看路由器上访问控制列表的配置信息

        验证不同局域网PC、Server之间的相互通信


PC0 设置
192.168.1.2
//子网掩码和网关
255.255.255.0
192.168.1.1
PC1 设置
192.168.2.2
//子网掩码和网关
255.255.255.0
192.168.2.1
Server0 设置
192.168.3.2
//子网掩码和网关
255.255.255.0
192.168.3.1
/*=Part1  Router0 基本配置  */ 
Router>enable
Router#conf t
Router(config)#inter f0/0                 //进入第0模块第0端口(快速以太网接口)
Router(config-if)#ip address 192.168.1.1 255.255.255.0    //配置f0/0接口IP
Router(config-if)#no shutdown             //开启端口
Router(config-if)#exit
Router(config)#inter f1/0                 //进入第1模块第0端口(快速以太网接口)
Router(config-if)#ip address 192.168.2.1 255.255.255.0    //配置f1/0接口IP
Router(config-if)#no shutdown             //开启端口
Router(config-if)#exit
Router(config)#interface serial 2/0       //进入第2模块第0端口(串行接口)
Router(config-if)#ip address 10.10.254.1 255.255.255.0    //配置s2/0接口IP
Router(config-if)#clock rate 64000        //必须配置时钟才可通信
Router(config-if)#no shutdown             //开启端口
Router(config-if)#exit
/*=Part2  静态路由配置  */ 
Router(config)#ip route 192.168.3.0 255.255.255.0 10.254.10.2
/*=Part3  IP标准ACL配置  */
Router(config)#access-list 20 permit 192.168.1.0 0.0.0.255    
//允许192.168.1.0网段内的数据包通过
Router(config)#access-list 20 deny 192.168.2.2 0.0.0.0    
//拒绝特定192.168.2.2的数据包通过
Router(config)#access-list 20 permit any
//一般在ACL列表末尾需配置permit any语句,否则任何没有匹配到的数据包都会被丢弃    
Router(config)#inter s2/0        
Router(config-if)#ip access-group 20 out    
//在s2/0接口的出站规则上启用此ACL列表
Router(config-if)#^Z
Router#show r
Router#show access-lists
/*=Part1  Router1 基本配置  */ 
Router>enable
Router#conf t
Router(config)#inter f0/0                 //进入第0模块第0端口(快速以太网接口)
Router(config-if)#ip address 192.168.3.1 255.255.255.0    //配置f0/0接口IP
Router(config-if)#no shutdown             //开启端口
Router(config-if)#exit
Router(config)#interface serial 2/0       //进入第2模块第0端口(串行接口)
Router(config-if)#ip address 10.10.254.2 255.255.255.0    //配置s2/0接口IP
Router(config-if)#no shutdown             //开启端口
Router(config-if)#exit
/*=Part2  静态路由配置  */
Router(config)#ip route 0.0.0.0 0.0.0.0 10.254.10.1
/*=Part3  IP扩展ACL配置  */
Router(config)#ip access-list extended ACL001
Router(config-ext-nacl)#deny icmp 192.168.1.0 0.0.0.255 any echo-reply
Router(config-ext-nacl)#deny tcp 192.168.1.2 0.0.0.0 any eq telnet
Router(config-ext-nacl)#deny tcp host 192.168.1.2  any eq ftp
Router(config-ext-nacl)#permit ip any any
Router(config-ext-nacl)#permit tcp any any
Router(config)#inter s2/0        
Router(config-if)#ip access-group ACL001 out    
//在s2/0接口的出站规则上启用此ACL列表
Router(config-if)#^Z
Router#show r
Router#show access-lists
# PC0 ACL测试
ping 192.168.1.1                  //链路通
ping 10.254.10.2                  //链路通
ping 192.168.3.2                  //链路不通
访问 http://192.168.3.2               //访问成功
# PC1 ACL测试
ping 192.168.2.1                  //链路通
ping 10.254.10.1                  //链路不通
ping 192.168.3.2                  //链路不通
访问 http://192.168.3.2               //访问失败



实验环境: Windows 7,Cisco PT 7.0

参考资料:CCNA学习指南(第7版)