访问控制列表ACL(Access Control Lists)数据定义工具,基于用户自行定义的数据的参数区分不同的数据流,是在交换机和路由器上经常采用的一种防火墙技术,它可以对经过网络设备的数据包根据一定规则进行过滤。它有以下一些作用:在内网布署安全策略,保证内网安全权限的资源访问;内网访问外网时,进行安全的数据过滤;防止常见病毒、木马、攻击对用户的破坏。
ACL通过允许或拒绝特定的数据包进入网络,交换机可以对网络访问进行控制,有效保证网络的安全运行。用户可以基于报文中的特定信息制定一组规则(rule),每条规则都描述了对匹配一定信息的数据包所采取的动作:允许通过(permit)或拒绝通过(deny)。 交换机可以应用访问列表对流经接口的数据包进行控制,包括:入栈应用(in)和出栈应用(out)。其中入栈应用指经某接口进入设备内部的数据包进行安全规则过滤,出栈应用指设备从某接口向外发送数据时进行安全规则过滤。这样特定端口上特定方向的数据流就必须依照指定的ACL规则进入交换机,但是交换机的二层接口只能对入栈的数据进行控制。并且需要注意一个接口在一个方向只能应用一组访问控制列表。
IP访问控制列表的分类
(1)基本类型的访问控制列表有如下两类。
标准访问控制列表:只能通过IP数据包中的源IP地址进行过滤。
扩展访问控制列表:可以针对包括协议类型、源IP地址、目的IP地址、源端口、目的端口、TCP连接建立等进行过滤。
(2)其他类型的访问控制列表有如下两类。
命名访问控制列表:以列表名代替列表编号来定义IP访问控制列表,同样包括标准和扩展两类访问控制列表,定义过滤的语句与编号方式相似。
基于时间的访问控制列表:在原有的标准或扩展访问控制列表中,加入有效的时间范围来更合理地控制网络。
标准ACL的编号为1~99、1300~1999。
扩展ACL的编号为100~199、2000~2699。
扩展ACL通常用在尽量靠近数据流源地址的位置。
命名访问控制列表的命令为ip access-list,在命令中用standard和extended来区别标准访问控制列表和扩展访问控制列表;而编号访问控制列表的配置命令为access-list,并且使用编号来区别标准访问控制列表和扩展访问控制列表。
一般情况下,配置ACL应遵循以下步骤:
- 定义ACL规则。
- 绑定ACL到设备接口的某一方向上。
实验拓扑如下图所示
VLAN( 包括端口) | trunk端口 | IP地址 | 子网掩码 | 网关 | |
SW-2 | 10(1-5) | E0/0/24 |
|
|
|
11(6-10) |
|
|
| ||
SW-3 | 10 | E0/0/1 | 192.168.10.254 | 255.255.255.0 |
|
11 | 192.168.11.254 | 255.255.255.0 |
| ||
PC1 | 192.168.10.1 | 255.255.255.0 | 192.168.10.254 | ||
PC2 | 192.168.11.1 | 255.255.255.0 | 192.168.11.254 |
一、标准IP访问控制列表的配置:
步骤1:按图所示,连接网络拓扑结构。
步骤2:按表所示,配置计算机的IP地址、子网掩码和网关。
步骤3:在三层交换机SW-3上配置VLAN、TRUNK口,并为VLAN指定IP地址。
步骤4:二层交换机SW-2的基本配置。
配置交换机名称并创建相应的VLAN添加VLAN端口,并配置TRUNK口。
步骤5:配置PC1和PC2的IP地址,在PC1上使用Ping命令测试PC1与PC2的连通性,PC1与PC2应可以正常通行。
步骤6:在三层交换机SW-3上启用包过滤功能,设置缺省行为为允许;定义ACL并应用。
SW-3 (config)#access-list 10 deny 192.168.10.0 0.0.0.255 //创建编号的标准ACL
SW-3 (config)#access-list 10 permit any any
SW-3 (config)#interface ethernet 0/0/1 //进入到0/0/1的接口配置模式
SW-3 (config-Ethernet0/0/1)#ip access-group 10 in //在接口的入站方向应用ACL
步骤7:验证,在PC1上使用Ping命令测试PC1与PC2的连通性。结果显示PC1不能再访问PC2,即ACL阻断了PC1对PC2的访问。
步骤8:在SW-3上查看配置。
- SW-3#show access-group //查看三层交换机ACL应用
- Interface name:Ethernet0/0/1
- Ingress access-list used is 10.
二、扩展IP访问控制列表的配置:
步骤1:按图所示,连接网络拓扑结构图。
步骤2:按表所示,配置计算机的IP地址、子网掩码和网关。
步骤3:在PC2上安装和配置FTP服务器与WEB服务器。
步骤4:在三层交换机SW-3上配置VLAN、TRUNK口,并为VLAN指定IP地址。
步骤5:配置二层交换机SW-2的名称并创建相应的VLAN添加VLAN端口,并配置TRUNK口。
步骤6:在三层交换机SW-3上启用包过滤功能,设置缺省行为为允许;定义ACL并应用。
SW-3 (config)#access-list 100 deny tcp 192.168.10.0 0.0.0.255 192.168.11.0 0.0.0.255 d-port 20
//创建编号为100的acl,拒绝从192.168.10.0到192.168.11.0的tcp协议端口为20的访问
SW-3 (config)#access-list 100 deny tcp 192.168.10.0 0.0.0.255 192.168.11.0 0.0.0.255 d-port 21
//创建编号为100的acl,拒绝从192.168.10.0到192.168.11.0的tcp协议端口为20的访问
SW-3 (config)#access-list 100 deny tcp 192.168.10.0 0.0.0.255 192.168.11.0 0.0.0.255 eq 80
//创建编号为100的acl,拒绝从192.168.10.0到192.168.11.0的tcp协议端口为80的访问
SW-3 (config)#access-list 100 permit ip any any
SW-3 (config)#interface ethernet 0/0/1 //进入到1/1的接口配置模式
SW-3 (config-Ethernet0/0/1)#ip access-group 100 in //在接口的入站方向应用ACL
三、命名IP访问控制列表的配置:
1、命名标准IP访问控制列表配置:
SW-3 (config)#ip access-list standard denyip //命名标准ACL名称denyip
SW-3 (config)# deny 192.168.10.0 0.0.0.255 //拒绝访问IP
SW-3 (config)# permit any any
SW-3 (config)#interface ethernet 0/0/1 //进入到0/0/1的接口配置模式
SW-3 (config-Ethernet0/0/1)#ip access-group denyip in //在接口的入站方向应用ACL
2、命名扩展IP访问控制列表配置:
SW-3 (config)#access-list 100 extended denyftpwww
//命名扩展ACL名称denyftpwww
SW-3 (config)# deny tcp 192.168.10.0 0.0.0.255 192.168.11.0 0.0.0.255 d-port 20
//创建编号为100的acl,拒绝从192.168.10.0到192.168.11.0的tcp协议端口为20的访问
SW-3 (config)# deny tcp 192.168.10.0 0.0.0.255 192.168.11.0 0.0.0.255 d-port 21
//创建编号为100的acl,拒绝从192.168.10.0到192.168.11.0的tcp协议端口为20的访问
SW-3 (config)# deny tcp 192.168.10.0 0.0.0.255 192.168.11.0 0.0.0.255 eq 80
//创建编号为100的acl,拒绝从192.168.10.0到192.168.11.0的tcp协议端口为80的访问
SW-3 (config)# permit ip any any
SW-3 (config)#interface ethernet 0/0/1 //进入到1/1的接口配置模式
SW-3 (config-Ethernet0/0/1)#ip access-group denyftpwww in //在接口的入站方向应用ACL
四、基于时间的访问控制列表:
步骤1:配置禁止访问网页的时间。
SW-3 (config)#time-range shangban //建立时间表shangban
SW-3_config_time_range#periodic weekdays 8:00 to 12:00//设置周期性时间
SW-3_config_time_range#periodic weekdays 13:30 to 17:30//设置周期性时间
SW-3_config_time_range#exit //退出时间表设置模式
步骤10:查看time-range。
SW-3#show time-range //查看时间表
time-range entry: shangban (inactive)
periodic weekdays 08:00 to 12:00
periodic weekdays 13:30 to 17:30
步骤2:配置基于时间的访问控制列表。
SW-3 (config)#ip access-list extended denyWANGYE
//建立基于时间的访问控制列表denyWANGYE
SW-3_config_ext_nacl#deny tcp 192.168.10.0 255.255.255.0 192.168.11.1 255.255.255.255 eq 80 time-range shangban
//拒绝192.168.10.0网段在规定时间内访问192.168.11.1上的网页
SW-3_config_ext_nacl#permit ip any any //允许所有IP数据包通过
SW-3_config_ext_nacl#exit //退出列表配置模式
步骤12:查看SW-3上的访问控制列表。
SW-3#show ip access-lists //查看访问控制列表
Extended IP access list denyWANGYE
deny tcp 192.168.1.0 255.255.255.0 192.168.3.2 255.255.255.255 eq www time-range shangban
permit ip any any
步骤13:将列表绑定到相应端口。
SW-3 (config)#interface fastethernet0/0 /1 //进入快速以太口0/0/1接口模式
SW-3 _config_f0/0/1#ip access-group deny WANGYE in