答案1
为什么?
如果将交换机设为“外部”,即连接到物理网络接口,则操作系统的某些部分需要决定哪些以太网帧用于主机操作系统,哪些用于虚拟交换机。它通过 MAC 地址做出此决定(发送到原始主机 MAC 的帧需要传送到主机操作系统,所有其他帧则传送到交换机)。
由于这种过滤恰好是 vSwitch 所做的反正(基于目标 MAC 地址的转发实际上是交换机的目的),Hyper-V 开发人员显然决定只使用vSwitch。
可以避免吗?
不可以,除非安装第二个物理以太网端口。
如上所述,如果要在主机操作系统和 vSwitch 之间共享端口,那么某物必须在两者之间划分流量——如果不是 vSwitch 的 FDB 本身,那么就必须是第二层过滤,其功能与第一层过滤相同。
虽然这个(假设的)第二层过滤层可能会使其决策更快,并略微减少主机操作系统流量的延迟,因为它只进行一次比较,但对于客人流量(两个层的延迟会增加 - 首先是主机/非主机 MAC 检查,然后是 vSwitch FDB),这对于 Hyper-V 主机来说同样是不可取的。
如果你的机器上有两个物理以太网端口,那么你可以将其中一个专用于主机,另一个专用于 vSwitch,这样你的主机操作系统就不会受到影响(尽管
答案2
Hyper-V 外部交换机是一种桥接网络连接(通用语言),它使用主机通过主机网络适配器连接到的路由器。
因此,您会期望所有流量都通过该主机适配器。
事实上,客户 NAT 连接也经过主机网络连接。
因此,无法阻止通过主机 NIC 的网络流量。
我假设工作站(或笔记本电脑)有 1 个 NIC。