简介
本文档介绍2.2(2c)版及更高版本中对思科统一计算系统(UCS)的专用VLAN(PVLAN)支持。
警告:从UCS固件版本3.1(3a)开始的行为发生更改,如UCS版本3.1(3)和更高版本的行为更改一节所述。
先决条件
要求
Cisco 建议您了解以下主题:
- UCS
- Cisco Nexus 1000V(N1K)或VMware分布式虚拟交换机(DVS)
- VMware
- 第2层(L2)交换
使用的组件
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
背景信息
专用VLAN是配置为与同一专用VLAN中的其他端口进行L2隔离的VLAN。属于PVLAN的端口与一组通用的支持VLAN关联,这些VLAN用于创建PVLAN结构。
有三种类型的 PVLAN 端口:
- 混杂端口与所有其他PVLAN端口通信,是用于与PVLAN外部设备通信的端口。
- 隔离端口与同一PVLAN中的其他端口(包括广播)有完全的L2分离(混合端口除外)。
- 社区端口可以与同一PVLAN中的其他端口以及混杂端口通信。在L2上,社区端口与其他社区或隔离PVLAN端口的端口隔离。广播仅传播到团体中的其他端口和混杂端口。
请参阅RFC 5517,Cisco Systems的专用VLAN:多客户端环境中的可扩展安全性,以便了解PVLAN的理论、操作和概念。
配置
网络图
使用Nexus 1000v或VMware DVS
注意:本示例使用VLAN 1750作为主VLAN,1785作为隔离VLAN,1786作为社区VLAN。
带VMware DVS的UCS
- 要创建主VLAN,请单击主单选按钮作为共享类型,并输入VLAN ID 1750,如图所示。
2.如图所示,相应创建隔离和社区VLAN。这些都不必是本征VLAN。
3.服务配置文件上的虚拟网络接口卡(vNIC)传输常规VLAN和PVLAN,如图所示。
4. UCS上的上行链路端口通道传输常规VLAN和PVLAN:
interface port-channel1
description U: Uplink
switchport mode trunk
pinning border
switchport trunk allowed vlan 1,121,221,321,1750,1785-1786
speed 10000
F240-01-09-UCS4-A(nxos)#
F240-01-09-UCS4-A(nxos)# show vlan private-vlan
Primary Secondary Type Ports
------- --------- --------------- -------------------------------------------
1750 1785 isolated
1750 1786 community
VMware DVS
上游N5k交换机
feature private-vlan
vlan 1750 private-vlan primary private-vlan association 1785-1786
vlan 1785 private-vlan isolated
vlan 1786 private-vlan community
interface Vlan1750
ip address 10.10.175.252/24 private-vlan mapping 1785-1786
no shutdown
interface port-channel114
Description To UCS
switchport mode trunk
switchport trunk allowed vlan 1,121,154,169,221,269,321,369,1750,1785-1786
spanning-tree port type edge
spanning-tree bpduguard enable
spanning-tree bpdufilter enable
vpc 114 <=== if there is a 5k pair in vPC configuration only then add this line to both N5k
UCS版本3.1(3)的行为更改
在UCS版本3.1(3)之前,您可以在VMware DVS上的社区VLAN中的VM与主VLAN中的VM通信,主VLAN VM驻留在UCS内。此行为不正确,因为主VM必须始终是北向或UCS外部。此行为通过缺陷ID CSCvh87378记录 。
从UCS版本2.2(2)开始,由于代码有缺陷,社区VLAN能够与FI后的主VLAN通信。但Isolated永远无法与FI后的主通信。两个(隔离和社区)虚拟机仍能与FI外的主机通信。
从3.1(3)开始,此缺陷允许社区与FI后的主VM通信,已进行修正,因此社区VM将无法与驻留在UCS内的主VLAN中的VM通信。
要解决此情况,需要将主VM移到UCS之外(北向)。如果不能,则需要将主VM移入另一个VLAN,该VLAN是常规VLAN,而不是专用VLAN。
例如,在固件3.1(3)之前,团体VLAN 1786中的VM可以与驻留在UCS中的主要VLAN 1750中的VM通信,但是,如图所示,此通信会在固件3.1(3)及更高版本中中断。
NOTE:
—
CSCvh87378在3.2(3l)和4.0.4e及更高版本中已编址,因此我们可以在UCS后面设置主VLAN。但请注意,UCS内的隔离VLAN将无法与UCS内的主VLAN通信。当两个UCS后面都处于UCS之后时,只有社区VLAN和主VLAN可以相互通信。
上游4900交换机
注意:在本例中,4900是到外部网络的L3接口。如果第3层的拓扑不同,请相应地进行更改
在4900交换机上,执行以下步骤,并设置混杂端口。PVLAN在混杂端口结束。
- 根据需要打开PVLAN功能。
- 按照Nexus 5K上的操作创建并关联VLAN。
- 在4900交换机的出口端口上创建混杂端口。从此时开始,VLAN 1785和1786的数据包在VLAN 1750上出现。
Switch(config-if)#switchport mode trunk
switchport private-vlan mapping 1785-1786
switchport mode private-vlan promiscuous
在上游路由器上,仅为VLAN 1750创建子接口。在此级别,要求取决于您使用的网络配置:
interface GigabitEthernet0/1.1
encapsulation dot1Q 1750
IP address10.10.175.254/24
验证
当前没有可用于此配置的验证过程。
故障排除
本部分提供了可用于对配置进行故障排除的信息。
此过程介绍如何使用PVLAN测试VMware DVS的配置。
1.对端口组中配置的其他系统以及混杂端口上的路由器或其他设备执行ping操作。对经过混杂端口的设备执行ping操作必须有效,而对隔离VLAN中其他设备执行ping操作必须失败,如图所示。
检查MAC地址表,以查看MAC的学习位置。在所有交换机上,MAC必须位于隔离VLAN中,但具有混杂端口的交换机除外。在混杂交换机上,MAC必须位于主VLAN中。
2.如图所示的UCS。
3.检查上游n5k上是否有相同的MAC,n5k上必须存在与早期输出类似的输出,如图所示。
在上游N5k上配置Nexus 1000v和混杂端口
UCS配置
UCS配置(包括服务配置文件vNIC配置)与VMware DVS的示例相同。
N1k配置
feature private-vlan
vlan 1750 private-vlan primary private-vlan association 1785-1786
vlan 1785 private-vlan isolated
vlan 1786 private-vlan community
same uplink port-profile is being used for regular vlans & pvlans. In this example vlan 121 & 221 are regular vlans but you can change them accordingly
port-profile type ethernet pvlan-uplink-no-prom
switchport mode trunk
mtu 9000
switchport trunk allowed vlan 121,221,1750,1785-1786
channel-group auto mode on mac-pinning
system vlan 121 no shutdown state enabled vmware port-group
port-profile type vethernet pvlan_1785
switchport mode private-vlan host
switchport private-vlan host-association 1750 1785
switchport access vlan 1785
no shutdown
state enabled
vmware port-group
port-profile type vethernet pvlan_1786 switchport mode private-vlan host switchport access vlan 1786 switchport private-vlan host-association 1750 1786 no shutdown state enabled vmware port-group
此步骤介绍如何测试配置。
1.对端口组中配置的其他系统以及混杂端口上的路由器或其他设备执行ping操作。对经过混杂端口的设备执行ping操作必须有效,而对隔离VLAN中的其他设备执行ping操作必须失败,如上一节和映像所示。
2.在N1K上,VM列在主VLAN中;这是因为您位于与PVLAN关联的PVLAN主机端口中,如图所示。
检查MAC地址表,以查看MAC的学习位置。在所有交换机上,MAC必须位于隔离VLAN中,但具有混杂端口的交换机除外。在混杂交换机上,MAC必须位于主VLAN中。
3.在UCS系统上,您必须学习其各自专用VLAN中的所有MAC,如图所示。
4.检查上游n5k上是否有相同的MAC,n5k上必须存在与早期输出类似的输出,如图所示。
在N1K上行链路端口配置文件上配置Nexus 1000v和混杂端口
由于PVLAN在混杂端口结束,因此在此配置中,您只包含到N1K的PVLAN流量,而上游使用的主VLAN。因此,UCS和上游设备不知道任何PVLAN。
UCS配置
此过程介绍如何将主VLAN添加到vNIC。无需PVLAN配置,因为您只需要主VLAN。
注意:本示例使用1750作为主VLAN,1785作为隔离VLAN,1786作为社区VLAN,如图所示。
上游设备的配置
这些步骤说明如何配置上游设备。在这种情况下,上游交换机只需要中继端口,而且只需中继VLAN 1750,因为它是上游交换机看到的唯一VLAN。
在Nexus 5K上,运行以下命令并检查上行链路配置:
- 将VLAN添加为主VLAN:
Nexus5000-5(config-vlan)# vlan 1750
- 确保配置了所有上行链路以中继VLAN。
配置N1K
本步骤介绍如何配置N1K:
feature private-vlan
vlan 1750 private-vlan primary private-vlan association 1785-1786
vlan 1785 private-vlan isolated
vlan 1786 private-vlan community
same uplink port-profile is being used for regular vlans & pvlans. In this example vlan 121 & 221 are regular vlans but you can change them accordingly
port-profile type ethernet pvlan-uplink
switchport mode private-vlan trunk promiscuous
switchport trunk allowed vlan 121,221,1750
switchport private-vlan trunk allowed vlan 121,221,1750 <== Only need to allow Primary VLAN
switchport private-vlan mapping trunk 1750 1785-1786 <=== PVLANs must be mapped at this stage
mtu 9000
channel-group auto mode on mac-pinning
no shutdown
system vlan 121
state enabled
vmware port-group
port-profile type vethernet pvlan_1785
switchport mode private-vlan host
switchport private-vlan host-association 1750 1785
switchport access vlan 1785
no shutdown
state enabled
vmware port-group
port-profile type vethernet pvlan_1786
switchport mode private-vlan host
switchport access vlan 1786
switchport private-vlan host-association 1750 1786
no shutdown
state enabled
vmware port-group
PVLAN必须在n1k和UCS的上行链路端口配置文件的混杂端口终止,随后所有上游设备都必须在主VLAN中看到这些虚拟机。这是上游N5k和UCS的快照。
没什么好记的:
private-vlan mapping trunk命令不决定或覆盖端口的中继配置。
- 在添加PVLAN中继配置之前,端口已在常规中继模式下配置
- 必须将主VLAN添加到混杂中继端口允许的VLAN列表
- 辅助VLAN未在允许的VLAN列表中配置
- 中继端口除主要VLAN外还可以传输普通VLAN