基于Rust的去中心化VPN Rayfish:实现无服务器信任的P2P网状网络

Rayfish是一款使用Rust语言编写的点对点(P2P)网状VPN工具,其核心构建在iroh协议之上,旨在打造一个完全无需信任中央服务器的网络环境。该项目最显著的技术特征是基于身份的寻址方案:每个网络节点都拥有一对密钥,其公钥不仅作为网络身份标识,还直接派生出稳定的IPv4地址(位于100.64.0.0/10网段)和IPv6地址(位于200::/7网段)。这种设计类似于Yggdrasil网络,使得设备的IP地址与公钥强绑定,无论物理IP或网络环境如何变化,该地址始终保持稳定,真正实现了基于身份而非位置的网络连接。在架构上,Rayfish完全移除了中央控制平面,不代理流量也不持有密钥。节点之间利用iroh的QUIC协议栈直接建立连接,并内置了NAT穿透、打洞以及中继回退功能。即使在必须使用中继节点的情况下,这些节点也仅负责转发加密数据包,无法解密内容或干预网络成员资格,从而保证了信任模型完全归属于用户。在实际使用中,网络默认封闭,用户可通过一次性邀请码、服务器密钥或成员批准加入。任何成员均可被授予协调者权限,确保网络的高可用性。目前该项目为单一二进制文件,包含守护进程和CLI,仅支持Linux和macOS,尚处于早期开发阶段,未经过第三方安全审计。

事件分析

Rayfish的技术亮点在于其将“身份”与“位置”彻底解耦的寻址方案。传统的VPN方案(如Tailscale或Zerotier)通常依赖中心化的协调服务器来分配IP和管理密钥,而Rayfish利用公钥派生地址,结合iroh的P2P能力,构建了一个真正无中心化的网络层。这种架构在理论上消除了单点故障和中心化审查的风险,将信任边界完全下沉到边缘节点。采用Rust编写和基于QUIC/iroh的传输层是其工程上的重要选择,这确保了网络传输的高性能、低延迟以及安全性。从产业影响看,Rayfish代表了网络基础设施向“主权个人”和“自托管”方向的演进,特别适合对隐私敏感的服务器集群互联场景。然而,其协议目前仍处于快速迭代期,版本间兼容性问题和缺乏安全审计的现状意味着它更适合作为技术探索或极客工具,短期内难以替代成熟的商业VPN方案,但为去中心化网络协议(DNP)的发展提供了极具价值的参考实现。

💡 核心观点:Rayfish通过基于公钥的稳定寻址与P2P架构,彻底移除了VPN的中心化信任锚点,为自托管网络提供了零信任新范式。

原文链接:Hacker News

C code80.ai · AI 编码 API 聚合 Claude / GPT 多模型统一接入,稳定不限速,按量计费,几行配置接入 Claude Code。 了解一下 ›

抢沙发

评论前必须登录!

立即登录   注册