一些背景知识(为什么我想这样做)
我的本地有线电视运营商 (LCO) 为 2 个不同的 ISP 提供最后一英里基础设施。假设为 ISP-1 和 ISP-2。客户可以支付任何首选 ISP 的费用并使用该 ISP(对于两个 ISP,从 LCO 交换机到客户家的物理光纤线路是相同的。如果用户更换 ISP,则无需更改物理连接)。我已经为这两个 ISP 付费,并从这两个 ISP 获得了连接详细信息。我可以在我的以太网接口上指定任何 ISP IP/子网,我的数据将通过该 ISP。现在,我没有 LCO 的原始拓扑,但这里有一个可能的简化拓扑:
现在,我的计算机(操作系统 Windows)只有一个以太网 NIC,但我想使用两个 ISP,并且我想在其中一个 ISP 出现故障时实现自动故障转移。我认为的基本程序是:
我可以将 IP/子网分配给我的单个以太网接口,并且可以指定静态路由。这可行,但对于检测哪个 ISP 处于启动/关闭状态来说,这不是一个完美的解决方案。
如果我有两个不同的网络接口(一个物理的,一个虚拟的),我可以用于
ping -S <interfaceIP> 8.8.8.8
两个 ISP 并检测 UP/DOWN 状态。
这就是为什么我需要在物理网卡上创建虚拟接口。
我目前所做的
我尝试按照建议使用 TAP 虚拟适配器这里但它显示“网络电缆已拔出”。我尝试将其桥接到物理接口,但没有成功。我只能为桥接指定一个 IP,但接口(物理和虚拟)的两个 IP 都消失了。
我跟着这个答案并尝试使用 Hyper-V 外部虚拟交换机。我在虚拟交换机上输入了第二个 ISP IP/子网->属性->IPV4。并在物理主以太网接口上输入了第一个 ISP IP/子网(不过我必须在此接口上启用 IPV4,因为虚拟交换机禁用了它们。不知道为什么)。现在,它运行得很好。
我需要什么帮助
我有点困惑,因为我以前从未使用过 Hyper-V 虚拟交换机。
交换机为什么会有IP地址呢?交换机是L2设备,又叫虚拟交换机。
为什么虚拟交换机在创建原始物理接口后会禁用 IPV4、Microsoft 网络客户端等?我从属性中手动重新启用了它们,并且此设置也有效,无需创建第二个虚拟接口。
关于上述回答(我从那里得到解决方案),那个人评论道:“您可以在同一个虚拟交换机下创建两个虚拟接口”。我该怎么做?
有什么办法可以让虚拟 TAP 适配器使用相同的物理以太网 NIC?
有没有更简单的方法来实现我想要做的事情?
目前,接受的答案解释了问题 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 -ManagementOS
。vEthernet (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