-----------------------------------------------------------------------------
在一些規模適中的公司裏面,員工可能在不同的寫字樓的樓層裏面抱着筆記本頻繁奔波於不同部門或會議室,當他們要訪問本部門的服務器的時候,如果不在自己部門的vlan裏面訪問臺式機的文件,就會出現拒絕訪問的後果,很多人需要跑回原來的辦公室才能取回文件。
此時管理員可以採用動態vlan的方法,將這些筆記本的mac地址記錄下來,通過mac地址劃分vlan。不論他們在那個辦公環境中,都可以被分配到正確的vlan裏面。本文將介紹vmps,即vlan management policy server是如何解決此類應用的配置難題。
一.動態vlan憑什麼能解決問題?
動態的vlan形成很簡單,由交換機端口自己決定它屬於哪個vlan時,就形成了動態的vlan。其實,動態的vlan就是一個簡單的映射,這個映射取決於工程師創建的mac數據庫文件。分配給動態vlan的端口被激活後,交換機就緩存初始幀的源m a c地址。隨後,交換機便向一個稱爲vmps (vlan管理策略服務器)的外部服務器發出請求,vmps中包含一個文本文件,文件中存有進行vlan映射的m a c地址。交換機對這個文件進行下載,然後對文件中的m a c地址進行校驗。如果在文件列表中找到m a c地址,交換機就將端口分配給列表中的vlan。
如果列表中沒有m a c地址,交換機就將端口分配給默認的vlan(假設已經定義默認了vlan)。在動態vlan中,如果在列表中沒有m a c地址,而且也沒有定義默認的vlan,端口不會被激活,這是維護網絡安全一種非常好的的方法。
vmps即vlan management policy server,是一種基於源mac地址動態的、在交換機端口上劃分vlan的方法。當某個端口的主機移動到另一個端口後,vmps動態的爲其指定vlan。不過基於cisco ios系列中低端交換不支持一般不支持vmps的功能,它只能成爲vlan查詢協議(vlan query protocol)的客戶機。
一旦啓動了vmps,包含mac地址到vlan映射的數據庫就會從tftp服務器下載到vmps服務器。然後,vmps使用udp端口監聽來自vqp客戶機的請求。當vmps服務器收到來自vmps客戶機的請求後,它將在本地數據庫裏查找mac地址到vlan的映射條目信息。vmps將對請求進行響應,如果被指定的vlan侷限於一組端口,vmps將驗證對發出請求的端口進行驗證:
* 如果請求端口的vlan被允許的,vmps向客戶發送vlan的名稱;
* 如果請求端口的vlan不與允許的,並且vmps不是處於安全模式,vmps將發送“access-denied”訪問被拒絕的信息;
* 如果請求端口的vlan不與允許的,但vmps處於安全模式,vmps將發送“port-shutdown”端口關閉的信息。
另外,如果數據庫裏的vlan信息和端口的當前vlan信息不匹配,並且該端口連接的有活動主機,vmps將發送“access-denied”、“fallback vlan name”或者“port-shutdown”、“new vlan name”信息。如果交換機從vmps那裏收到“access-denied”的信息,交換機將堵塞來自該mac地址,前往或從該端口返回的流量,交換機將繼續監視去往該端口的數據包,並且當交換機識別到一個新的地址後,它會向vmps發出查詢信息.如果交換機從vmps那裏收到“port-shutdown”信息。
注意:交換機將禁用該端口,必須手工的將該端口啓用才能正式使用。
vmps有open、secure、multiple 三種運行模式:
1.open模式
當端口未指定vlan時,如果該端口的mac地址與之相關聯的vlan信息被許可,vmps將向客戶返回vlan名;如果該端口的mac地址與之相關聯的vlan信息不被許可,vmps將向客戶返回“access-denied”信息。
當端口已經指定vlan時,如果數據庫裏的vlan與mac地址相關聯的信息和端口的當前vlan關聯信息不匹配,並配置的有fallback vlan(後備vlan)名,那麼vmps將返回fallback vlan名給客戶機;如果數據庫裏的vlan與mac地址相關聯的信息和端口的當前vlan關聯信息不匹配,並沒有配置fallback vlan名,那麼vmps將返回“access-denied”信息給客戶機。
2.secure模式
當端口未指定vlan時,.如果該端口的mac地址與之相關聯的vlan信息被許可,vmps將向客戶返回vlan名;如果該端口的mac地址與之相關聯的vlan信息不被許可,端口將被關閉。
當端口已經指定vlan時,如果數據庫裏的vlan與mac地址相關聯的信息和端口的當前vlan關聯信息不匹配,即使有配置fallback vlan名,端口仍將被關閉。
3.multiple模式
當多個mac地址處於同一vlan的時候,多個mac地址可以對應一個動態端口。如果動態端口的鏈路關閉,端口將被還原成未指定狀態,並且在指定vlan之前,vmps將對這些地址重新檢查;如果這些主機位於不同的vlan,vmps將向客戶返回最新的mac地址到vlan映射的信息。
當然,也可以在vmps上指定fallback vlan名。如果該端口未指定任何vlan,vmps將把端口和發起請求的mac地址進行比較:如果主機的mac地址在數據庫中不存在,並且vmps上指定的有fallback vlan名,那麼將向客戶機返回fallback vlan名信息;如果主機的mac地址在數據庫中不存在,但vmps上未指定fallback vlan名,那麼將向客戶機返回“access-denied”信息;如果該端口已經指定任何vlan,vmps將把端口和發起請求的mac地址進行比較。
此時,不管vmps上有沒有配置fallback vlan名,只要vmps處於secure模式,那麼它就將反饋“port-shutdown”信息給客戶機。
1.創建vmps數據庫文件
要使用vmps必須先創建vmps數據庫,並將其保存在一個tftp服務器上。vmps數據庫文件是一個ascii嗎的文本文件,並且編寫起來非常繁瑣,最簡單的方式是獲得一個vmps數據庫範本。vmps數據庫文件包含如下條目:
(1)包含vmps域名的文件頭
(2)vmps運行模式
(3)後備(fallback)用的vlan名
(4)映射到vlan名字上的一組mac地址
vmps數據庫的基本結構如下:
vmps domain switchblock1 (指定vtp域名)
vmps mode open (指定運行模式)
vmps fallback default (指定fallback vlan,這裏默認是vlan 1)
vmps no-domain-req deny (只要發送的請求不帶域名,就不提供任何vlan映射)
!
vmps-mac-addrs (配置mac地址和vlan之間的關聯)
!
!
address 0001.0387.0943 vlan-name groupa
address 0050.0491.f950 vlan-name groupb
address 0050.da8f.1134 vlan-name groupc
2.配置vmps服務器
(1)設置vmps的下載方式:set vmps downloadmethod {rcp | tftp}
(2)設置vmps下載服務器和文件名稱:set vmps downloadserver ipaddress [filename]
(3)啓動vmps服務:set vmps state enable
3.配置vmps客戶端
* cos交換機:set vmps server ipaddress [primary]
* ios交換機:(global) vmps server ipaddress primary
要讓客戶端交換機從服務器請求中獲得動態的vlan信息,必須給客戶端配置服務器地址。使用primary選項來指定主vmps服務器的ip,還可以制定至多3個vmps服務器起到負載的作用。
4.配置端口爲動態模式
* cos交換機:set port membership mod/port dynamic
* ios交換機:(interface) switchport access dynamic
在下圖所示,交換機access_1和vmps_s1的端口按如下需求劃分劃分:
* vlan 5中包含access_1的1和2、vmps_s1上的3/1-48;
* vlan 8中包含access_1的3和4、vmps_s1上的4/1-48;
* vlan 10中包含access_1的5和6、vmps_s1上的5/1-12和5/18-24;
* access_1的13-16以及vmps_s1上的5/13-17是動態端口。
圖 vlan邏輯拓撲圖
1.配置服務器
vmps_s1 (enable)>set vlan 5 3/1-48
vmps_s1 (enable)>set vlan 8 4/1-48
vmps_s1 (enable)>set vlan 10 5/1-12,5/18-24
vmps_s1 (enable)>set vmps downloadserver 10.1.1.101 vmpsconfig.txt
vmps_s1 (enable)>set interface sc0 10.1.1.1/24
vmps_s1 (enable)>set vmps enable
vmps_s1 (enable)>set vmps server 10.1.1.1
vmps_s1 (enable)> set port membership 5/13-17 dynamic
2.配置客戶端
access_1(config)#interface fastethernet 0/1
access_1(config-if)#switchport access vlan 5
access_1(config-if)#interface fastethernet 0/2
access_1(config-if)#switchport access vlan 5
access_1(config-if)#interface fastethernet 0/3
access_1(config-if)#switchport access vlan 8
access_1(config-if)#interface fastethernet 0/4
access_1(config-if)#switchport access vlan 8
access_1(config-if)#interface vlan 1
access_1(config-if)#ip address 10.1.1.2 255.255.255.0
access_1(config-if)#vmps server 10.1.1.1
access_1(config)#interface fastethernet 0/5
access_1(config-if)#switchport access dynamic
access_1(config-if)#interface fastethernet 0/6
access_1(config-if)#switchport access vlan dynamic
access_1(config-if)# end
access_1 #copy running-config startup-config
基於端口的靜態的優點體現在定義vlan成員時非常簡單,只要將所有的端口都指一下就可以了。而缺點則是不夠靈活,如果vlan a的用戶離開了原來的端口,到了一個新的交換機的某個端口,就必須重新定義該用戶,否則就很有可能成爲vlan b的成員。
利用vmps配置基於mac的案例非常精彩。我們都知道mac地址就是指網卡(nic)的標識符,每一塊網卡的mac地址都是惟一的。從某種意義上說,這是一種基於用戶的網絡劃分手段,基於mac地址的vlan劃分其實就是基於工作站、服務器的vlan組合。在網絡規模較小時,該方案不失爲一個好方法,但隨着網絡規模的擴大以及網絡設備、用戶的增加,會在很大程度上加大管理的難度。
從表面上看,動態vlan的優勢很大,但它也有致命的缺點,即創建數據庫是一項非常艱苦而且非常繁瑣的工作。如果網絡上有數千個工作站,則有大量的輸入工作要做。即使有人能勝任這項工作,也還會出現與動態的vlan有關的很多問題。另外,保持數據庫爲最新也是要隨時進行的非常費時的工作。
六.知識鏈接:動態vlan配置文件模板
這裏給出一個vmpsconfig.txt配置模板,讀者可更具上述操作步驟自行修改。
!section 1: global settings
!vmps file format, version 1.1
! always begin the configuration file with
! the word "vmps"
!
!vmps domain <domain-name>
! the vmps domain must be defined.
!vmps mode {open | secure}
! the default mode is open.
!vmps fallback <vlan-name>
!vmps no-domain-req { allow | deny }
!
! the default value is allow.
vmps domain wbu
vmps mode open
vmps fallback default
vmps no-domain-req deny
!
!section 2: mac addresses
!mac addresses
vmps-mac-addrs
!
! address <addr> vlan-name <vlan_name>
!
address 0012.2233.4455 vlan-name hardware
address 0000.6509.a080 vlan-name hardware
address aabb.ccdd.eeff vlan-name green
address 1223.5678.9abc vlan-name execstaff
address fedc.ba98.7654 vlan-name --none--
address fedc.ba23.1245 vlan-name purple
!
!section 3: port groups
!port groups
!vmps-port-group <group-name>
! device <device-id> { port <port-name> | all-ports }
!
vmps-port-group wiringcloset1
device 198.92.30.32 port 3/2
device 172.20.26.141 port 2/8
vmps-port-group "executive row"
device 198.4.254.222 port 1/2
device 198.4.254.222 port 1/3
device 198.4.254.223 all-ports
!
!section 4: vlan groups
!vlan groups
!
!vmps-vlan-group <group-name>
! vlan-name <vlan-name>
!
vmps-vlan-group engineering
vlan-name hardware
vlan-name software
!
!section 5: vlan port policies
!vlan port policies
!
!vmps-port-policies {vlan-name <vlan_name> | vlan-group <group-name> }
! { port-group <group-name> | device <device-id> port <port-name> }
!
vmps-port-policies vlan-group engineering
port-group wiringcloset1
vmps-port-policies vlan-name green
device 198.92.30.32 port 4/8
vmps-port-policies vlan-name purple
device 198.4.254.22 port 1/2
port-group "executive row"
本貼來自天極網羣樂社區--http://q.yesky.com/group/review-17619155.html