惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
有赞技术团队
有赞技术团队
博客园_首页
H
Help Net Security
GbyAI
GbyAI
aimingoo的专栏
aimingoo的专栏
V
Visual Studio Blog
The Cloudflare Blog
腾讯CDC
Jina AI
Jina AI
Last Week in AI
Last Week in AI
月光博客
月光博客
博客园 - 叶小钗
Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
Blog — PlanetScale
Blog — PlanetScale
人人都是产品经理
人人都是产品经理
Engineering at Meta
Engineering at Meta
Y
Y Combinator Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 聂微东
爱范儿
爱范儿
N
Netflix TechBlog - Medium
F
Fortinet All Blogs

Kenvix's Blog

实现带有Nvidia GPU+Rootless Podman+Docker+Systemd+自动驱动注入支持的systemd nspawn容器 | Kenvix's Blog 手动保留常用端口,解决 Windows 端口被 Hyper-V / WinNAT 占用的问题 免Telent/TTL屏蔽运营商新版光猫的远控、TR069和RMS,获取动态随机超级管理员密码并固化权限 | Kenvix's Blog 利用Windows卷影副本(Volume Shadow)找回被覆盖和删除的数据 | Kenvix's Blog 在Windows下实现WireGuard动态DNS解析(DDNS)的正确方法:避免无意义的开销 | Kenvix's Blog OpenWRT/DNSMasq 配置DHCP静态路由主动推送 实现流量直达和旁路由流量零代价分载 | Kenvix's Blog 解决 Windows 打开视频/图片文件夹很慢的问题 | Kenvix's Blog AltA2DP - 向支持Sony LDAC协议的耳机提供Windows下蓝牙LDAC音频编码器支持 | Kenvix's Blog (2024更新)修复黑群晖 DSM7.0 + Btrfs 存储空间/磁盘损毁/堪用 的问题 校园网白嫖思路分享:局域网中转-不花钱、不认证、高速上网 | Kenvix's Blog 解决视频彩铃、语音通话自动转视频通话导致打电话自动挂断的问题 | Kenvix's Blog 超低成本廉价考研教程:如何用小于¥500甚至¥300的开销考个研 | Kenvix's Blog 在 Ubuntu 21.10 上启用蓝牙 LDAC/AAC/AptX 高质量音频编码支持 在 VMware Workstation 桥接模式的网卡上让虚拟机使用 VLAN 的正确方法 在 Windows 上设置 NAT 或网络共享的正确方法——避免Wi-Fi热点无法使用 自编译 红米 AC2100 OpenWRT R21.7.26 Linux 内核结构和子系统简介 | Kenvix's Blog Java 快速读取文本 (算法竞赛适用) | Kenvix's Blog 利用 ThreadLocal + Lambda,实现有状态变量的单例模式 | Kenvix's Blog 状态压缩的动态规划问题:骨牌完全覆盖棋盘问题 | Kenvix's Blog 我的 Windows 10 2004 新增 Bug 解决办法记录 解决 Android Studio 及 IDEA 中 Gradle 错误信息乱码的问题 Kotlin 的那些骚操作 | Kenvix's Blog 在普通的 Gradle Java/Kotlin 项目中使用 BuildConfig 修复国行 MIUI 打开 Google Play 始终提示 DF-DFERH-01 的问题 解决 VSCode 持续调用 WMIC 导致一个 CPU 核心完全被占满的问题 扔鸡蛋问题 | Kenvix's Blog 计算机幻觉从入门到入土 | Kenvix's Blog Java 注解预处理 Annotation Processing & 代码生成 Ubuntu 上通过以太网分享网络连接(NAT) | Kenvix's Blog
在 Windows 上配置网卡多个 VLAN、多个虚拟网卡、实现单线多...
2022-09-23 · via Kenvix's Blog

本文分为两节,分别是如何在 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版提供。