在 Windows 上配置网卡多个 VLAN、多个虚拟网卡、实现单线多拨网速叠加(无需驱动支持)

本文分为两节,分别是如何在 Windows 上利用 Hyper-V 交换机实现对 VLAN 的支持;以及如何利用 Hyper-V 交换机功能创建多块虚拟网卡,实现单线多拨叠加网速。可以只使用 Hyper-V 交换机而不使用 Hyper-V 虚拟机,所以这不会影响你电脑的性能。以上功能均不需要网卡驱动支持。

效果图:

ℹ️ 使用 Hyper-V 功能需要 Windows 10 专业版 或以上版本,如果你使用的是家庭版,可以通过断网更改产品密钥、再通过KMS服务器激活的方式原地升级到专业版。

配置 Hyper-V

首先需要启用 Hyper-V,在管理员 Powershell 输入以下命令:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

然后重启电脑。

(可选)禁用 Hyper-V 虚拟化

如果你不使用 Hyper-V 虚拟机,可以禁用 Hyper-V 虚拟化,避免被 HV 虚拟化平台降低性能。关闭 Hyper-V 虚拟化平台的方法可以参考这篇知乎回答

配置虚拟网卡

按照以下步骤添加数块虚拟网卡即可实现单线多拨以及 VLAN 功能。

安装 Hyper-V 虚拟交换机

在管理员 Powershell 输入以下命令。name 参数后面的 Ethernet-Virt 是虚拟交换机的名称,可以任取。 NetAdapterName 参数后面的 Ethernet 代表你要桥接的物理网卡的名称,中文版系统一般为 以太网,英文版为 Ethernet。注意 AllowManagementOS 需要为 $false,否则 Hyper-V 会创建一个和物理网卡一样 MAC 地址的虚拟网卡妨碍我们使用。

New-VMSwitch -name Ethernet-Virt -NetAdapterName Ethernet -AllowManagementOS $false

向宿主机添加虚拟网卡

在管理员 Powershell 输入以下命令。Switch 参数后面的 Ethernet-Virt 是虚拟交换机的名称。 Name 参数后面的 Ethernet-Virt-Main 是虚拟网卡的名称,可以任取。注意要有 ManagementOS 参数,代表向宿主机添加网卡而不是某个虚拟机。StaticMacAddress 后面的 e0-00-00-00-ca-01 是虚拟网卡的 MAC 地址,可以任取,但必须唯一并且是单播地址(不懂单播、多播地址的话就无脑e0开头,然后后面的数字随便换)。

Add-VMNetworkAdapter -Switch Ethernet-Virt -ManagementOS -Name "Ethernet-Virt-Main" -StaticMacAddress e0-00-00-00-ca-01

如果你需要使用VLAN的话

可以再执行下面的命令为虚拟网卡设置 VLAN。VMNetworkAdapterName 参数后面的 Ethernet-Virt-Main 是虚拟网卡的名称,VlanID 后面的 10 就是你想用的 VLAN 编号。

Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "Ethernet-Virt-Main" -Access -VlanID 10

或者你反悔了,设置为 Untagged 删除 VLAN ID:

Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "Ethernet-Virt-Main" -Untagged

关于 VLAN 的配置项目还有很多,例如 Trunk 模式、端口隔离,可以参考官方文档

(可选)设置网卡网络为专用网络

默认可能是公用网络,会施加严格的防火墙策略,如果需要的话,可以用下面的命令设置网卡为专用网络:

Get-NetConnectionProfile # 首先找到网卡编号 
Set-NetConnectionProfile -InterfaceIndex 13 -NetworkCategory Private # 13是刚才找到的编号

解决使用虚拟交换机后无法从外网连入的问题

暴力方法

控制面板 – 网络和 Internet – 网络连接 – 以太网 – 把下图打勾的的全勾上(没出现的不用管)

然后使用电脑原来的 IP 连入即可。

解决使用虚拟交换机后VMWare等软件无法桥接网卡的问题

这是因为安装虚拟交换机的时候除了 Hyper-V 交换机功能以外的模块全被去掉了,再加回来即可。控制面板 – 网络和 Internet – 网络连接 – 以太网 – 勾选 “VMware bridge protocol” – 确定

删除虚拟网卡

如果你不需要使用虚拟网卡了,可以通过以下命令卸载虚拟网卡和虚拟交换机。

删除虚拟网卡:

Remove-VMNetworkAdapter -Name "Ethernet-Virt-Main" -Confirm

删除虚拟交换机:

Remove-VMSwitch -name Ethernet-Virt -Force -Confirm

拨号上网?负载均衡?

本文提供的方法主要是为 IPoE / Portal / 802.1X 接入方式编写的,Windows 并未提供并发 PPPoE 所需的功能,因此较难实现 PPPOE 并发拨号,不过你也可以同时执行 rasdial Broadband_Connection username password 命令试试

Windows的负载均衡功能似乎只在Server版提供。


正在加载评论。你可能需要科学上网才能正常加载评论区