1.介紹
爲什麼會產生private vlan(思科私有)和mux lan(華爲私有)這項技術?
不管是華爲官網還是各種教程都是舉例:公司所有員工可以訪問服務器,部門有隔離要求或者外來客戶只能訪問服務器,不能訪問公司內部信息。這些要求都可以一一進行反駁,如下所示:
1.服務器的VLAN都是單獨劃分,員工或外來客戶想要訪問服務器,設置服務器的鏈路允許其vlan通過即可。
2.不同部門有隔離要求,那就劃分不同VLAN啊。
3.外來客戶登錄接口一般都是配置單獨的VLAN,自然就跟內部信息隔離了。如果外來客戶的登錄接口的VLAN與內部VLAN相同,這是相當不專業的做法,你也在自找苦吃。
4.相同vlan的員工需要隔離,private vlan和mux vlan也就這方面還可以。
所以真正產生的原因:好的設計應該一個vlan對應一個IP子網,不過有時候爲了將設備分割多個vlan同時要節省IP子網,於是思科提出了private vlan用於解決上述需求。目前一般是服務提供商(SP)使用該技術來提供多租戶服務(現在有了Vxlan了)。
private vlan和mux vlan都有3種vlan類型如下表所示,特別需要說明一點:一個主vlan下最多只能有一個隔離型vlan。
vlan類型 | 思科 | 華爲 | 工作原理 |
---|---|---|---|
主vlan | primary vlan | mux vlan | 可以跟其他兩種vlan互通 |
隔離vlan | isolated vlan | separate vlan | 只能跟主vlan互通,與同ID的separate vlan和團體型vlan都不互通。 |
團體vlan | community vlan | group vlan(一般叫組vlan) | 可以跟主vlan和相同ID的團體vlan互通,不能跟隔離vlan互通。 |
2.思科
雖然上面吐槽這麼多,不過介紹private vlan使用的拓撲還是很不錯,這裏主vlan 100,隔離vlan 10,團體vlan 20。設備IP地址都是192.168.10.x/24,x就是VPC的編號。
1.配置隔離vlan
Switch(config)#vlan 10
Switch(config-vlan)#private-vlan isolated
2.配置團體vlan
Switch(config)#vlan 20
Switch(config-vlan)#private-vlan community
3.配置主vlan
Switch(config)#vlan 100
Switch(config-vlan)#private-vlan primary
Switch(config-vlan)#private-vlan association 10 ---->將隔離和 團體vlan與主vlan單向綁定
Switch(config-vlan)#private-vlan association add 20------>虛擬機不支持association 10, 20這樣一次添加多個
4.配置隔離和團體vlan到物理接口(主機端口)
Switch(config)#int ran ether0/2-3
Switch(config-if-range)#switchport mode private-vlan host
Switch(config-if-range)#switchport private-vlan association host 10
Switch(config-if-range)#exit
Switch(config)#int ran ether1/0-1
Switch(config-if-range)#switchport mode private-vlan host
Switch(config-if-range)#switchport private-vlan association host 20
5.配置主vlan到物理接口(混雜端口)
Switch(config)#int ran ether0/1
Switch(config-if-range)#switchport mode private-vlan promiscuous ------>設置端口爲私有vlan的主模式
Switch(config-if-range)#switchport private-vlan association mapping 100 10 ---->第一個是主vlan,後面是要綁定的隔離和團隊vlan
Switch(config-if-range)#switchport private-vlan association mapping 100 add 20---->虛擬機不支持mapping 100 10,20這樣一次添加多個
6.配置VSI
Switch(config)#int vlan 100
Switch(config-if)#ip add 192.168.10.1 255.255.255.0
Switch(config-if)#private-vlan mapping 10
Switch(config-if)#private-vlan mapping add 20------>虛擬機不支持mapping 10,20這樣一次添加多個
7.查看
Switch#show vlan private-vlan
Primary Secondary Type Ports
------- --------- ----------------- ------------------------------------------
100 10 isolated Et0/1, Et0/2, Et0/3
100 20 community Et0/3, Et1/0, Et1/1
8.測試
各個設備之間進行ping測試即可。
特別提示:
1.在EVE-ng裏面選擇L2_new_15.2d.bin這個交換機才能配置成功。
2.其他L2的文件不支持VSI裏面配置private-vlan,所以會私有VLAN不能正常工作。
3.華爲
華爲mux 配置就比思科稍微簡單點,PC的IP地址都是192.168.10.x/24,X是PC編號,主VLAN是100,隔離VLAN是10,組VLAN是20,拓撲圖如下。
1.配置vlan關係
[sw1]vlan 100
[sw1-vlan100]mux-vlan ----->指定100的主
[sw1-vlan100]subordinate separate 10 ---->指定隔離vlan
[sw1-vlan100]subordinate group 20 ------->指定組vlan
2.配置端口模式和vlan
[sw1]port-group group-member gi0/0/2 to GigabitEthernet 0/0/3
[sw1-port-group]port link-type access
[sw1-port-group]port default vlan 10
[sw1-port-group]port mux-vlan enable
[sw1]port-group group-member gi0/0/4 to GigabitEthernet 0/0/5
[sw1-port-group]port link-type access
[sw1-port-group]port default vlan 20
[sw1-port-group]port mux-vlan enable
[sw1]int gi 0/0/1
[sw1-port-group]port link-type access
[sw1-port-group]port default vlan 100
[sw1-port-group]port mux-vlan enable
3.測試
設備之間互相ping即可。
特別提示:華爲eNSP在做跨設備的mux vlan時有個bug,兩個交換機的隔離VLAN之間能通信(經測試思科沒有相關bug)。
SW1的配置與上面保持一致,SW1和SW2互聯接口都配置爲trunk ,PVID爲1,允許所有VLAN通過。SW2的gi0/0/2加入vlan 20,gi0/0/3加入vlan10,並都開啓mux vlan功能。按照原理PC6可以跟PC1通信,但不能跟PC2,PC3通信。但測試結果PC6可以與PC1,PC2,PC3互通,所以eNSP有BUG。