用最简单的案例说明交换机ACL的原理

发表时间:2024/05/24 00:00:00  浏览次数:116  

这是项目拓扑,用ensp模拟的

要实现的目的,10.1不可以访问10.2,但是可以访问10.3  正常情况下,都是一个网段,完全可以实现三台PC互相通讯的。

那么怎么实现呢?需要两个步骤

1、创建ACL  设置过滤规则,什么数据包允许通过、什么数据包不允许通过

2、在网络接口调用ACL,只有调用了才会检测数据包


首先在视图模式下创建ACL,这是说一下ACL 打一个?问号 ,是干什么呢?就是给大家看看ACL的编号

[lsw1]acl ?
  INTEGER<2000-2999>  Basic access-list(add to current using rules)

2000-2999  属于标准acl   只看数据包的源IP地址

  INTEGER<3000-3999>  Advanced access-list(add to current using rules)

3000-3999  属于高级acl   只看五元组,是什么呢?是源IP地址、目标IP地址、协议类型、源端口、目标端口

而最常用的就是上面这两个

区别就是高级ACL可以看数据内容或者说参数更多一些,
  INTEGER<4000-4999>  Specify a L2 acl group

4000-4999  二层ACL

  INTEGER<5000-5999>  User defined access-list

5000-5999  用户自定义


[lsw1]acl 2000   创建ACL2000
[lsw1-acl-basic-2000] 进入ACL2000
[lsw1-acl-basic-2000]rule deny source 192.168.10.1 0.0.0.0  

上面命令是禁止源IP192.168.10.1  通行  ,后面的子网0.0.0.0为精准匹配,就是禁止这个IP或者说是禁止源IP地址的数据包通行

permit:允许

 rule  :规则

deny :禁止

source  : 源             

但是现在还是不好使,上面说了需要两个步骤,现在只是创建了ACL,下面需要调用ACL,我们在交换机的0/0/1口调用ACL

 [lsw1]interface GigabitEthernet 0/0/1     进入0/0/1接口

  [lsw1-GigabitEthernet0/0/1]traffic-filter inbound acl 2000         调用ACL2000

traffic-filter   调用

inbound      英文意思是到达的意思,在这里叫做对进入接口的包做过滤

看着是不是ACL做完了,但是会发现ping 10.3也不通了,那么是什么原因呢?其实是ACL里面禁用了源10.1,也就是所有和10.1通信的都不好使了,所以普通ACL是不行的么?那么要是在0/0/2口配置ACL2000呢,是不是会好用呢?下面给大家试试吧

首先我们要把0/0/1口的ACL2000删除  

[lsw1-GigabitEthernet0/0/1]undo traffic-filter inbound acl 2000  删除ACL2000的命令,其实就是在正常配置命令前加undo

[lsw1-GigabitEthernet0/0/1]display this   这是查询当前接口信息,查询一下0/0/1接口下面的ACL2000是否被删除
#
interface GigabitEthernet0/0/1
#
return        接口下面什么信息都没有了


下面我们在交换机0/0/2口执行ACL2000 ,这里有些不同大家发现没有PC1访问PC2 那么0/0/1是进口,0/0/2是出口所以在出口上调用ACL2000  需要用到的命令是 outbound   具体如下

[lsw1-GigabitEthernet0/0/2]traffic-filter outbound acl 2000   0/0/2调用ACL2000  

这时候就实现了10.1不可以访问10.2,但是可以访问10.3


         

查看评论[0]文章评论