分类:
2008-09-09 12:49:58
最近经常碰到有人问起机上如何实现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。
下面,我以3550交换机作为实例来详细描述一下两者之间不同的实现方式。
网络基本情况是划分了三个vlan:vlan10、vlan20和vlan30,vlan虚端口的IP地址分别为192.168.10.1/24、192.168.20.1/24和192.168.30.1/24。
访问控制要求:vlan10和vlan20之间不能访问,但都能访问vlan30。
[1]