访问控制列表ACL及配置

产生背景

访问控制列表ACL (Access Control List)可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以实现对网络访问行为的控制、限制网络流量、提高网络性能、防止网络攻击等等。

ACL的应用场景

在这里插入图片描述
主机A,B的流量使用红色箭头表示,C,D使用蓝色箭头表示,然后限制AB流量走上方,CD流量走下方。在其中,是ACL发挥了作用:
ACL可以通过定义规则来允许或拒绝流量的通过。
ACL可以根据需求来定义过滤的条件以及匹配条件后所执行的动作。

ACL分类

在这里插入图片描述
基本ACL:用于匹配整个流量。好比从A处来的流量应该怎么限制,是允许还是拒绝,是对一个整体宏观的控制,而不去进行细分(类似孔子的因材施教)。
高级ACL:在基本ACL的基础上进行了扩充,变得更加精细,对于流量更加细致。规定从哪里来的流量去哪里访问什么服务,对于更加小的条目进行了控制,而不是像基本ACL一样一刀切。
二层ACL:二层是数据链路层,主要基于MAC地址进行转发,所以主要去规定了源MAC地址,目的MAC地址,以及以太网的帧类型。

高级ACL和二层ACL也叫扩展ACL,也是相对于基本ACL而言的。

ACL规则

基本ACL

在这里插入图片描述
在RA上写了一条基本ACL(从编号可以看出2000-2999),并且写了三条规则:
rule 5 deny source 192.168.1.0 0.0.0.255//①拒绝来自192.168.1.0网段的流量
rule 10 deny source 192.168.2.0 0.0.0.255 //②拒绝来自192.168.2.0网段的流量
rule 15 deny source 172.16.0.0 0.0.0.255 //③拒绝来自172.16.0.0 网段的流量
这里匹配的顺序在于rule后面的数字,谁小就先去进行匹配谁,另外规则是以5为间隔是为了给修改顺序留有余地,如果规则是紧密相连的,则修改规则会相当麻烦

当ACL规则写完之后还要应用到相应的接口上才能起作用:

在这里插入图片描述
在接口的运用方向也很关键,建议模拟一遍数据传输的过程,然后再应用到接口之上,至此,一套简单的基本ACL配置完成。

当流量到达了RA之后,首先会对这个规则列表进行匹配,如果匹配的上则立即执行,如果没有匹配上对应的网段则继续匹配下一条。如果一直没有匹配上则默认是允许通过的。

现在有一个特殊的场景:
如果在一台路由器上的规则是
acl 2000
rule 5 permit source 172.16.0.0 0.0.255.255
rule 10 deny source 172.16.6.7 0.0.0.0
此时地址为172.16.6.7的主机经过这台路由器,流量能否通过?答案是肯定的,因为ACL规则就是匹配上了就执行相应的动作,最开始是允许172.16.0.0网段通过,此时流量过来发现是匹配的,就直接执行允许的操作,不在向下进行匹配。

高级ACL

在这里插入图片描述
ACL 3000 //从序号可以看出这是一条高级ACL
rule deny tcp source 192.168.1.0 0.0.0.255 destination 172.16.10.1 0.0.0.0 destination-port eq 21 //第一个规则就是拒绝来自192.168.1.0 网段的流量访问目的地址是172.16.10.1的FTP服务。 其中,tcp是所使用的协议,eq理解为equal的意思,端口21是FTP的流量。
rule deny tcp source 172.168.2.0 0.0.0.255 destination 172.16.10.2 0.0.0.0
//这里没有写目的地的端口号,就是拒绝了源为172.168.2.0网段的所有到达目的地址为172.16.10.2的tcp流量,就好比是一刀切了
rule permit ip //没有写源,没有写目的,ip是相应的协议,就是允许其他的所有流量
traffic-filter outbound acl 3000//将ACL应用到接口之上

基本ACL与高级ACL应用建议

在这里插入图片描述
现在使用基本ACL拒绝从172.16.1.0网段的流量去往10.1.1.0网段,如果放在距离源最近的AR2,那么当172.16.1.0的流量到达AR2的时候就会直接被阻塞掉,那么想要去AR3,AR4的流量也直接丢失,就好像误伤AR3,AR4,这也是基本ACL的一个缺点,太一刀切了,如果放在AR5上,那么中途的流量都可以正常到达,只有到达AR5的流量会被阻塞,符合ACL的意图。所以基本ACL推荐放在距离目的较近的地方。

现在使用高级ACL限制AR1的tcp流量到达AR5,现在如果在距离AR1最远的AR5上进行部署高级ACL,此时TCP流量会经转中间所有的链路,最终辗转来到AR5才发现不能通过,这就造成了中间带宽的浪费。就不如在最开始,距离AR1最近的地方就提前部署(说明),减少了带宽的浪费。所以推荐高级ACL部署在距离源比较近的地方。

总结

ACL用来:访问控制,匹配流量
需要注意:规则书写的顺序;接口调用的方向;高级低级ACL调用的位置。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ACL(Access Control List)是一种用于控制网络流量的技术,可以根据设定的条件对数据包进行过滤和控制。思科设备(如路由器和交换机)支持ACL配置,以实现网络安全和流量控制。 以下是一个示例ACL配置的方法: 1. 首先,进入思科设备的特权模式(Privileged EXEC mode)。 2. 进入全局配置模式(Global Configuration mode),使用以下命令: ``` configure terminal ``` 3. 创建一个ACL,可以选择创建标准ACL或扩展ACL。例如,创建一个标准ACL,使用以下命令: ``` access-list <ACL号> {permit | deny} <源地址> [掩码] ``` 其中,ACL号是一个唯一的标识符,用于区分不同的ACL规则。permit表示允许匹配的数据包通过,deny表示拒绝匹配的数据包通过。源地址和掩码用于指定要匹配的数据包的源IP地址。 例如,创建一个标准ACL,拒绝源IP地址为192.168.1.0/24的数据包通过,使用以下命令: ``` access-list 1 deny 192.168.1.0 0.0.0.255 ``` 4. 将ACL应用到接口上,使用以下命令: ``` interface <接口> ip access-group <ACL号> {in | out} ``` 其中,接口是要应用ACL的接口,ACL号是之前创建的ACL的标识符。in表示应用ACL到接口的入方向,out表示应用ACL到接口的出方向。 例如,将ACL 1应用到接口GigabitEthernet0/1的入方向,使用以下命令: ``` interface GigabitEthernet0/1 ip access-group 1 in ``` 5. 完成ACL配置后,保存配置并退出配置模式,使用以下命令: ``` end write memory ``` 以上是一个简单的思科ACL配置的示例。根据实际需求,可以根据不同的条件和规则创建和应用ACL来实现网络流量的控制和安全保护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小刘不忙!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值