【ACL】访问控制列表

1.访问控制列表

1.1 ACL概述

  • 访问控制列表ACL(Access Control List)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃

  • 在这里插入图片描述

  • 访问控制列表被广泛地应用于路由器和三层交换机,借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全。

1.2 ACL在接口的应用方向

:已经过路由器的处理,正离开路由器接口的数据包;

在这里插入图片描述

:已到达路由器接口的数据包,将被路由器处理

在这里插入图片描述

注意:访问控制列表利用源IP地址、目的IP地址、源端口、目的端口以及协议五个元素定义的规则。

2.ACL的工作原理

2.1 ACL的作用

  • 用来对数据包做访问控制(丢弃或者放行)

  • 结合其他协议,用来匹配范围

2.2 ACL种类

基本ACL(2000-2999) :只能匹配源IP地址

高级ACL (3000-3999):可以匹配源IP、目标IP、源端口、目标端口等三层和四层的字段和协议

二层ACL (4000-4999):根据数据包的源Mac地址、目的Mac地址、8O2.1Q优先级、二层协议类型等二层信息制定规则.

ACL(访问控制列表)的应用原则:

基本ACL,尽量用在靠近目的点.

高级ACL,尽量用在靠近源的地方(可以保护带宽和其他资源)

2.3 ACL的应用规则

  • 一个接口同一个方向只能调用一个ACL

  • 一个ACL里面可以有多个RULE规则,按照规则ID从小到大排序,从上往下依次执行

  • 数据包一旦被某RULE匹配,就不再继续向下匹配

  • 用来做数据包访问控制时,默认隐含放过所有(华为设备)

2.4 ACL工作原理

当数据包从接口经过时,由于接口启用了ACL,此时路由器会对报文进行检查,然后做出相应的处理

在这里插入图片描述

入方向:ACL应用在设备接口入方向,当接口收到数据包时,先根据应用在接口上的ACL条件进行匹配,如果允许则根据路由表=进行转发,如果拒绝==则直接丢弃。

总结:先匹配后路由。

在这里插入图片描述

出方向:ACL应用在设备接口出方向,报文先经过路由表路由后转至出接口,根据接口上应用的出方向ACL条件进行匹配,是允许permit还是拒绝deny,如果是允许,就根据路由表转发数据,如果是拒绝就直接将数据包丢弃了。

总结:先路由后匹配。

注意:

白名单:允许个别,拒绝所有;

黑名单:允许所有,拒绝个别(只设置禁止网段即可);

3.ACL命令配置

创建ACL,并将ACL规则应用在相应接口的指定方向上;

[Huawei]acl number 2000 		###创建acl 2000
[Huawei-acl-basic-2000]rule 5 deny source 192.168.1.1 0	#拒绝源地址为192.168.1.1的流量,0代表仅此一台,5是这条规则的序号(可不加)
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 192.168.2.254 24
[Huawei-GigabitEthernet0/0/1]traffic-filter outbound acl 2000 		###接口出方向调用acl 2000,outbound代表出方向,inbound代表进入方向
[Huawei-GigabitEthernet0/0/1]undo sh

基本ACL的命令配置;

[Huawei]acl number 2001                ###进入acl 2001 列表
[Huawei-acl-basic-2001]rule permit source 192.168.1.0 0.0.0.255      ###permit代表允许,source代表来源,掩码部分为反掩码
[Huawei-acl-basic-2001]rule deny source any             ###拒绝所有访问,any代表所有 0.0.0.0 255.255.255.255
				或者   rule deny
[Huawei]interface GigabitEthernet 0/0/1	###进入出口接口
[Huawei-GigabitEthernet0/0/1]ip address 192.168.2.254 24
[Huawei-GigabitEthernet0/0/1]traffic-filter outbound acl 2001            

高级ACL的命令配置;

[Huawei]acl nmuber 3000            ###拒绝tcp为高级控制,所以3000起
[Huawei-acl-adv-3000]rule deny icmp source 192.168.1.0 0.0.0.255 destination 192.168.3.1 0		###拒绝Ping
[Huawei-acl-adv-3000]rule permit tcp source 192.168.1.3 0 destination 192.168.3.1 0 destination-port eq 80		###destination代表目的地地址,destination-port代表目的端口号,80可用www代替
[Huawei-acl-adv-3000]rule deny tcp source any destination 192.168.3.1 0 destination-port eq 80
[Huawei-acl-adv-3000]rule deny tcp source 192.168.10.0 0.0.0.255 destination 12.0.0.2 destination-port eq 21	###拒绝源地址192.168.10.0网段访问FTP服务器12.0.0.2
[Huawei-acl-adv-3000]dis this		###查看当前ACL配置是否配置成功

