暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ACL原理以及配置

周怡的技术栈 2020-05-23
428


想学IT?想当黑客?那加我微信吧!咱们细唠~  MANGO_Feb

一.什么是ACL?

  访问控制列表(Access Control list,ACL)是应用在路由器接口的指令列表(即规则)。它读取的是TCP/IP五层模型的第三层、第四层的报文头信息,根据预先定义好的规则对报文进行过滤。

IP数据报报头结构

TCP报头结构

  ACL根据IP报头中的源地址、协议号、目标地址和TCP报头中的源端口、目标端口这5个元素来定义规则。

ACL的作用

  ACL的作用是用于控制设备之间的数据包的互通。

二.ACL的类型

基本ACL

  编号范围2000-2999
  参数:源IP地址(不管是谁发的任何流量,都抓取到,不能做筛选。不精细)

高级ACL

  编号范围3000-3999
  参数:源P地址、目的IP地址、源端口、目的端口、协议号(能对同一个源做不同流量的控制,更加精细)

三.ACL的规则

  每个ACL可以包含多个规则,路由器根据规则对数据流量进行过滤。
  ACL规则的查找顺序是从小到大,当查找到匹配的规则后,则不再往下查找。例如:有编号5、编号10、编号15这3条规则,会从编号5开始查找,如果编号5的规则不匹配,则继续查找编号10,如果编号10匹配了,则不再查找编号15。

四.ACL配置

配置基本ACL


配置server1:

配置PC1:

配置PC2:

配置路由器:

测试PC1和PC2的连通性:

测试PC1和Server1的连通性:

测试PC2和Server1的连通性:

通过测试可以看到,此时的配置是正确的,所有设备都能互通,接下来根据要求要配置ACL。
需求描述
  1.禁止PC1访问服务器 Server1
  2.允许其他所有的访问流量

在R1上配置基本ACL:
配置命令:

[R1]acl 2000
[R1-acl-basic-2000]rule 10 deny source 192.168.1.1 0.0.0.0
[R1-acl-basic-2000]int g0/0/1
[R1-GigabitEthernet0/0/1]traffic-filter inbound acl 2000
[R1-GigabitEthernet0/0/1]q


配置了ACL之后再测试PC1和Server1的连通性:

不通,配置成功!但是PC2和Server1是通的。

到此,基本ACL的就配置完毕了。

配置高级ACL


配置PC1:

配置Client1:

配置Server1:

配置R1、R2、R3各个接口的IP地址:



配置R1、R2、R3的静态路由,这里也可以配置OSPF,我就配置静态路由了,方便大家理解:



分别测试PC1与Client1、Server1的连通性:


通过测试可以看到,此时的配置是正确的,所有设备都能互通,接下来根据要求要配置高级ACL。
需求描述
  1.允许Clien1访问 Server1的Web服务
  2.允许Client1访问网络192.168.2.0/24
  3.禁止Client1访问其它网络

先启动Server1的web服务:

1.允许Clien1访问 Server1的Web服务
  分析:题意得知允许Client1访问Server1的web服务,没有说还可以访问其他服务,所以这条规则是,允许的操作,并且只能访问web服务,其他服务不能访问,我们只允许web服务就好。

配置命令:

rule 5 permit tcp source 192.168.1.1 0.0.0.0 destination 192.168.3.1 0.0.0.0 destination-port eq 80



解析:
rule:是规则的意思,表示要配置规则
5:规则号 取值范围是:0-4294967294
permit:允许
tcp:协议。题意说的是web服务,web服务的端口是tcp80,所以这里写tcp
source:源IP地址
0.0.0.0 :通配符。也可以写成一个0
destination:目标IP地址
destination-port:目标端口
eq:等于

测试Client1是否能访问Server1的web服务:

如上图所示,能成功访问web服务。配置成功!

2.允许Client1访问网络192.168.2.0/24
  分析:根据题意得知这是一条允许的规则。没有说明具体的服务,则允许访问2.0网段的所有服务,那么使用ip协议。

配置命令:

rule 10 permit ip source 192.168.1.1 0.0.0.0 destination 192.168.2.0 0.0.0.255


3.禁止Client1访问其它网络
  分析:根据题意得知这是一条拒绝的规则。结合前2条要求,得出最后的效果是:基于Server1来说,Client1只能访问web服务,其他服务包括ping都不能访问;允许Client1访问192.168.2.0网段,其他网段不能访问。
配置命令:

rule 15 deny ip source 192.168.1.1 0.0.0.0 destination  any


解析:
deny:拒绝

当所有的规则都配置完毕后,需要进入到接口中,绑定acl:

测试Client1访问Server1的web服务,是成功的:

但是却ping不通:

能访问192.168.2.0网段:

不能访问其他网段:


到此为止,高级ACL就配置完毕了。


扫描下方二维码关注我的公众号



文章转载自周怡的技术栈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论