拓扑结构:

配置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. Eclipse GBK批量转UTF-8插件(转)

    最近需要把Android项目转Android Studio,由于之前是eclipse开发,而且坑爹的是编码还是GBK的,转到Android Studio中文都是乱码,如果一个文件一个文件ctrl+c的 ...

  2. javascript 错误监控

    一.错误分类 1,即使运行错误:代码错误, 2.资源加载错误 二. 错误的捕获方式 1.即使运行错误的捕获方式 a. try catch       b.window.onerror 2.资源加载错误 ...

  3. Spring 的属性注入

    一.注入方式 (1)set方法注入 (2)构造函数注入 (3)p名称空间注入 (4)spel注入 二.复杂类型注入

  4. 前端之html概述及基本结构

    html概述: HTML是 HyperText Mark-up Language 的首字母简写,意思是超文本标记语言,超文本指的是超链接,标记指的是标签,是一种用来制作网页的语言,这种语言由一个个的标 ...

  5. 一个自己实现的js表单验证框架。

    经常要做一些表单验证的操作,每次都是用现成的框架,比如jquery,bootstrap等的验证插件,虽然也很强大,也很好用,可就是用起来需要引入许多js库,还有里面功能太多,感觉不太符合自己的需求.最 ...

  6. 阅读笔记4 我是一只IT小小鸟

    经过一周连续三四天八小时以上坐在电脑前敲代码的“折磨”,去看看其他经受这些折磨的人的感受.这次读书笔记变成了逗比风,因为前几周认认真真记下书里写的重点内容,然后把学习的内容认真的记录下来的笔记被老师助 ...

  7. [.net core学习] .net core中的MD5CryptoServiceProvider取代方法

    使用:MD5 m5 = MD5.Create(); 参考:http://stackoverflow.com/questions/27216121/alternatives-of-md5cryptose ...

  8. Android 开发常用版本控制命令

    1. git 回退到指定版本 // 使用git log命令查看所有的历史版本,获取某个历史版本的id,假设查到历史版本的id是139dcfaa558e3276b30b6b2e5cbbb9c00bbdc ...

  9. 阿里开源项目arthas安装使用

    文档地址 https://alibaba.github.io/arthas/install-detail.html 开始安装 我本地就装window版本了,下载zip包 按照快速入门,编译demo程序 ...

  10. 开源性能测试工具Locust使用篇(二)

    那如何理解Locust和TaskSet这两个类呢? class HttpLocust(Locust) 在Locust类中,具有一个client属性,它对应着虚拟用户作为客户端所具备的请求能力,也就是我 ...