微软Hyper-V提供了三种类型的虚拟网络交换机:内部、私人和外部。这些虚拟网络交换机是使用Hyper-V交换机管理器创建的。
内部虚拟网络交换机允许虚拟机之间的通信连接内部虚拟网络交换机和Hyper-V主机。如果你需要限制虚拟机之间的通信连接到同一个交换机,可以使用Windows Server TutorialsA专用虚拟网络交换机。
外部虚拟网络交换机允许虚拟机与企业局域网通信。外部虚拟网络交换机需要Hyper-V主机上安装物理网络适配器,虚拟机才可以与企业局域网通信。
外部的虚拟网络交换机映射到物理网络适配器。私人和内部虚拟网络交换机不需要映射到物理网络适配器就能创建。
许多虚拟管理员不知道,当创建一个外部虚拟网络交换机时,Hyper-V主机上的数据流发生了变化。默认情况下,Windows服务器操作系统使用物理网络适配器发送网络数据包。这是因为网络服务需要使用的物理网络适配器必须绑定了网络协议和服务。
当创建一个外部虚拟网络交换机时,所有网络数据包由该交换机接收的网络服务/应用程序生成。一旦外部虚拟网络交换机接收了网络数据包,会将这些数据包转发到映射的物理网络适配器。
这是因为当你创建一个外部虚拟网络交换机时,虚拟交换机管理器修改了物理网络适配器和外部虚拟网络交换机一些必要的属性。虚拟交换机管理器实施更改之前,你应该会看到一个如下面屏幕截图所示的警告信息:
外部虚拟网络交换机警告截图
上图警告提示Hyper-V主机连接失败。在创建私有或内部虚拟网络交换机时不会看到这样的警告。只有当创建外部虚拟网络交换机时才会有上面的提示。这是因为变化是在创建过程中处理的,包括协议、服务和客户服务的绑定和解绑定。
例如,你创建了一个名为“ExtSwitch”的外部虚拟网络交换机,并将其映射到名为“Intel(R) 82576 Gigabit Dual Port Network”的物理网络适配器上。当点击“Apply”按钮时,物理网络适配器的属性会发生如下变化:
● 解绑定以下服务、协议和客户:Microsoft网络客户端、Microsoft网络文件和打印机共享,TCP/IP协议IPv4、TCP/IP协议IPv6,以及物理网络适配器属性中列出的所有其他服务、客户端或协议。
● 绑定“微软虚拟网络交换机协议”。
此外,在ExtSwitch此例中,外部虚拟网络交换机发生下面的变化:
● 绑定以下服务、协议和客户端:Microsoft网络客户端、Microsoft网络文件和打印机共享,TCP/IP协议IPv4、TCP/IP协议IPv6。
● 解绑定“微软虚拟网络交换机协议”。
该过程中,网络连接文件夹中将创建一个新的网络连接,名称在创建外部虚拟网络交换机(ExtSwitch)时指定。
“微软虚拟网络交换机协议”是与物理网络适配器绑定的,负责监听来自外部虚拟网络交换机的网络流量。如果“微软虚拟网络交换机协议”未绑定到物理网络适配器,物理网络适配器将会减少由外部虚拟网络交换机产生的网络数据包。
整个过程会将协议、服务和客户端从内存中注销,进而终端该物理网络适配器所在系统中的所有网络会议。当虚拟网络创建时会终端以下连接:
● 所有使用RDP的虚拟机连接。
● 所有使用了虚拟机连接工具或VMCONNECT.exe的虚拟机连接。
● 其他任何网络连接到hyper - v主机或虚拟机。
● 使用物理网络适配器连接到Hyper-V主机或虚拟机的所有网络连接。
在Hyper-V主机上创建外部虚拟网络交换机时,建议规划停机时间。