Chinaunix首页 | 论坛 | 博客
  • 博客访问: 914663
  • 博文数量: 148
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3920
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-30 18:17
文章分类

全部博文(148)

文章存档

2008年(148)

我的朋友

分类:

2008-06-29 17:48:03

VLAN技术是解决DDOS攻击、IP地址冲突等问题的良好解决方案,但其本身却存在一个严重问题:不同VLAN网络间不能直接通信,这将如何办?
  
  很多企业部署VLAN之后,由于处于不同VLAN的计算机之间不能直接通信,使网络的安全性能得到了很大提高。但事实上在很多网络中要求不是这样的,如何解决VLAN间的通信问题是我们在规划VLAN时必须认真考虑的问题。在网络组建初期,网络中只有10%~20%的信息在VLAN之间传播,但随着用户应用的增多,VLAN之间信息的传输量增加了许多倍,如果VLAN之间的通信问题解决得不好,将严重影响网络的使用和安全
  
  VACL(VLAN ACL)和定时访问列表、动态访问列表、自反访问列表一样都属于ACL扩展应用的一部分,它定义了基于3层以上的信息流量,而所对应的参数则用于2层的VLAN。VACL多是针对硬件里面应用,比传统的器访问列表处理速度明显快的多。本文将介绍VACL的应用和操作步骤。
  
    一.COS系统下的VACL

    任何一中流量控制的策略必须要首先制定要控制的是哪一种流量,以及如何处理这些流量。VACL与普通的ACL的相同,列表也是按照顺序进行匹配的。ACL号相同的所有ACL形成一个组,在判断一个数据帧时,使用同一组中的条目从上到下逐一进行判断,一遇到满足的条目就终止对该数据帧的判断。基本的配置方法如下:

    1.配置ACL

    Set security acl ip {acl_name} {permit |deny |redirect mod/port} {protocol} {sourceaddress mask} [op] [srcport] {dest mask} [op] [destport] [before editbuffer_index |modify editbuffer_index] [log]

    Set security acl ip命令后面指定IP ACL的名字,后面是的说明和采取的措施。

    Permit |deny分别对应为:Permit是允许通过,deny是丢弃包。如果加上Redirect选项就代表不使用CAM(content addressable memory),而把流量发送到机上一个指定的mod/port对应的端口上。对于COS的机来说ACL直到被提交之前都首先写入一个特殊的缓冲区,并不作为交换机当前运行的条目,before和modify参数是指将配置的acl条目放到某条列表之前或者修改其实的参数。

    2.写入到TCAM

    前面已经说到了,在配置完ACL之后,它只在编辑缓冲区里面,我们必须同过commit security acl命令将配置写入到TCAM(ternary content addressable memory)。完整的命令参数如下:

    commit security acl {name | all }

    name 选项为只提交指定的名称列表(可以使用show security acl ip name editbuffer 查看编辑缓冲区内未被提交到内容的控制条目),all 选项指提交所有未写入的VACL。

    3.映射到VLAN

    VACL与ACL都需要在提交之后把它们对应到作用对象上,如interface vlan1///ip access-group 101 out:这两句将access-list 101应用到vlan1接口的out方向。其中101是ACL号,和相应的ACL进行关联。Out是对器该接口上哪个方向的包进行过滤,可以有in和out两种选择。COS VACL的配置同上面的道理一样,具体体现在:一个VLAN只能有一个VACL映射对其起作用,但一个VACL可以同时被多个VLAN同时调用。命令参数如下:

    Set security acl map acl_name vlan

    除了使用show security acl ip name editbuffer 可以查看编辑缓冲区的内容以外,在应用到VLAN以后,我们可以使用 show security acl info 和show security acl map 核实对配置和映射的结果。

