打印

[转帖] VLAN之间ACL和VACL的区别

VLAN之间ACL和VACL的区别

最近经常碰到有人问起Cisco交换机上如何实现VLAN之间的访问控制,一般我都会告诉对方,在三层交换机上直接把ACL应用到相应VLAN的虚端口就OK了,其实我自己也没有机会去真正实践过。眼下正巧有个项目涉及到这方面的需求,于是对如何实现VLAN之间的访问控制仔细研究了一番,这才发现VLAN访问控制列表(VACL)和VLAN之间的访问控制列表其实在实现方式上是有很大不同的,虽然从字面上看两者差不多。
我们常说的VLAN之间的访问控制,它的实现方式是将ACL直接应用到VLAN的虚端口上,与应用到物理端口的ACL实现方式是一样的。而VLAN访问控制(VACL),也称为VLAN访问映射表,它的实现方式与前者完全不同。它应用于VLAN中的所有通信流,支持基于ETHERTYPE和MAC地址的过滤,可以防止未经授权的数据流进入VLAN。目前支持的VACL操作有三种:转发(forward),丢弃(drop),重定向(redirect)。
VACL很少用到,在配置时要注意以下几点:
1) 最后一条隐藏规则是deny ip any any,与ACL相同。
2) VACL没有inbound和outbound之分,区别于ACL。
3) 若ACL列表中是permit,而VACL中为drop,则数据流执行drop。
4) VACL规则应用在NAT之前。
5) 一个VACL可以用于多个VLAN中;但一个VLAN只能与一个VACL关联。
6) VACL只有在VLAN的端口被激活后才会启用,否则状态为inactive。

下面,我以Cisco3550交换机作为实例来详细描述一下两者之间不同的实现方式。
网络拓扑图
网络基本情况是划分了三个vlan:vlan10、vlan20和vlan30,vlan虚端口的IP地址分别为192.168.10.1/24、192.168.20.1/24和192.168.30.1/24。
访问控制要求:vlan10和vlan20之间不能访问,但都能访问vlan30。

(一) 通过VLAN之间ACL方式实现

******** 配置VLAN ********
Switch(config)# vlan 10 // 创建vlan 10
Switch(config-vlan)# vlan 20
Switch(config-vlan)# vlan 30
Switch(config-vlan)# int vlan 10
Switch(config-if)# ip address 192.168.10.1 255.255.255.0 // 配置vlan10虚端口IP
Switch(config-if)# int vlan 20
Switch(config-if)# ip address 192.168.20.1 255.255.255.0
Switch(config-if)# int vlan 30
Switch(config-if)# ip address 192.168.30.1 255.255.255.0

******** 配置ACL ********
Switch(config)# access-list 101 permit ip 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255
Switch(config)# access-list 102 permit ip 192.168.20.0 0.0.0.255 192.168.30.0 0.0.0.255

******** 应用ACL至VLAN端口 ********
Switch(config)# int vlan 10
Switch(config-if)# ip access-group 101 in
Switch(config)# int vlan 20
Switch(config-if)# ip access-group 102 in

******** 完毕 ********

(二) 通过VACL方式实现

******** 配置VLAN ********

(同上)

******** 配置ACL ********
Switch(config)# access-list 101 permit ip 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255
Switch(config)# access-list 101 permit ip 192.168.30.0 0.0.0.255 192.168.10.0 0.0.0.255
(不同之处:因为VACL对数据流没有inbound和outbound之分,所以要把允许通过某vlan的IP数据流都permit才行。VLAN10允许与VLAN30通讯,而数据流又是双向的,所以要在ACL中增加VLAN30的网段)
Switch(config)# access-list 102 permit ip 192.168.20.0 0.0.0.255 192.168.30.0 0.0.0.255
Switch(config)# access-list 102 permit ip 192.168.30.0 0.0.0.255 192.168.20.0 0.0.0.255

******** 配置VACL ********

第一步:配置vlan access map
Switch(config)# vlan access-map test1 //定义一个vlan access map,取名为test1
Switch(config-vlan-access)# match ip address 101 // 设置匹配规则为acl 101
Switch(config-vlan-access)# action forward // 匹配后,设置数据流转发(forward)
Switch(config)# vlan access-map test2 //定义一个vlan access map,取名为test2
Switch(config-vlan-access)# match ip address 102 // 设置匹配规则为acl 102
Switch(config-vlan-access)# action forward // 匹配后,设置数据流转发(forward)

第二步:应用VACL
Switch(config)# vlan filter test1 vlan-list 10 //将上面配置的test1应用到vlan10中
Switch(config)# vlan filter test2 vlan-list 20 //将上面配置的test1应用到vlan20中

******** 完毕 ********

以上就是关于VLAN之间ACL和VACL的简单配置实例。我个人认为一般情况下,通过VLAN之间ACL实现访问控制比较方便,但是当VLAN的端口比较分散时,采用VACL相对而言就要简单很多。不过使用VACL的前提是交换机支持此功能,目前可能只有Cisco 3550、4500和6500系列的交换机支持。
欢迎大家到认证区参与考试题目知识探讨,提问有奖励,解答更有奖励。
电脑培训教师交流群:40351571(不谈技术,学生勿入)

TOP

感谢分享

TOP

这个还能看懂一点点!
谢谢楼主的无私指教.....












好好学习,天天向上!

TOP

两个帖子放一起我想普及效果会好点!
嘿嘿...















好好学习,天天向上!

TOP

还真没注意这两个东西的比较 VACL只有书上看过 连实验都没试过
春天我把玉米埋在土里,到了秋天我就会收获很多玉米。春天我把老婆埋在土里,到了秋天我就会…被枪毙!

TOP

据说模拟器是不支持VACL的试验的......
欢迎大家到认证区参与考试题目知识探讨,提问有奖励,解答更有奖励。
电脑培训教师交流群:40351571(不谈技术,学生勿入)

TOP

引用:
原帖由 赵高 于 2008-8-20 20:04 发表
据说模拟器是不支持VACL的试验的......
...原来如此 ACL凑活用吧 vlan端口分散的情况应该比较少吧? 网管会疯掉的

[ 本帖最后由 baogangwang 于 2008-8-20 20:15 编辑 ]
春天我把玉米埋在土里,到了秋天我就会收获很多玉米。春天我把老婆埋在土里,到了秋天我就会…被枪毙!

TOP

VACL 当网络要求高的时候可以用啊,在一个交换机上画出一个vlan专门放不安全的计算机,比如没有安装杀软的,没有打补丁的机器,可以不让你进入正常的vlan,而进入这个特殊的 vlan等升级完了,打好补丁了再让这计算机进入正常的vlan。这个就可以用vacl来做
本帖最近评分记录
  • 赵高 菊花元 +8 讨论奖励. 2008-8-21 13:37

TOP

能不能举个例子 具体在什么情况下应用VACL最好?
春天我把玉米埋在土里,到了秋天我就会收获很多玉米。春天我把老婆埋在土里,到了秋天我就会…被枪毙!

TOP

本功能由奇虎搜索实现

相关主题

标题 作者 最后发表
[站外] 优化局域网提升网络性能   [转帖] apingping 2008-11-17
[站外] 谁可帮忙介绍一下VLAN的换分,以及单臂路由   [转帖] chenpeng 2008-11-16
[站外] 交换机安全技术 如何架设安全的交换机系统   [转帖] 小小二阶堂 2008-11-17
点击阅读更多关于的相关帖子  更多相关主题