是否有可能使用Hyper-V 2012R2构buildHyper-V内部的虚拟交换机(无需或不需要外部连接),其中一个交换机参与者(下图中的虚拟机0)具有中继接口,剩下的虚拟机(下图中的VM 1 … VM n)每个都具有通向标记有特定VLAN ID的虚拟交换机的访问端口。
_______________________________________________________ | Hyper-V host | | | | _____ _____ ______ ______ | | | VM0 | | VM1 | | VM 2 | ... | VM n | | | | | | | | | | | | | |_____| |_____| |______| |______| | | |:| eth0 | eth0 | eth0 | eth0 | | |:| trunk | vlan 1 | vlan 2 | vlan 3 | | |:| | | | | | ================================================= | | Virtual Switch | |_______________________________________________________|
例如,离开VM2的eth0接口的未加标签的数据包在传送到虚拟交换机时会被标记为VLAN标签2。 然后他们通过中继端口到VM0,通过该虚拟机的eth0到达VM,(如果这是一个linux虚拟机)可以在eth0.2上eth0.2 ,也就是说VLAN标记是显而易见的VM0。 类似地,stream出口标记有VLAN标签2的VM0的eth0将进入具有该标签的虚拟交换机,并且标签在将其发送到VM2之前将被剥离,其在虚拟机的eth0接口上未标记。
如果是这样,这个标记是如何实现的? 我不是一个Hyper-V专家,我能find的唯一文档就是关于整个交换机处于中继模式还是访问模式。 很显然,交换机需要携带VLAN标签,但是我需要将不同的端口插入主干或接入模式。 这可能没有外部接口? 我也不希望或需要连接到Hyper-V父分区。
常问问题:
我知道我可以在上面的configuration中为每个VLANconfiguration一个虚拟交换机,但是不想这样做,因为VM0必须具有大量的networking接口,并且这将使用许多虚拟交换机。
这个configuration在VMware和Linux上运行良好,并不像你想像的那么古怪。
画线很可怕,道歉。
如果有必要的话,我已经准备好通过程序而不是通过graphics用户界面来完成。
您可以创build一个到虚拟机的中继链路。
https://technet.microsoft.com/en-us/library/hh848475.aspx
一般来说你的命令是这样的:
Set-VMNetworkAdapterVlan -VMname $VMName -VMNetworkAdapterName $VMNetworkAdapterName -Trunk -AllowedVlanIdList "vlan number" -NativeVlanId "vlan ID"
就我们而言,我知道你需要让所有的虚拟机拥有中继网卡。
Hyper-V中的本地Vlan用于标记所有传出stream量,因此如果您将具有本机vlan 50和所有其他允许的VM0 NIC中继,并使用Vlan 1访问VM1 NIC。然后VM1 – > VM0成功,但VM0 – > VM0成功, VM1不是(在 – >我的意思是发送数据包,如果它们被传送到目的地,并没有必要保证成功的反向stream动)
所以,你的VM0应该对所有的机器有一些共同的VLAN X作为本地的vlan,并且在允许的vlan列表中所有其他虚拟机都需要vlans。 任何其他虚拟机都应该将其作为本地VLAN作为唯一VLAN,并且允许使用VLAN X.
例如:
VM Name | Native Vlan | Allowed Vlan VM1 | 1 | 1,50 VM2 | 2 | 2,50 VMn | n | n,50 VM0 | 50 | 1,2,n,50
这里VM0 – >任何VM =成功,任何VM – > VM0 =成功,VMn – > VMm(如果“n”和“m”不为0)=失败。
希望它有助于和遗憾的任何语法错误。