Windows - 通过单个物理接口创建虚拟接口

Windows - 通过单个物理接口创建虚拟接口

一些背景知识(为什么我想这样做)

我的本地有线电视运营商 (LCO) 为 2 个不同的 ISP 提供最后一英里基础设施。假设为 ISP-1 和 ISP-2。客户可以支付任何首选 ISP 的费用并使用该 ISP(对于两个 ISP,从 LCO 交换机到客户家的物理光纤线路是相同的。如果用户更换 ISP,则无需更改物理连接)。我已经为这两个 ISP 付费,并从这两个 ISP 获得了连接详细信息。我可以在我的以太网接口上指定任何 ISP IP/子网,我的数据将通过该 ISP。现在,我没有 LCO 的原始拓扑,但这里有一个可能的简化拓扑:

简化网络拓扑

现在,我的计算机(操作系统 Windows)只有一个以太网 NIC,但我想使用两个 ISP,并且我想在其中一个 ISP 出现故障时实现自动故障转移。我认为的基本程序是:

  1. 我可以将 IP/子网分配给我的单个以太网接口,并且可以指定静态路由。这可行,但对于检测哪个 ISP 处于启动/关闭状态来说,这不是一个完美的解决方案。

  2. 如果我有两个不同的网络接口(一个物理的,一个虚拟的),我可以用于ping -S <interfaceIP> 8.8.8.8两个 ISP 并检测 UP/DOWN 状态。

这就是为什么我需要在物理网卡上创建虚拟接口。

我目前所做的

  1. 我尝试按照建议使用 TAP 虚拟适配器这里但它显示“网络电缆已拔出”。我尝试将其桥接到物理接口,但没有成功。我只能为桥接指定一个 IP,但接口(物理和虚拟)的两个 IP 都消失了。

  2. 我跟着这个答案并尝试使用 Hyper-V 外部虚拟交换机。我在虚拟交换机上输入了第二个 ISP IP/子网->属性->IPV4。并在物理主以太网接口上输入了第一个 ISP IP/子网(不过我必须在此接口上启用 IPV4,因为虚拟交换机禁用了它们。不知道为什么)。现在,它运行得很好。

最终状态

我需要什么帮助

我有点困惑,因为我以前从未使用过 Hyper-V 虚拟交换机。

  1. 交换机为什么会有IP地址呢?交换机是L2设备,又叫虚拟交换机。

  2. 为什么虚拟交换机在创建原始物理接口后会禁用 IPV4、Microsoft 网络客户端等?我从属性中手动重新启用了它们,并且此设置也有效,无需创建第二个虚拟接口。

  3. 关于上述回答(我从那里得到解决方案),那个人评论道:“您可以在同一个虚拟交换机下创建两个虚拟接口”。我该怎么做?

  4. 有什么办法可以让虚拟 TAP 适配器使用相同的物理以太网 NIC?

  5. 有没有更简单的方法来实现我想要做的事情?

目前,接受的答案解释了问题 1 和 3。欢迎对我的其他疑问提供任何帮助。

答案1

基本概述:

  • 启用 Hyper-V 功能。
  • 添加 Hyper-V 虚拟交换机,它会自动在管理操作系统(又称主机操作系统)中添加虚拟网络接口 (vNIC)。
  • 根据需要在管理操作系统中添加另一个 vNIC。
  • 在两个 vNIC 中配置 IP 地址。请勿在实际网络接口中添加/配置 IP 地址。稍后将详细介绍。

网络配置:

以下是网络适配器的详细信息示例。其他系统中的接口名称会有所不同。

  • Ethernet0:默认网络接口。
  • vEthernet(默认交换机):Hyper-V 默认安装此项。当前问答请忽略此项。
  • S1:虚拟网络交换机名称。
  • vEthernet(S1):连接到虚拟交换机 S1 的第一个 vNIC。
  • vEthernet (S1) 2:连接到虚拟交换机 S1 的第二个 vNIC,从命令行创建。

程序:

  • 启用 Hyper-V 功能以管理员身份使用 Powershell(或使用OptionalFeatures.exe)使用此命令Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All并重新启动系统。

  • 添加Hyper-V 虚拟网络交换机,从开始菜单或运行对话框中打开 Hyper-V 管理器,输入virtmgmt.msc。转到虚拟交换机管理器 > 新建虚拟网络交换机 > 选择外部类型 > 创建虚拟交换机 > 确定。

  • 选择很重要外部类型虚拟网络交换机。请参阅本文了解详细信息。外部交换机类型必须连接到物理适配器。它允许物理网络与管理操作系统和虚拟机上的 vNIC 之间的通信。

外部类型虚拟交换机

  • 启用“允许管理操作系统共享此网络适配器”选项。这允许 Hyper-V 主机/管理操作系统共享虚拟交换机的使用。

允许管理操作系统

  • 按“确定”创建该虚拟交换机。在网络控制面板 ( ncpa.cpl) 中,将有vEthernet (S1)虚拟网络接口连接到 S1 虚拟交换机。Hyper-V 管理器不允许创建另一个 vNIC。要创建另一个,请运行此命令 (Add-VMNetworkAdapter) 在 Powershell 中以管理员身份运行Add-VMNetworkAdapter -Switch S1 -ManagementOSvEthernet (S1) 2将会创建。请参见此屏幕截图:

网络接口列表

  • 使用两个不同的 ISP 提供的 IP 地址配置vEthernet (S1)vEthernet (S1) 2。请勿在实际 NIC 中添加/配置/启用任何 IPv4 或 IPv6 设置。请参阅此屏幕截图。仅为 启用了“Hyper-V 可扩展虚拟交换机”组件Ethernet0

真实网卡配置

网络拓扑结构如下:

    Physical Network Interface
            |
            |
    Hyper-V Virtual Switch (S1)
            |
            |
+-----------+------------------+------------------- other vNIC in VM
|                              |
vEthernet (S1)                 vEthernet (S1) 2
(172.22.36.151/25)             (172.30.138.151/24)
Host OS                        Host OS

相关内容