簡介
PVLAN(Private VLAN 私有VLAN)通常用於企業內部網,用來防止連接到某些接口或接口組的網絡設備之間的相互通信,但卻允許與默認網關進行通信。儘管各設備處於不同的PVLAN中,它們可以使用相同的IP子網。在PVLAN中,交換機端口有3種類型:Isolated Port(隔離端口)、Community Port(團體端口)和Promiscuous Port(混雜端口);它們分別對應不同的VLAN類型:Isolated Port屬於Isolated PVLAN,Community Port屬於Community PVLAN,而代表一個Private VLAN整體的是Primary PVLAN(主私有VLAN),前面兩類VLAN也稱爲Secondary PVLAN(輔助私有VLAN),它們需要和Primary PVLAN綁定在一起,Promiscuous Port屬於Primary PVLAN。
傳統VLAN的侷限性:
隨着網絡的迅速發展,用戶對於網絡數據通信的安全性提出了更高的要求,諸如防範******、控制病毒傳播等,都要求保證網絡用戶通信的相對安全性;傳統的解決方法是給每個客戶分配一個VLAN和相關的IP子網,通過使用VLAN,每個客戶被從第2層隔離開,可以防止任何惡意的行爲和Ethernet的信息探聽。然而,這種分配每個客戶單一VLAN和IP子網的模型造成了巨大的可擴展方面的侷限。這些侷限主要有下述幾方面:
1.VLAN的限制:交換機固有的VLAN數目的限制;
2.複雜的STP:對於每個VLAN,每個相關的Spanning Tree的拓撲都需要管理;
3.IP地址的緊缺:IP子網的劃分勢必造成一些IP地址的浪費;
4.路由的限制:每個子網都需要相應的默認網關的配置。
PVLAN簡介
PVLAN的應用對於保證接入網絡的數據通信的安全性是非常有效的,用戶只需與自己的默認網關連接,一個PVLAN不需要多個VLAN和IP子網就能提供具備二層數據通信安全性的連接,所有的用戶都接入PVLAN,從而實現了所有用戶與默認網關的連接,而與PVLAN內的其它用戶沒有任何訪問。PVLAN功能可以保證同一個VLAN中的各個端口相互之間不能通信,但可以穿過Trunk端口。這樣即使同一VLAN中的用戶相互之間也不會受到廣播的影響。
PVLAN的2種VLAN:
主要VLAN(Primary VLAN):把流量從混雜端口傳送到隔離、團體和同一個VLAN內部的其它主要混雜端口。
輔助VLAN(Secondary VLAN):輔助VLAN包含兩種VLAN類型:
隔離VLAN(Isolated VLAN):把流量從隔離端口傳送到一個混雜端口。隔離VLAN中的端口,使其不能與PVLAN
(另一個團體VLAN端口或相同隔離VLAN內的端口)內部的任何其它端口進行第2層通信。若要與其它端口通
信,則必須穿越混雜端口。
團體VLAN(Community VLAN):在相同團體VLAN內部的團體端口之間傳送流量並傳送到混雜端口,團體VLAN內的
端口可以在第2層彼此通信(只是在相同團體VLAN內部),但是不能與其它團體或隔離VLAN的端口進行通信。
若要與其它端口進行通信,則必須穿越混雜端口。
PVLAN的2種端口類型:
混雜端口(Promiscuous Port):隸屬於“Primary VLAN”,一個混雜端口可以與所有接口通信,包括PVLAN內的
隔離和團體端口;混雜端口的功能是在團體和隔離的VLAN端口之間傳遞流量。
主機端口(Host Port):隸屬於“Secondary VLAN”,由於“Secondary VLAN”具有兩種屬性,那麼主機端口依
“Secondary VLAN”屬性的不同也有兩種分類:
隔離端口(Isolated Port):它與PVLAN內的所有其它端口相分離,除混雜端口外;來源於隔離端口的流量僅僅
傳送給混雜端口。
團體端口(Community Port):它在邏輯上把相同區域內部的各個端口和混雜端口結合到一起,流量可以在它們
之間傳送。
PVLAN的使用規則:
1.一個“Primary PVLAN”當中只能有1個“Promiscuous Port”;
2.一個“Primary PVLAN”當中至少有1個“Secondary PVLAN”,但是沒有上限;
3.一個“Primary PVLAN”當中只能有1個“Isolated PVLAN”,可以有多個“Community PVLAN”;
4.不同“Primary PVLAN”之間的任何端口都不能互相通信(這裏“互相通信”是指二層連通性);
5.“Isolated Port”只能與“Promiscuous Port”通信,除此之外不能與任何其他端口通信;
6.“Community Port”可以和“Promiscuous Port”通信,也可以和同一“Community PVLAN”中的其它物理端
口進行通信,除此之外不能和其他端口通信。
7.創建PVLAN前,需要配置VTP模式爲Transparent,在配置PVLAN後,將不能再把模式轉變爲Server和Client;
8.在配置PVLAN中,不使用VLAN1,VLAN1002 - 1005;
9.三層的VLAN接口只能分配給主VLAN;
10.不能在PVLAN中配置EtherChannel;
11.假如交換機上一個端口作爲SPAN的目的端口,這個端口會在配置PVLAN的後失效;
12.PVLAN的端口可以做SPAN的源端口;
13.假如在PVLAN中刪除了一個VLAN,那麼屬於該VLAN的端口將失效。
受保護的端口(PVLAN邊緣)和PVLAN:
這兩種技術都可以實現交換機同一VLAN中的接口間不能通信的目的,但這種“不可通信”不是真正的隔離並且只是一種表面現象,通過某些辦法是可以打破這種表象的。
受保護的端口要求:
①只限於同一交換機的同一VLAN,它不能隔離位於不同交換機或不同VLAN的兩個受保護的端口間通信;
②受保護的端口間若要通信必須通過3層設備,在受保護端口間路由;
③控制流量是一個例外,它將在受保護的端口間進行轉發(如路由選擇協議更新);
④受保護的端口和非保護端口間的轉發一般優於默認行爲;
⑤默認情況下端口不配置受保護的端口。
配置命令:SW1(config)#int f0/1
SW1(config-if)#switchitchport protected //開啓端口保護
SW1#show int f0/1 switchport //查看交換端口的配置
Catalyst交換機上的VLAN支持:
實驗
命令:
SW1(config-vlan)#private-vlan community
SW1(config-vlan)#private-vlan isolated
SW1(config-vlan)#private-vlan primary
SW1(config-vlan)#private-vlan association 101-102
SW1(config-if)#switchport private-vlan host-association 100 101
SW1(config-if)#switchport mode private-vlan host
SW1(config-if)#switchport private-vlan mapping 100 101,102
SW1(config-if)#switchport mode private-vlan promiscuous
SW1(config-if)#private-vlan mapping 101-102
SW1(config)#vtp mode transparent
SW1(config)#vlan 200
SW1(config-vlan)#name VLAN-200
SW1(config)#int f0/23
SW1(config-if)#switchport access vlan 200
SW1(config-if)#switchport mode access //用於接入SW2交換機
SW1(config)#ip routing //配置三層交換,SW1承擔Vlan 100和Vlan 200間的路由功能
SW1(config)#int vlan 200
SW1(config-if)#ip add 172.16.2.254 255.255.255.0
SW1(config-if)#no sh
1.創建主要和輔助PVLAN:
SW1(config)#vlan 100
SW1(config-vlan)#name VLAN-100
SW1(config-vlan)#private-vlan primary //配置該VLAN爲主VLAN
SW1(config)#vlan 101
SW1(config-vlan)#private-vlan community //配置該VLAN爲輔助VLAN的團體VLAN
SW1(config)#vlan 102
SW1(config-vlan)#private-vlan isolated//配置該VLAN爲輔助VLAN的隔離VLAN
2.把輔助VLAN與主要VLAN關聯:
SW1(config)#vlan 100
SW1(config-vlan)#private-vlan association 101-102//把本主VLAN和輔助VLAN101、102關聯
3.把輔助VLAN映射到交換機SVI(虛擬接口):
SW1(config)#int vlan 100
SW1(config-if)#ip add 172.16.1.254 255.255.255.0
SW1(config-if)#private-vlan mapping add 101-102 //將輔助VLAN映射到3層接口,允許PVLAN入口流量
的3層交換;輔助VLAN被映射到主VLAN後就不能起自己的SVI了,也就是說映射時也可以不映射全部的輔助VLAN
SW1(config-if)#no sh
4.配置一個2層端口作爲隔離或團體端口,把這個2層端口與初級VLAN和可選輔助對VLAN進行關聯:
SW1(config)#int f0/1
SW1(config-if)#switchport private-vlan host-association 100 101
//把本接口配置爲團體接口;即本接口屬於主Vlan 100,並關聯到輔助Vlan 101中
SW1(config-if)#switchport mode private-vlan host //輔助VLAN的接口模式被定義爲host
SW1(config)#int f0/2
SW1(config-if)#switchport private-vlan host-association 100 101
SW1(config-if)#switchport mode private-vlan host
SW1(config)#int f0/3
SW1(config-if)#switchport private-vlan host-association 100 102
SW1(config-if)#switchport mode private-vlan host
SW1(config)#int f0/4
SW1(config-if)#switchport private-vlan host-association 100 102
SW1(config-if)#switchport mode private-vlan host
5.配置一個2層端口作爲PVLAN混雜端口,並將這個混雜端口映射到初級VLAN端口和可選的輔助VLAN對:
SW1(config)#int f0/13
SW1(config-if)#switchport private-vlan mapping 100 101,102//把本接口屬於主Vlan 100,
並實現主VLAN和輔助VLAN間的映射;主VLAN接口也可以不映射所有的輔助VLAN
SW1(config-if)#switchport mode private-vlan promiscuous //把本接口配置爲混雜接口,即
本接口可以和Vlan 101、102通信;主VLAN接口的模式一定是Promiscuous
這時PC1/(PC2)能與PC2/(PC1)、Server、Vlan 200(SW2)通信;注意PC1/PC2與PC3和PC4是不通的!PC3/PC4只能與Server、Vlan 200(SW2)通信;注意PC3和PC4是不通的!
說明:
①只有VTP模式爲透明模式,才能配置PVLAN。
②host|promiscuous:
host:只能爲一個輔助VLAN服務;
promiscuous:可以爲多個輔助VLAN服務。
實驗調試
SW1#show int f0/1 switchport
SW1#show int private-vlan mapping
SW1#show vlan private-vlan //查看PVLAN信息