牛逼的开源工具P2WLAN
P2WLAN 是什么
P2WLAN 是一个开源、P2P 优先、可自托管的虚拟局域网工具。它为设备分配私有虚拟 IP,让分布在家庭宽带、移动网络、校园网、云服务器等不同网络中的设备,能够像在同一个局域网里一样通信。
连接建立时,P2WLAN 会优先尝试 LAN Direct / 公网 UDP P2P;如果当前 NAT、防火墙或网络环境不允许直连,则自动回退到 Encrypted Relay。业务侧仍然使用同一个虚拟 IP,不需要为每台设备单独维护公网端口、动态域名或复杂路由。

能力 | 说明 |
P2P First | 能直连就不经过中继,优先使用局域网和公网 UDP。 |
NAT Traversal | 自动探测网络环境并尝试 UDP 打洞;复杂 NAT 下不保证一定成功。 |
Relay Fallback | Direct 不可用时自动切换到加密 Relay,尽量保证连接可用。 |
End-to-End Encryption | 设备间数据通过加密会话传输,Relay 只负责转发密文。 |
Rooms | 用房间组织临时或固定的一组设备,适合朋友联机、协作和私有服务互通。 |
Cross-platform | GUI 覆盖 Windows、macOS、Linux 与 Android;iOS 仍为实验性预览;CLI / daemon 适合服务器和无桌面环境。 |
Self-hosted | Control Plane、SQLite 与 Relay 可以部署到自己的 Linux 服务器。 |
界面预览



从全局网络状态、设备在线情况,到多房间管理、连接方式和端到端延迟,常用信息可以直接在客户端里看到。设备名称和截图数据均为演示数据。
工作方式
P2WLAN 将连接控制和数据传输分开:
· Control Plane:身份、设备、虚拟 IP、凭据和信令。
· Rust daemon:虚拟网卡、路由、Peer、NAT traversal、加密数据面和路径选择。
· Relay:只在 Direct 不可用时参与,负责转发密文。

连接策略可以概括为:
LAN Direct → Public UDP Direct → Encrypted Relay
Direct 能否建立取决于两端真实网络环境。NAT、CGNAT、防火墙、云安全组等都可能阻止直连;此时 Relay 是后备路径,而不是对任意网络环境 P2P 成功率的承诺。
适用场景
P2WLAN 的目标不是替你定义业务,而是提供一张跨地域的虚拟三层网络。只要应用本身能通过 IP 通信,就可以把它放到这张网络上。
场景 | 可以怎么用 |
NAS / HomeLab | 在外网访问 NAS 管理页、家庭服务器、虚拟机和其他内部服务,不必逐个暴露公网端口。 |
Minecraft 联机 | 把朋友的电脑加入同一房间,直接使用虚拟 IP 访问自建 Minecraft 服务器。 |
Terraria 联机 | 将不同网络中的玩家组织到同一虚拟网络,进行多人联机。 |
自建服务器 | 访问 Web 应用、API、数据库、面板、游戏服以及仅希望在私网开放的服务。 |
远程开发 | SSH、RDP、数据库连接、开发测试机互联,以及跨地区设备调试。 |
跨地域组网 | 家庭宽带、移动热点、校园网、云主机和不同云厂商之间互联。 |
房间:把“我要和谁互联”单独组织起来
房间适合需要独立边界的临时或固定网络:例如一个 Minecraft 生存服、一次朋友联机、一组 NAS 维护设备,或者一个开发测试环境。客户端可以集中查看房间成员、在线状态、虚拟 IP、当前连接路径和延迟,不需要把所有设备混在同一个列表里。
开源地址
开源地址
https://github.com/yhan-sun/p2wlan
客户端地址
https://github.com/yhan-sun/p2wlan/releases
官方文档


