赞
踩
ACL(Access Control List 访问控制列表)是应用在路由器接口的指令列表(即规则),用来告诉路由器,哪些数据包可以接收,哪些数据包需要拒绝。
ACL是一组规则的集合,它应用在路由器的某个接口上,且与应用到接口的方向与数据方向有关,对路由器而言,访问控制列表在接口应用的两个方向:
outbound 代表出方向,inbound 代表进入方向,列表应用到接口的方向与数据方向有关。
ACL的两种作用:
ACL工作原理:
当数据包从接口经过时,由于接口启用了ACL,此时路由器会根据匹配规则对报文进行检查,然后做出相应的处理(丢弃或放行)。
访问控制列表的处理过程(顺序检查)如下:
由图可知:匹配规则是从上往下(从小到大)一步步进行匹配的,当匹配到相关的规则就停止,不会再往下进行匹配;当匹配到允许,就放过送往目的接口,当匹配到拒绝就丢弃。
若所有规则都没有匹配上,则执行隐含的规则(默认规则,华为放通)。
比如第一条规则没匹配上就往下进行第二条匹配,如果匹配上了,就处理(要么被允许,要么被拒绝),没匹配上就继续往下走,知道触发隐藏的规则为止。
–
ACL(访问控制列表)的应用原则:
ACL应用规则:
1、一个接口的同一个方向,只能调用一个ACL ;
2、一个ACL 里面可以有多个 rule 规则,按照规则ID从小到大排序,从上往下依次执行;
3、数据包一旦被某 rule 匹配,就不再继续向下匹配;
4、用来做数据包访问控制时,默认隐含放过所有(华为设备)
如果网段掩码为 255.255.255.0,反掩码则为 0.0.0.255。
如果deny / permit 跟的 单个主机的IP地址,则后面可以跟 0。
同一个ACL中的执行顺序是根据 rule 排序的,rule 5 → rule 6 → rule10。。。直到匹配上。
基本ACL配置:
#创建acl 2000 [Huawei]acl number 2000 #拒绝源地址为192.168.1.1的流量,0代表仅此一台,5是这条规则的序号(默认值为5) [Huawei-acl-basic-2000]rule 5 deny source 192.168.1.1 0 [Huawei]interface GigabitEthernet 0/0/1 [Huawei-GigabitEthernet0/0/1]ip address 192.168.2.254 24 #接口出方向调用acl,2000 outbound 代表出方向,inbound 代表进入方向 [Huawei-GigabitEthernet0/0/1]traffic-filter outbound acl 2000 [Huawei-GigabitE thernet0/0/1]undo sh #进入acl 2001 列表 [Huawei]acl number 2001 #permit代表允许,source代表来源,掩码部分为反掩码 [Huawei-acl-basic-2001]rule permit source 192.168.1.0 0.0.0.255 #拒绝所有访问,any代表所有0.0.0.0255.255.255.255 或者rule deny [Huawei-acl-basic-2001]rule deny source any [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配置:
#destination代表目的地地址,destination-port代表目的端口号,[80可用www代替] #拒绝tcp为高级控制,所以3000起 [Huawei]acl nmuber 3000 #规则是[拒绝]源网段【192.168.1.0网段】 去ping 目的地址192.168.3.1 [Huawei-acl-adv-3000]rule deny icmp source 192.168.1.0 0.0.0.255 destination 192.168.3.1 0 #规则是[允许]源IP地址【192.168.1.3】 去访问 目的地址192.168.3.1 TCP协议的80端口 [Huawei-acl-adv-3000]rule permit tcp source 192.168.1.3 0 destination 192.168.3.10 destination-port eq 80 #规则是[拒绝]所有网段 去访问 目的地址192.168.3.1 的80端口 [Huawei-acl-adv-3000]rule deny tcp source any destination 192.168.3.1 0 destination-port eq 80 #拒绝源地址【192.168.10.0网段】访问FTP服务器12.0.0.2 [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 #查看当前ACL配置是否配置成功 [Huawei-acl-adv-3000]dis this [Huawei]interface g0/0/0 [Huawei-GigabitEthernet0/0/1]ip address 192.168.2.254 24 #在接口入方向应用acl [Huawei-GigabitEthernet0/0/0]traffic-filter inbound acl 3000 #在接口上取消acl的应用 [Huawei-GigabitEthernet0/0/1]undo traffic-filter inbound [Huawei] display acl 3000 #显示acl配置 [Huawei]acl nmuber 3000 [Huawei-acl-adv-3000]dis this #查看规则序号 [Huawei-acl-adv-3000]undo rule 5 #删除一条acl语句 undo acl number 3000 #删除整个ACL
参考链接:
https://blog.csdn.net/weixin_51486343/article/details/109384577?spm=1001.2014.3001.5501
https://blog.csdn.net/Lucien010230/article/details/112249925
步骤:
实验要求:实现下图中的要求。
配置如下:
【R1】
[R1]int g0/0/0
[R1-g0/0/0]ip add 192.168.1.254 24
[R1-g0/0/1]ip add 192.168.3.254 24
[R1-g0/0/2]ip add 192.168.2.254 24
第一条要求:仅允许PC1访问192.168.2.0/24网络(与PC3通信),可以在R1的go/o/2口做出口(outbound)配置。
#配置基本ACL允许拒绝规则
[R1]acl number 2000
[R1-acl-basic-2000]rule permit source 192.168.1.1 0 #允许主机192.168.1.1通过
[R1-acl-basic-2000]rule deny source any #拒绝所有网段访问
#让3.1 能ping 2.1
[R1-acl-basic-2000]rule 7 permit source 192.168.3.1 0
[R1-acl-basic-2000]dis th
[R1-acl-basic-2000]q
#在出口使用配置好的ACL规则
[R1]int g0/0/2
[R1-GigabitEthernet0/0/2]traffic-filter outbound acl 2000
[R1-GigabitEthernet0/0/2]q
实验结果:192.168.1.0 网段只有 PC1 能够ping通192.168.2.0网段的 PC3,PC2就ping不了。
配置了两条规则,是从上到下执行,如果PC1满足R1出规则的第一条 permit 规则,那么就不往下再去执行deny any的规则了。
第一个要求完成。
第二个要求:禁止192.168.1.0/24网络 ping Web服务器(Server1),只是禁止 ping ( ICMP协议,用高级ACL进行配置) Server 1,但是其他协议功能要能正常使用,如HTTP FTP DNS等协议。
配置:
[R1]acl 3000
#[拒绝]192.168.1.0网段 去ping 主机192.168.3.1
[R1-acl-adv-3000]rule deny icmp source 192.168.1.0 0.0.0.255 destination 192.168
.3.1 0
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]traffic-filter inbound acl 3000
这时192.168.1.0 网段的主机都ping不通 192.168.3.1。
测试HTTP功能能否正常使用:
Server 1加载文件:
使用1.0网段的 192.168.1.3 客户端访问 192.168.3.1的HTTP,结果能正常获取。
第三个要求:仅允许Client1访问Web服务器(Server1)的WWW服务。WWW是TCP协议下的,要用高级ACL,www可以用80来替代。
[R1]acl 3001
#允许源主机192.168.1.3 去访问 主机192.168.3.1 TCP协议的80端口
[R1-acl-adv-3001]rule permit tcp source 192.168.1.3 0 destination 192.168.3.1 0 destination-port eq 80
#拒绝所有网段 去访问 主机192.168.3.1 的80端口
[R1-acl-adv-3001]rule deny tcp source any destination 192.168.3.1 0 destination-port eq 80
#出口调用规则
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]traffic-filter outbound acl 3001
实验结果 Client1 还是可以通过TCP协议访问Server 1.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。