网速叠加不是玄学:net-merge 让你的多张网卡真正一起干活
一条 Wi-Fi、一条有线、一条手机热点,能不能合并成一个更快、更稳的连接?net-merge 用 Go 写了跨 Windows、Linux、macOS 的方案,一周拿下近 800 颗星。

适合:同时拥有 Wi-Fi、有线、手机热点或 USB 共享网络,又希望下载、推流、断网恢复都更稳的用户。
先说结论
net-merge 解决的问题很朴素:电脑同时插着 Wi-Fi、有线和 USB 共享网络,能不能让下载、推流、远程会议真正“叠加”起来用,而不是看哪条线先抢到流量。答案是可以,但要看协议、看场景。这不是网速直接翻倍的魔法,而是把多条链路当备胎同时跑,掉一条不卡,挤兑时分流。
真正的问题
多网卡机器一直存在,只是没被认真用起来。常见痛点有三:
- Wi-Fi 信号不稳,下载大文件到一半断流。
- 直播间、远程会议卡顿,单条宽带被邻居高峰时段挤掉。
- 笔记本插了有线,Wi-Fi 还挂着,明明可以两条一起分担,就是没工具调度。
系统层面,Windows 默认按接口度量值挑一条,macOS 和 Linux 也是类似逻辑。要“两条同时跑”,得在更底层把流量分片再分发,这正是 net-merge 在做的事情。它基于 TUN(Linux / macOS)与 Wintun(Windows)这类虚拟网卡接口,在用户态接管连接,按每条连接而不是按字节做调度。
怎么做更省力
项目本体是 Go 写的命令行工具,安装路径作者写得很细:Windows 走 MSI,Linux 提供 deb / rpm 包,macOS 给 Apple Silicon 与 Intel 都准备了二进制。装好后启动一个本地的虚拟网卡,后续出站流量都被它接管,再由它分发到真实网卡。
第一次跑很容易绕弯子,建议按这个顺序走:
- 先在终端跑
--help,确认自己版本的参数名和默认值,Go 生态的小工具迭代快,老教程的字段名容易过期。 - 打开系统设置,把当前默认网卡临时关掉测试,避免双路径抢默认路由造成绕路。
- 用一台测试服务器跑长连接和大文件下载两轮,观察断流重连是否真的切到了另一张网卡。
如果不想折腾命令行,也可以借助站内工具把整套流程写成可执行清单:职场汇报生成器 适合把这次调试过程整理成一份给自己看的复盘,下回出问题不用从零回忆。
哪些坑要避开
把多链路聚合想得太理想,是最常见的误区。下面三条要提前有预期:
- 单条 TCP 连接不会变快。HTTP/1.1、SSH、远程桌面这种长连接,协议层面只能走一张网卡。真正能受益的是多连接下载器、BT、直播推流这种同时开很多会话的场景。
- 跨运营商线路会拖慢甚至劣化。如果 Wi-Fi 是电信宽带、USB 共享是移动数据,两边绕一圈的延迟不同,敏感业务反而更慢。
- 部分应用会绑定默认网卡出口,绕不开系统路由表,需要额外写路由规则或用容器级别的策略。
下表把常见场景的“能不能叠加”说清楚,方便对照:
| 场景 | 是否受益 | 主要原因 |
|---|---|---|
| BT / 多线程下载器 | 明显 | 同时维持大量 TCP 会话 |
| 单个 SSH 长会话 | 不明显 | 协议本身只走一条链路 |
| 直播推流 | 部分受益 | 取决于推流器是否多连接 |
| 游戏 / 语音通话 | 不建议 | 跨线路延迟反而波动 |
现在就能动手
先把项目主页的 Releases 拉下来,挑自己系统的安装包。装好以后,做三件最小可行的事:第一,确认本地虚拟网卡能被识别;第二,挑一个支持多连接的下载器,跑同一千兆瓦网双线路和单线路的耗时对比;第三,把手机热点接入做一次断流演练,看直播或视频会议是否真的平滑过渡。中间任何一步拿不准,都先退回单网卡环境,避免排查时混进变量。链路聚合是工具,不是魔法,把它当冗余和分流用,比指望翻倍更现实。