CISCO动态VLAN配置
CISCO動態VLAN配置
一.基于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
   VMPS介紹:
   VMPS介紹的是VLAN Membership Policy Server的簡稱.顧名思義,它是一種基于端口MAC地址動態選擇VLAN的集中化管理服務器.當某個端口的主機移動到另一個端口后,VMPS動態的為其指定VLAN.不過基于CISCO IOS的CATALYST 4500系列交換不支持VMPS的功能。
   它只能做為VLAN查詢協議(VLAN Query Protocol)的客戶機,通過VQP的客戶機,可以和VMPS通信.如果要讓CATALYST 4500系列交換機支持VMPS的功能,那你應當使用CatOS(或選擇CATALYST 6500系列交換機hoho).
   VMPS介紹使用UDP端口監聽來自VQP客戶機的請求,因此,VPMS客戶機也沒必要知道VMPS到底是位于本地網絡還是遠程網絡.當VMPS服務器收到來自VMPS客戶機的請求后,它將在本地數據庫里查找MAC地址到VLAN的映射條目信息.
   VMPS介紹將對請求進行響應.如果被指定的VLAN局限于一組端口,VMPS將驗證對發出請求的端口進行驗證:
   ◆如果請求端口的VLAN被許可,VMPS向客戶發送VLAN做為響應.
   ◆如果請求端口的VLAN不被許可,并且VMPS不是處于安全模式(secure mode),VMPS將發送"access-denied"(訪問被拒絕)的信息做為響應.
   ◆如果請求端口的VLAN不被許可,但VMPS處于安全模式,VMPS將發送"port-shutdown"(端口關閉)的信息做為響應.
   但如果數據庫里的VLAN信息和端口的當前VLAN信息不匹配,并且該端口連接的有活動主機,VMPS將發送"access-denied","fallback VLAN name"(后退VLAN名),"port-shutdown"或"new VLAN name"(新VLAN名)信息.至于發送何種信息取決于VMPS模式的設置.
   如果交換機從VMPS那里收到"access-denied"的信息,交換機將堵塞來自該MAC地址,前往或從該端口返回的流量.交換機將繼續監視去往該端口的數據包,并且當交換機識別到一個新的地址后,它會向VMPS發出查詢信息.如果交換機從VMPS那里收到"port-shutdown"信息,交換機將禁用該端口,該端口必須通過命令行或SNMP重新啟用.
   VMPS介紹有三種模式(但User Registration Tool,即URT,只支持open模式):
   ◆open模式.
   ◆secure模式.
   ◆multiple模式.
   ◆open模式:
   當端口未指定VLAN:
   ◆如果該端口的MAC地址與之相關聯的VLAN信息被許可,VMPS將向客戶返回VLAN名.
   ◆如果該端口的MAC地址與之相關聯的VLAN信息不被許可,VMPS將向客戶返回"access-denied"信息.
   當端口已經指定VLAN:
   ◆如果數據庫里的VLAN與MAC地址相關聯的信息和端口的當前VLAN關聯信息不匹配,并配置的有fallback VLAN名,那么VMPS將返回fallback VLAN名給客戶機.
   ◆如果數據庫里的VLAN與MAC地址相關聯的信息和端口的當前VLAN關聯信息不匹配,并沒有配置fallback VLAN名,那么VMPS將返回"access-denied"信息給客戶機.
   secure模式當端口未指定VLAN:
   ◆如果該端口的MAC地址與之相關聯的VLAN信息被許可,VMPS將向客戶返回VLAN名.
   ◆如果該端口的MAC地址與之相關聯的VLAN信息不被許可,端口將被關閉.
   當端口已經指定VLAN:
   如果數據庫里的VLAN與MAC地址相關聯的信息和端口的當前VLAN關聯信息不匹配,即使有配置fallback VLAN名,端口仍將被關閉.
   multiple模式:
   當多個MAC地址(主機)處于同一VLAN的時候,多個MAC地址可以對應一個動態端口.如果動態端口的鏈路down掉,端口將被還原成未指定狀態,并且在指定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"信息給客戶機.有的時候我們也可能看到非法的VMPS客戶機請求,如下兩種:
   ◆當VMPS上未配置fallback VLAN名,并且數據庫里沒有相應的MAC地址到VLAN的映射信息.
   ◆當端口已經被指定了VLAN,并且VMPS不處于multiple模式,但是VMPS收到了第二個不同MAC地址的VMPS客戶機請求信息.
   ===============================================
   配置VMPS數據庫
   VMPS的用途就是用來創建動態的VLAN。而要創建動態VLAN,首先就是要配置VMPS數據庫,然后依次配置VMPS服務器和客戶機。
   為了使用VMPS,你首先要建立VMPS的數據庫(也就是一個文本文件)并把它保存在一個TFTP服務器上。VMPS的格式是基于行的。每一行都是一個開始。VMPS數據庫文件包含如下五個部分:全局設置(Global settings)、MAC地址到VLAN的映射(MAC address-to-VLAN name mappings)、端口組(Port groups)、VLAN組(VLAN groups)和VLAN端口策略(VLAN port policies)。具體解釋如下:
   n 第一部分:全局設置(Global settings)
   第一部分是列出VMPS域名、安全模式、Fallback VLAN名稱,以及VMPS和VTP域名不匹配的策略。VMPS數據庫文件是以“VMPS”開頭的,以防止VMPS服務器錯誤地讀取交換機上其他的配置文件。
   在定義VMPS域時,應當正確輸入在交換機上配置的VTP域名。
   在定義安全模式時,VMPS可以工作于安全模式或者開放模式。如果你設置為開放模式,VMPS就會對未知的MAC地址返回一個拒絕訪問的響應消息,而對于一個不在VMPS數據中的MAC地址,則返回一個Fallback VLAN名的消息進行響應。在安全模式中,VMPS會對未知,或者不在VMPS數據庫中的MAC地址會關閉所訪問的端口。
   Fallback VLAN的定義是個可選項。它是為在連接主機的MAC地址不在數據庫中,且VMPS工作于開放模式時準備的。
   下面是本部分的一個示例:VMPS域名為GRFW,VMPS模式為開放模式,Fallback VLAN為默認設置,VMPS策略中在VTP域名與VMPS域名不匹配時發送訪問拒絕(access-denied)消息進行響應。
   vmps domain GRFW
   vmps mode open
   vmps Fallback default
   vmps no-domain-req deny
   n 第二部分:MAC地址到VLAN的映射(MAC address-to-VLAN name mappings)
   本部分列出MAC地址,以及每個MAC地址對應的VLAN名。可以使用“NONE”關鍵字作為VLAN名,以拒絕該MAC地址的主機與網絡連接。在一個VMPS數據庫中,你可以鍵入最多21,051條MAC地址。
   下面是本部分的一個示例。MAC地址是在MAC地址表中一出的,注意其中的“fedc.ba98.7654”MAC地址對應的VLAN名為“NONE”,也就是拒絕該MAC地址主機訪問網絡。
   vmps-mac-addrs
   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
   n 第三部分:端口組(Port groups)
   本部分列出了在你的網絡中,你想要組合的不同交換機上的端口組。一相端口組就是一個端口的邏輯組合。你可以應用VLAN策略到一個個具體的端口上,或者端口組上。這在后面第五部分,定義VLAN策略時要用到。
   要為每個端口組定義一個名稱,然后列出所有包括在這個端口組中的端口,每條以“device”開頭。端口是由交換機IP地址和模塊/端口號定義的。在端口號中不允許使用范圍。但可以使用“all-ports”關鍵字來指定特定交換機上的所有端口。
   下面是本部分的一個示例,包括兩個端口組portgroup1和portgroup2。端口組portgroup1包括兩個端口,一個是在IP地址為198.92.30.32的VMPS客戶機上的3/2端口,另一個是在IP地址為172.20.26.141的VMPS客戶機上的2/8端口。
   端口組portgroup2包括三個端口:其中兩個是在IP地址為198.4.254.222的VMPS客戶機上的1/2端口和1/3端口,另一個是在IP地址為198.4.254.223的VMPS客戶機上的所有端口。
   vmps-port-group portgroup1
   device 198.92.30.32 port 3/2
   device 172.20.26.141 port 2/8
   vmps-port-group portgroup2
   device 198.4.254.222 port 1/2
   device 198.4.254.222 port 1/3
   device 198.4.254.223 all-ports
   第四部分:VLAN組(VLAN groups)
   本部分列出的是你想關聯在一起的VLAN組。一個VLAN組也是一個VLAN的邏輯組合。VLAN策略可以應用到一個個具體的VLAN上,也可以應用互這些VLAN組上。這在后面第五部分,定義VLAN端口策略時也要用到。
   首先定義VLAN組名,然后列出在VLAN組中的每個端口。你可以在一個VMPS服務器中鍵入最多256個VLAN。
   下面是本部分的一個示例。示例中的VLAN組“Engineering”包含名為“hardware”和“software”的兩個VLAN。
   vmps-VLAN-group Engineering
   VLAN-name hardware
   VLAN-name software
   n 第五部分:VLAN端口策略(VLAN port policies)
   本部分列出了在本VMPS數據庫文件中所定義的VLAN端口策略。它使用前面介紹的端口組和VLAN組來進一步限制對網絡的訪問,可以使用MAC地址和端口組,或者VLAN組來配置限制訪問。每條策略都是以“vmps-port-policies”開頭。
   以下是本部分的一個示例。在這個示例中包含了三個VLAN端口策略:在第一個VLAN端口策略中,在VLAN hardware或者VLAN software(都是名為Engineering的VLAN組成員)中的成員在IP地址為198.92.30.32的VMPS客戶機3/2端口和IP地址為172.20.23.141的VMPS客戶機2/8端口上是限制訪問的。
   第二個VLAN端口策略是指定在VLAN Green中的設備僅可以連接到IP地址為198.92.30.32的VMPS客戶機的4/8端口上。
   第三個VLAN端口策略是指定在VLAN Purple中的設備僅可以連接到IP地址為198.4.254.22的VMPS客戶機的1/2端口和在portgroup2端口組中的端口。
   vmps-port-policies VLAN-group Engineering
   port-group portgroup1
   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 portgroup2
   以下是思科網站上的一個VMPS數據庫文件示例,編輯一下就可以成為自己VMPS數據庫文件。
   !vmps domain 
   ! The VMPS domain must be defined.
   !vmps mode { open | secure }
   ! The default mode is open.
   !vmps Fallback 
   !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
   !
   !
   !MAC Addresses
   !
   vmps-mac-addrs
   !
   ! address 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
   !
   !Port Groups
   !
   !vmps-port-group 
   ! device { port | all-ports }
   !
   vmps-port-group WiringCloset1
   device 198.92.30.32 port Fa1/3
   device 172.20.26.141 port Fa1/4
   vmps-port-group "Executive Row"
   device 198.4.254.222 port es5%Fa0/1
   device 198.4.254.222 port es5%Fa0/2
   device 198.4.254.223 all-ports
   !
   !VLAN groups
   !
   !vmps-VLAN-group 
   ! VLAN-name 
   !
   vmps-VLAN-group Engineering
   VLAN-name hardware
   VLAN-name software
   !
   !VLAN port Policies
   !
   !vmps-port-policies {VLAN-name | VLAN-group }
   ! { port-group | device port }
   !
   vmps-port-policies VLAN-group Engineering
   port-group WiringCloset1
   vmps-port-policies VLAN-name Green
   device 198.92.30.32 port Fa0/9
   vmps-port-policies VLAN-name Purple
   device 198.4.254.22 port Fa0/10
   port-group "Executive Row"
   VMPS數據庫文件創建好后,通過本書第一章介紹TFTP或者RCP方式上傳該文件到一個TFTP或者RCP服務器上,然后再下載到擔當VMPS服務器的交換機的閃存中即可。
?
轉載于:https://blog.51cto.com/chenxz/728881
總結
以上是生活随笔為你收集整理的CISCO动态VLAN配置的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: ASP编程网址
- 下一篇: 异形魔方SQ1的暴力解法
