拓扑结构:

配置IP地址、VLAN及路由:

SW1(config)#int range f0/1 - 2
SW1(config-if-range)#switchport mode access
SW1(config-if-range)#switchport access vlan 1
SW1(config)#int range f0/3 - 4
SW1(config-if-range)#switchport mode access
SW1(config-if-range)#switchport access vlan 2
SW1(config)#ip routing
SW1(config)#int vlan 1
SW1(config-if)#ip add 172.16.1.254 255.255.255.0
SW1(config-if)#no sh
SW1(config)#int vlan 2
SW1(config-if)#ip add 172.16.2.254 255.255.255.0
SW1(config-if)#no sh
R1(config)#int f0/0
R1(config-if)#ip add 172.16.1.1 255.255.255.0
R1(config-if)#no sh
R1(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.254
R2(config)#int f0/0
R2(config-if)#ip add 172.16.1.2 255.255.255.0
R2(config-if)#no sh
R2(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.254
R3(config)#int f0/0
R3(config-if)#ip add 172.16.2.3 255.255.255.0
R3(config-if)#no sh
R3(config)#ip route 0.0.0.0 0.0.0.0 172.16.2.254
R4(config)#int f0/0
R4(config-if)#ip add 172.16.2.4 255.255.255.0
R4(config-if)#no sh
R4(config)#ip route 0.0.0.0 0.0.0.0 172.16.2.254

配置MAC ACL:
MAC ACL能根据帧的源和目的MAC及帧的类型进行过滤。

SW1(config)#mac access-list extended MACL
SW1(config-ext-macl)#deny cc01.0604.0000 0000.0000.ffff any   //拒绝源MAC为CC01.0604.****的帧
SW1(config-ext-macl)#permit any any

SW1(config)#int f0/1
SW1(config-if)#mac access-group MACL in        //在F0/0接口IN方向应用MAC ACL

实验调试:

测试R1和其它路由器的通信,很可能还是正常的,原因在于:MAC ACL对ICMP这样的IP数据包并不起作用。在路由器R1上,执行“clear arp-cache”命令后,再重新测试R1和其它路由器的通信,这时应该无法通信,原因在于:当清除ARP表后,R1需要先发送ARP请求,而该ARP请求将被MAC ACL丢弃。

说明:可以通过“show int f0/0”或“show ip arp”命令查看MAC地址。

注意:MAC ACL只对非IP流量起作用。

配置RACL:

可以在交换机的二层接口应用IP标准/扩展ACL,但只能应用在IN方向。

SW1(config)#access-list 100 deny ip host 172.16.2.3 host 172.16.1.2
SW1(config)#access-list 100 permit ip any any
SW1(config)#int f0/3
SW1(config-if)#switchport        //明确指明接口是二层接口
SW1(config-if)#ip access-group 100 in
实验调试:

路由器R3和R2之间的通信应该是不正常的,R3和其它路由器之间的通信应该是正常的。

配置VACL:

VACL应用在VLAN上,没有方向性,进入或离开VLAN的数据都要受控制。

SW1(config)#int f0/3
SW1(config-if)#no ip access-group 100 in        //先清除F0/3接口上的ACL
SW1(config)#access-list 101 permit ip host 172.16.2.4 host 172.16.1.2
SW1(config)#vlan access-map VACL 5

SW1(config-access-map)#match ip address 101
SW1(config-access-map#action drop        //以上配置从R4发往R2的数据将被丢弃
SW1(config)#vlan access-map VLAN 10
SW1(config-access-map)#action forward        //以上配置其它的数据包将被转发

SW1(config)#vlan filter VLAN vlan-list 1
实验调试:

路由器R2和R3之间的通信应该是正常的;路由器R2和R4之间的通信应该是不正常的。

注意:VACL是应用在Vlan 1上的,当R2发包到R4时,VACL不丢弃数据包;而当R4发包到R2时,VACL丢弃数据包。

MAC ACL、RACL和VACL的更多相关文章

  1. ACL(Access Control List)

    一.ACL的简介 ACL(Access Control List 访问控制列表)是路由器和交换机接口的指令列表,用来控制端口进出的数据包.ACL的定义也是基于每一种被动路由协议的,且适用于所有的被动路 ...

  2. Cisco VLAN ACL配置

    什么是ACL? ACL全称访问控制列表(Access Control List),主要通过配置一组规则进行过滤路由器或交换机接口进出的数据包, 是控制访问的一种网络技术手段, ACL适用于所有的被路由 ...

  3. 访问控制列表 ACL

    访问控制列表(Access Control List,ACL) 是路由器和交换机接口的指令列表,用来控制端口进出的数据包.其目的是为了对某种访问进行控制. 作用 ACL可以限制网络流量.提高网络性能. ...

  4. 无线加密的多种方法及其区别(WEP WPA TKIP EAP)

    无线加密的多种方法及其区别(WEP WPA TKIP EAP) 无线网络的安全性由认证和加密来保证. 认证允许只有被许可的用户才能连接到无线网络: 加密的目的是提供数据的保密性和完整性(数据在传输过程 ...

  5. MAC OS X的ACL扩展权限设置

    在WEB开发时,网站是以_www的用户运行的,而我在本地是以liuwencan的用户编辑的.这就带来一个问题:如果所有文件属于liuwencan,那么网站运行需要写文件时就因无权限而失败:如果所有文件 ...

  6. CISCO VLAN ACL

    对于cisco VLAN ACL 首先得定义 standard ACL或 extented ACL用于抓取流量 注意这里的抓取流量不是最终的对流量的操作,而是决定什么样的流量用VLAN ACL 来处理 ...

  7. Windows Directory ACL Security Check By ACL Baseline

    catalog . Windows NTFS ACL(MAC) Permission . How the System Uses ACLs . 服务器不安全ACL配置带来的攻击向量 . NTFS AC ...

  8. Mac OS X 背后的故事

    Mac OS X 背后的故事 作者: 王越  来源: <程序员>  发布时间: 2013-01-22 10:55  阅读: 25840 次  推荐: 49   原文链接   [收藏]   ...

  9. squid ACL 大全

    Access Controls in Squid Contents Access Controls in Squid The Basics: How the parts fit together AC ...

随机推荐

  1. JSP请求重定向与请求转发的区别

    请求重定向 客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次请求对象不会保存,地址栏URL会改变: 请求转发 服务器行为,request.getReques ...

  2. spring深入学习(五)-----spring dao、事务管理

    访问数据库基本是所有java web项目必备的,不论是oracle.mysql,或者是nosql,肯定需要和数据库打交道.一开始学java的时候,肯定是以jdbc为基础,如下: private sta ...

  3. redis 集群模式安装

    概念 Redis集群提供一种方式自动将数据分布在多个Redis节点上. 每个Redis集群中的节点都需要打开两个TCP连接.一个连接用于正常的给Client提供服务,比如6379,还有一个额外的端口( ...

  4. php判断语句

    编写代码时,可以为不同的情况执行不同的动作.可以使用判断条件语句来实现. if...else...elseif 例子一: <?php $t=date("H"); if ($t ...

  5. javascript(作业九)

    1.javascript简介: JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端 ...

  6. Linux 线程编程3.0

    #include <pthread.h> #include <stdlib.h> #include <stdio.h> #include <unistd.h& ...

  7. nlog 的手动配置

    使用nlog的时候,有时候需要手动配置.比如数据库链接和密码不配在文件里,或者统计配置在一个位置之类的. var config = new NLog.Config.LoggingConfigurati ...

  8. 【leetcode】 算法题3 无重复字符的最长子串

      问题      给定一个字符串,找出不含有重复字符的最长子串的长度. 示例: 给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度 ...

  9. Postgres通用翻页函数

    CREATE OR REPLACE FUNCTION fun_turnpage( PageSize INT, PageIndex INT, FldSort VARCHAR, StrCondition ...

  10. kaldi脚本注释一

    utils/split_data.sh ##再$data文件夹下,创建split{num_split}文件夹,再split×里面创建所有的数字文件夹#后面基本上是把$data文件夹下的各个文件都进行s ...