不管是出于什么原因,你都可能想要去控制虚拟机之间的通信。Hyper-V提供了很多可供选择的虚拟机隔离选项。
你想从其他计算机中隔离一组计算机可能有几个原因。其一是你可能想分开企业内部各业务部门之间的通信。举个例子,你可能从来不希望HR的计算机与财务部门的计算机相互通信。在物理的IT数据中心中,分离不同业务部门之间的通信的一般方法是定义不同的VLAN。
现在的IT物理环境走向虚拟化,包括网络虚拟化,有多个虚拟化厂商其中包括微软,都提供不同的隔离选项。当你谈论到虚拟你的物理基础设施时,你会希望虚拟化软件帮助你模拟物理到逻辑的环境以及帮助你配置隔离不同的业务部门提供不同的隔离选项。因为一个主机可以容纳不同业务部门的虚拟机,所以虚拟机隔离是必须的。IT企业和云计算提供商都可以从Microsoft Hyper-V提供的隔离选项中受益。
Hyper-V虚拟交换机
Hyper-V提供三种类型的虚拟交换机:外部、内部和专有。这些虚拟交换机可以帮助隔离虚拟机间各自的流量。当虚拟机连接到内部虚拟交换机时,虚拟机之间可以相互通信,也可以与Hyper-V父分区进行通信。专有虚拟交换机只允许连接到专有虚拟交换机的虚拟机。如果你有一组需要彼此之间通信的计算机,您可以创建一个专有虚拟交换机,然后将虚拟机连接到专有虚拟交换机上。一个外部虚拟交换机允许局域网内的虚拟机互相通信。大多数情况下,虚拟化管理员都会把虚拟机配置在外部虚拟交换机上,所以虚拟机的流量可以在运行远程Hyper-V服务器上的虚拟机和运行在局域网中的物理机上看到。在这种情况下,如果你需要为连接到一个Hyper-V虚拟交换机上的虚拟机配置隔离的话,你可以使用第二个隔离选项——为每一组虚拟机配置VLAN域。
VLAN
VLAN可以允许你隔离虚拟机流量。你可以在Hyper-V虚拟交换机和虚拟机上配置VLAN ID。当然,一个虚拟交换机只能配置一个VLAN ID。举个例子,假如要隔离两个业务部门(HR和财务),HR部门的虚拟机使用VLAN ID 2,财务部门的虚拟机使用VLAN ID 3。默认情况下,Hyper-V虚拟交换机是允许VLAN流量通过。换句话说,一个Hyper-V虚拟交换机已配置了Trunk模式就允许所有VLAN流量通过。它总是推荐配置多个VLAN而不是创建一个单独的Hyper-V的虚拟交换机来实现隔离。Hyper-V支持最多配置4095个VLAN。由于VLAN有可扩展性的问题,所以你可以使用其他隔离选项比如PVLAN或者Hyper-V网络虚拟化。
PVLAN
专有VLAN(PVLAN)是隔离运行在Windows Server 2012 或2012 R2 Hyper-V 主机上的虚拟机的另一种形式。虽然小型企业可以用划分多个VLAN的方式来实现隔离虚拟机,但是对于一个多租户的数据中心来说这并不是一个可行性选择。VLAN有可扩展性的问题而且配置复杂。微软设计了PVLAN特性来克服VLAN的限制。PVLAN通常会被云服务提供商采用,使用VLAN为不同用户的虚拟机划分多个隔离的虚拟网络。尽管VLAN有可扩展性问题,但是在Hyper-V网络虚拟化中通过配置每个租户也是可以解决的。如果每个租户只运行一个虚拟机的话,最简单的解决方案就是使用PVLAN。
VSID (Hyper-V网络虚拟化)
VSID,有时候被称为虚拟子网ID,也是帮助配置隔离虚拟机的一个Hyper-V网络虚拟化的组件。你可以从使用VLAN隔离或者Hyper-V网络虚拟化隔离的方法中任选其一,但是不能同时使用。相对于VLAN只支持4095个虚拟网络VLAN ID,而Hyper-V网络虚拟化可以支持1600万个虚拟网络。如果你计划使用VSID来隔离虚拟机,请确保你配置了Hyper-V网络虚拟化所必需的其他组件,包括供应商地址、路由器域名、虚拟机网络以及更多。如果有租户在一个共享的IaaS云上有多个虚拟网络,你必须要清楚,***的隔离选项就是使用Hyper-V网络虚拟化而不是使用VLAN或PVLAN。如果在这样的情况下你仍然需要去阻止一组虚拟机的网络流量的话,那么你可以去配置端口访问控制列表(port ACLs)。
Port ACLs
虽然端口ACL的功能只是用来允许或阻止远程计算机到虚拟机的输入和输出的网络流量,但它也是可以作为一个隔离选项来使用的。端口ACL可以和VLAN结合来使用。例如,要阻止在VLAN内的虚拟机之间的通信。这种情况下,你就可以去配置一个端口ACL规则去阻止虚拟机1到虚拟机2之间的通信。端口ACL只能用在Windows Server 2012或者之上的Hyper-V主机上。
Windows防火墙
你还可以配置Windows防火墙去阻止或允许一组虚拟机之间的输入流量,但是只能操作系统级别上实现。由于Windows防火墙工作在虚拟机的操作系统上,那么Hyper-V主机就没办法控制在其之上的输入或输出的网络流量。当然,仍有一些IT组织还在用Windows防火墙的隔离方式去阻止来自远程计算机上无用的流量。