二.IOS系统下的VACL

    1.编写ACL

  (1)表准访问控制列表

  一个标准IP访问控制列表匹配IP包中的源地址或源地址中的一部分,可对匹配的数据包采取“拒绝”或“允许”两个操作。编号范围是从1到99的访问控制列表是标准IP访问控制列表。语法如下:

  router(config)#access-list [list number][permit | deny | remark][host/any][source a ddress][wildcard-mask][log]

  (2)扩展访问列表

  扩展访问列表主要增加报文过滤能力,一个扩展的IP访问表允许用户根据内容过滤报文的源和目的地址的、端口以及在特定报文字段。项定义了需要被过滤的协议,例如IP、TCP、UDP、ICMP等,协议选项是区别标准的访问列表的特征之一。扩展的列表标号从100~199,2000~2699。

  (3)基于名称的访问列表

  基于名称的访问列表遵守和数字的IP访问控制列表一样的逻辑,名字可以更加容易的记住访问控制列表的功能,命名的列表允许使用超过99个标准控制列表和100个扩展控制列表。优于编号的控制列表的特点是可以删除特定的一条语句,而编号访问控制列表只能删除整个访问控制。语法如下:

  router(config)#ip access-list {standard | extended} name

  这表示要进入的name所指定的列表配置模式,所有的permit和deny操作都是进入到这个模式下进行配置的。

    2.创建映射

  VACL主要区别于上述ACL操作的方法,就是将已经创建好的ACL映射到一个VLAN上。创建映射分为3步,命令与法和解释如下:

  命令一:(global) vlan access-map name [number]

  vlan access-map后面的名字定义的时候最好有针对性或者提示性,而后续的设置的子句都使用number选项。如果在这里进行了分组的设置,每一个子句都要经过匹配检测,直到没有发现匹配语句才丢弃分组。

  命令二:(vlan-map) match ip address {aclname | aclnumber}

  执行完第一步实际上是进入了访问映射的配置模式。match ip address后面的参数是你在前面配置ACL的名称或编号,而ACL定义的permit语句在这里表示匹配的意思,deny表示不匹配。

  命令三:(vlan-map) action {drop | forward}

  交换机根据匹配ACL确定的匹配,action命令后面的参数才是代表流量是允许(forward)还是丢弃(drop)。

    3.应用与检查

  完成之前的配置后,需要用vlan filter命令把访问列表应用到交换机。格式如下:

  (global) vlan filter mapname vlan-list list

  Mapname参数对应的是vlan access-map命令创建的映射名称,list是vlan的序号。都配置完成之后,可以利用show命令检查VACL工作的状态,命令如下:

    * show ip access-lists [number | name]

    * show vlan access-map [mapname]

    * show vlan filter [access-map name | vlan vlan-id]

    * show ip interface type number

三.VACL应用范例

     1.协议与端口访问控制

     很多企业中的都开启了远程管理服务,但管理员又不希望,所有员工都能访问到这台的端口。此时就可以使用VACL来助阵了。

     (1)配置一个ACL,以判断数据包是否是通过TCP端口3389进入的:

     Sw3750(config)# access-list 100 permit tcp any any eq 3389

     (2)配置VLAN访问映射表:
  
     Sw3750(config)# vlan access-map TSServer 100
  
     Sw3750(config-access-map)# match ip address 100

   Sw3750(config-access-map)# action drop

   (3)将VLAN访问控制列表应用于VLAN

   Sw3750(config-access-map)# vlan filter TSServer vlan-list 10-20

     



      
      2.主机访问控制

  这里有一个非常简单的范例,根据下图要求,我们将针对VLAN 10定制VACL,只拒绝Host A和Host B对Server的访问,其他主机是可以通过的。

  命令如下:
  Sw3750(config)# access-list 101 deny ip host 10.1.1.100 host 10.1.1.1
  Sw3750(config)# access-list 101 deny ip host 10.1.1.200 host 10.1.1.1
  Sw3750(config)# access-list 101 permit ip any any
  Sw3750(config)# vlan access-map Server 101
  Sw3750(config-access-map)# match ip address 101
  Sw3750(config-access-map)# action forward
  Sw3750(config-access-map)# vlan filter Server vlan-list 10

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