动态VLAN设置-VMPS技术

补充:工程实践
一.基于 VMPS 的动态 VLAN 配置实例
     网络中 VLAN 实现分为静态 VLAN 和动态 VLAN 。静态 VLAN 又被称为是基于端口的 VLAN 。顾名思义,就是明确指定各端口属于哪个 VLAN 的设定方法,交换机中某个端口属于哪个 VLAN 是相对固定的。动态 VLAN 则是根据每个端口所连的计算机,随时改变端口所属 VLAN
     静态 VLAN 在这里我们就不讲了,由于网络中的计算机需要变更所连端口时,就必须同时更改所连端口所属 VLAN 的设定 ----- 这是不适合那些需要频繁改变拓扑结构的客户需求的。
     而动态 VLAN 则不同,由于它可以根据每个端口所属的计算机,随时改变端口所属的 VLAN ,所以当网络中计算机变更所连端口或交换机时, VLAN 不用重新配置。而它基于 MAC 地址或用户的认证方式,也可以杜绝非法接入网络的问题。动态 VLAN 实现技术主要有两种:
     一是基于用户的动态 VLAN
     二是基于 MAC 地址的动态 VLAN
基于用户的动态 VLAN ,则是根据交换机各端口所连的计算机上当前登录的用户,来决定该端口属于哪个 VLAN 。这里的用户识别信息,一般是计算机操作系统登录的用户,比如可以是域中使用的用户名。也就是说用户只要通过自己在域中的用户名,不管在那台电脑上都能够接入到自己所属的 VLAN 当中。
基于 MAC 地址的动态 VLAN ,就是通过查询并记录端口所连计算机上的 MAC 地址来决定端口所属 VLAN 。当分配给动态 VLAN 的交换机端口被激活后,交换机就缓存初始帧的源 MAC 地址。随后,交换机便向一个称为 VMPS VLAN 管理策略服务器)的外部服务器发出请求, VMPS 中包含一个文本文件,文件中存有进行 VLAN 映射的 MAC 地址。交换机
对这个文件进行下载,然后对文件中的 MAC 地址进行校验。
如果在文件列表中找到 MAC 地址,交换机就将端口分配给列表中该 MAC 所对应的 VLAN 。所有列表中没有的话,交换机就会将该端口分配给默认 VLAN (假设已经定义了默认 VLAN )。如果在列表中没有 MAC 地址,而且也没有默认 VLAN ,端口将不会被激活。
本实例将述的就是基于 MAC 地址的动态 VLAN
网络环境:
     核心是一台 CISCO3560G 三层交换机,配置为 VTP Server 模式。 CISCO 3560G 中定义了两个 VLAN ,通过 Trunk 端口( Gi0/1 GI0/2 端口)与两台 Cisco 2960 交换机相连。
VMPS 服务器是基于 Scientific Linux 平台下的 OpenVMPS 构建的,连接至 Cisco3560G GI0/24 端口。两台 CISCO2960 配置为客户端模式,通过 GI0/1 端口接受来自核心交换机的 VLAN 信息,并将其余端口链路类型设置为 Access, 端口所属 VLAN 设为 Dynamic( 动态 ) 。合法的用户计算机接入任意端口,都可以加入到相应的 VLAN
     VMPS 服务器配置
VMPS 服务器需 CISCO5000 以上高端交换机才支持,因此这里选用的是第三方的开源软件― OpenVMPS ,基于 Scientific Linux 5.3 架设的 VMPS 服务器。
      下载安装
OpenVMPS 最新版本为 1.4.01. 可通过“ http://sourceforge.net/projects/vmps/ ”下载 OpenVMPS ,将下载的 VMPSd-1.4.01.tar.gz 文件上传至 Linux 服务器,以 root 用户运行下面的命令进行安装。
# tar -v z x f vmpsd-1.01.tar.gz
#cd vmpsd
# ./configrure
#make
#make install
配置 VMPS 数据库
OpenVMPS 安装好之后,会自动生成 VMPS 数据库配置文件 /usr/local/etc/vlan.db, 这个文件时是个文本文件,下面是配置内容:
vmps domain cisco //////// 指定 VTP 域名为 cisco
Vmps mode open ////////// 指定 VMPS 运行模式为 OPEN Vmps 能够以 OPEN 或者 secure 的模式工作, OPEN 时, VMPS 会对未授权的 MAC 地址返回拒绝,对没有列在 VMPS 数据库中的 MAC 地址返回一个 fallback (后备 VLAN )。在 secure 模式, VMPS 对于未授权的或者没有列在数据库的 MAC 地址都会关闭相应的端口。
Vmps fallback ----none-----//////// 指定一个后备 VLAN none 时表示没有。
Vmps no-domain-req deny / 指定 VMPS 客户端交换机如果不属于 VTP 域,将不提供任何映射
Vmps-mac-address ////// Address 之间的关联。对指定的 MAC 地址使用关键字 --NONE-- 关键字表示,阻止该主机加入到任何 VLAN 。在 VLAN Db 中还有很多参数,感兴趣的可以自己研究。
Address  0001.2201.88cd.vlan-name accout
Address  0001.2201.88ce.vlan-name accout
Address  0001.2201.75ca.vlan-name sale
运行 VMPS
root 用户执行下面命令,可以启动 VMPS
#/usr/local/bin/vmpsd
OpenVMPS 默认端口时 UDP1589 ,用 netstat -an | grep 1589 可以查看 vmpsd 进程是否运行。
如果需要在开启 Liunx 服务器是就加载 vmpsd. 可以在 /etc/rc.local 中加入 /usr/local/bin/vmpsd/
其他 VMPSD 的配置信息如下:
Vpmsd [-d] [-a address] [-f file] [-l level] [-p port]
-d: 在前台运行 VMPSD ,可以很清楚的看到对 MAC 地址与 VLAN 的关联
-a address 设置绑定到 VMPSD IP 地址
-f file 设置 VMPSD 数据库配置文件,默认为 /usr/local/etc/vlan.db
 
-l level 设置日志级别
-p port 设置 VMPSD 的监听端口,默认为 1589
 
CISCO3560G 配置
#vtp domain cisco
#vtp mode server
#interface rang gi0/1 -2
#switchport trunk encapsulation dot1q
#switchport mode trunk
定义 VLAN ,设置 VLAN IP 地址。
#VLAN 133
# name sale
#vlan 168
#name accout
#interface vlan 133
#ip address 172.16.1.1 255.255.255.0
#no shu
#interface vlan 168
#ip address 172.16.2.1 255.255.255.0
#no shu
设置 gi0/24 为访问口,连接 VMPSD 服务器
#interface gi0/24
#switchport mode access
#no shu
#ip routing
#write
Cisco2960 配置
#VTP domain cisco
#vtp mode client
#interface gi0/1
#switchport  mode trunk
#no shu
#exit
设置 fa0/1-24 为访问口,所属 VLAN 为动态获取
#interface rang fa0/1 -24
#switchport mode access
#switchport access  vlan dynam
#no shu
设置主 VMPS ,另外可以设置 3 个备用的 VMPS 服务器。
CISCO2960
#vmps server 172.16.1.100 primary
#end
#write
#
开启 VQPC VLAN 查询协议客户端)调试,将会看到MAC地址与 VLAN 关联的过程。
#debug vqpc all

写于 2010-2--1

本文出自 “华苏科技网络实验室” 博客,转载请与作者联系!

你可能感兴趣的:(技术,动态,设置,VLAN,vmps)