将ACL规则应用在接口;

[Huawei]interface g0/0/0
[Huawei-GigabitEthernet0/0/1]ip address 192.168.2.254 24
[Huawei-GigabitEthernet0/0/0]traffic-filter inbound acl 3000 	###在接口入方向应用acl

[Huawei-GigabitEthernet0/0/1]undo traffic-filter inbound 		###在接口上取消acl的应用


查看以及删除ACL的命令配置;

[Huawei] display acl 3000		###显示acl配置

[Huawei]acl nmuber 3000 
[Huawei-acl-adv-3000]dis this			###查看规则序号
[Huawei-acl-adv-3000]undo rule 5		###删除一条acl语句

[Huawei]undo acl number 3000		###删除整个ACL

4.实验:局域网内ACL的规则实现

实验拓扑图如下所示:
在这里插入图片描述

实验要求说明如下:

  • 仅允许PC1访问192.168.2.0/24网络;

  • 禁止192.168.1.0/24网络ping web服务器;

  • 仅允许client1访向web服务器的www服务;

实验环境说明如下所示:

实验步骤如下:

一、按照指定要求,分别配置PC主机、客户端Client和Server;

按照指定要求,配置主机PC;

在这里插入图片描述

按照指定要求,配置客户端Client和Server服务器;

在这里插入图片描述

二、配置路由器R1;

#
acl number 2000  
 rule 5 permit source 192.168.1.1 0 
 rule 10 deny 
#
interface GigabitEthernet0/0/0
 ip address 192.168.1.254 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 192.168.3.254 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 192.168.2.254 255.255.255.0 
 traffic-filter outbound acl 2000
#

在这里插入图片描述

在PC主机和服务器上验证结果的正确性;

在这里插入图片描述

三、(禁止192.168.1.0/24网络ping web服务器)配置路由器R1;

#
acl number 3000  
 rule 5 deny icmp source 192.168.1.0 0.0.0.255 destination 192.168.3.1 0 
#

在这里插入图片描述

ACL禁止192.168.1.0/24网络ping web服务器的命令,还未设置在路由器出接口的G0/0/1上时,PC主机以及Client客户端能够与web服务器通信;

在这里插入图片描述

查看此时的路由器R1上的ACL配置;

#
acl number 3000     ###创建标识号为3000的ACL
 rule 5 deny icmp source 192.168.1.0 0.0.0.255 destination 192.168.3.1 0 
####设置拒绝源IP网段为192.168.1.0 0.0.0.255,目标IP地址为192.168.3.1,协议为ICMP的数据报通过
interface GigabitEthernet0/0/2###将ACL3000应用在该接口上
 ip address 192.168.2.254 255.255.255.0 
 traffic-filter outbound acl 2000##将ACL作用在该接口的出口方向
#

此时PC主机和Client客户端都无法访问192.168.3.1的WEB服务器;

在这里插入图片描述

注意此时主机PC3(IP:192.168.2.1)也无法访问192.168.3.1的WEB服务器,原因是因为第一问中已经设置过,只允许192.168.1.0网段的主机ping通主机PC3,而拒绝其他网段的所有主机访问主机PC3;

解决办法:将仅允许PC1访问192.168.2.0/24网络的ACL 2000作用在路由器R1的入接口而不是出接口上,即可解决问题。

主机PC3(IP:192.168.2.1)此时可以访问192.168.3.1的WEB服务器;

在这里插入图片描述

四、(仅允许client1访向web服务器的www服务)配置路由器R1;

#
acl number 3000  
 rule 5 deny icmp source 192.168.1.0 0.0.0.255 destination 192.168.3.1 0 
 rule 10 permit tcp source 192.168.1.3 0 destination 192.168.3.1 0 destination-p
ort eq www 
 rule 15 deny tcp destination 192.168.3.1 0 destination-port eq www 
#
#
interface GigabitEthernet0/0/1
 ip address 192.168.3.254 255.255.255.0 
 traffic-filter outbound acl 3000
#

在这里插入图片描述

在客户端Client上尝试访问服务器的WWW端口;

在这里插入图片描述

此时主机PC3依然能够访问服务器,192.168.1.0网段的所有主机都不能访问服务器;

在这里插入图片描述

至此,该实验到此已圆满结束!

猜你喜欢

转载自blog.csdn.net/cailirong123/article/details/129694152