内网穿透这事儿,玩家庭网络的人迟早要碰。传统路子要么是花钱买带公网 IP 的服务器自己搭反向代理,要么是订阅商业穿透服务。最近试了一个思路不一样的开源项目——OpenP2P,它不靠你自建中心服务器,而是把节点之间的带宽凑成一个共享网络,谁用谁的转发资源。
这篇文章聊聊它是什么、为什么能免费、两种玩法(端口转发和虚拟网络)怎么选,以及踩过的几个坑。
它到底是什么
OpenP2P 是一个开源、免费、轻量级的 P2P 共享网络,用 Go 写成,单文件不到 10MB,内存占用极低。你的设备会组成一个私有 P2P 网络,设备之间能直接互访;如果私有网络里连不通,它会去公共 P2P 网络里找”共享节点”帮忙中转。
和 BT 共享文件不同,OpenP2P 共享的是带宽。官方一句话概括得很直白:充分利用带宽,用共享节点转发数据,把远程连接做成通用基础设施。

为什么能免费用
这是它最反直觉的地方。多数穿透工具要么收你钱、要么逼你自备公网服务器,OpenP2P 两样都不用。原因在它的设计哲学:你用了别人的共享节点,前提是你自己也贡献了节点。
默认每个节点会开启 10Mbps 的共享限速。只有当你名下有节点在提供转发服务,你才被允许使用别人的共享节点。这机制挺公平——白嫖党(ShareBandwidth 设为 0)只能在自己的私有网络里玩,没法蹭公共节点。所以如果你家是百兆以上的光纤,官方建议开着共享,帮别人中转的同时也换来自己随时能用的转发资源。
安全方面,P2P 隧道走 TLS 1.3 + AES 双重加密,中转节点只是搬数据,看不到明文。接入共享节点用 TOTP 一次性密码授权(hmac-sha256),和银行密码器一个原理。
两种玩法:端口转发 vs 虚拟网络
实际用起来主要分两种模式,对应不同的需求。
端口转发(P2PApp)
给单个服务开一条专用隧道。比如家里 Windows 开了 3389 远程桌面,配好后你在公司电脑访问本地的 127.0.0.1:23389,就能直连家里的远程桌面。

配置方式有两种:在 Web 控制台点几下,或者改 JSON 配置文件。后者长这样:
{
"network": {
"Node": "YOUR-NODE-NAME",
"Token": "TOKEN",
"ShareBandwidth": 0
},
"apps": [
{
"AppName": "OfficeWindowsPC",
"Protocol": "tcp",
"SrcPort": 23389,
"PeerNode": "OFFICEPC1",
"DstPort": 3389,
"DstHost": "localhost"
}
]
}

端口转发的优点是性能更好——它只在应用层搬数据,不碰虚拟网卡和 IP 协议栈,延迟低、CPU 占用少,特别适合远程桌面、SSH 这类对延迟敏感的场景。缺点是要为每个服务单独建映射,服务多了管理起来略烦。
虚拟网络
把多台异地设备拉进同一个虚拟局域网,像在同一家庭网络里一样互通。Windows 下用 WinTUN 驱动,Linux 下用标准 TUN/TAP。配置好后在任意设备上用虚拟 IP 就能访问对面所有服务,一次加入,永久互通。
代价是封装了完整的 IP 包,有轻微协议栈开销(日常基本感觉不到),且依赖内核虚拟网卡驱动,Windows 下需要高权限。
打洞能力是底气
无论哪种模式,底层都靠 NAT 穿透。OpenP2P 采用端口碰撞技术(发送约 800 个探测包),号称综合打洞成功率 99% 以上,锥形和对称型 NAT 都支持,自动按”内网 → IPv6 → UDP 打洞 → TCP 打洞 → 中继兜底”的顺序选最优路径。实在打不通还有社区共享节点中继(默认限速 10Mbps),不至于完全断联。
部署与坑
装法有三种:系统服务(推荐,开机自启)、守护进程模式(-d)、Docker(官方有 openp2pcn/openp2p-client 镜像)。安装命令:
./openp2p install -node OFFICEPC1 -token TOKEN
几个实际要注意的点:
- Windows 下别改安装文件名。下载后双击运行,系统会拦没买证书签名的程序,选”仍要运行”即可;但如果你手贱改了 exe 名字,安装流程会出问题。
- UDP 打洞依赖防火墙放行。Windows 安装时会自动配防火墙规则,失败了 UDP 打洞就废了;Linux(Ubuntu/CentOS7)默认规则一般没问题。
- 共享节点是”互助”不是”免费午餐”。ShareBandwidth 设 0 就别指望用别人的公共节点,只能私有网络内互访。
- 目前没有官方 Docker 镜像由核心团队维护(社区镜像存在),生产环境用容器要自己评估稳定性。
- 信令服务器在官方。节点发现走 api.openp2p.cn,这意味着你信任官方运营这个协调层——介意完全自托管的,得权衡一下。
值不值得用
如果你讨厌为穿透专门买服务器、又不想长期订阅商业服务,OpenP2P 的”带宽互助”模型确实是个新鲜解法。适合:偶尔远程家里某个服务、不想碰虚拟网卡、家里带宽充裕愿意共享换资源的人。它 GitHub 上 2k+ stars,MIT 协议,最近一次提交在 2026 年 6 月,还在活跃维护。
不太适合:对完全自托管有执念的(信令层在官方)、需要企业级 SLA 的、或者不想贡献任何带宽只想纯白嫖的。
总的来说,它是内网穿透工具箱里一个值得收藏的备选——不完美,但思路清楚,轻量好上手。