Chinaunix首页 | 论坛 | 博客
  • 博客访问: 745536
  • 博文数量: 256
  • 博客积分: 3502
  • 博客等级: 中校
  • 技术积分: 3988
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-17 21:13
文章分类

全部博文(256)

文章存档

2014年(11)

2013年(134)

2012年(111)

我的朋友

分类: 系统运维

2013-01-22 14:01:24

我们常说的之间的访问控制,它的实现方式是将acl直接应用到的虚端口上,与应用到物理端口的acl实现方式是一样的。而vlan访问控 制(),也称为vlan访问映射表,它的实现方式与前者完全不同。它应用于vlan中的所有通信流,支持基于ethertype和mac地址的过 滤,可以防止未经授权的数据流进入vlan。目前支持的操作有三种:转发(forward),丢弃(drop),重定向(redirect)。
   vacl很少用到,在配置时要注意以下几点:
   1) 最后一条隐藏规则是deny 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 ********


   (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系列的交换机支持。

阅读(899) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~