Meshbird:跨云跨区域的分布式私有网络
Meshbird:跨云跨区域的分布式私有网络
meshbird 在 GitHub 上拿到了 3,526 Star。
这是一个开源的分布式私有网络工具,做的事情用一句话概括:把分布在不同云、不同区域的机器连成一张私有网络,不需要中心化的 VPN 网关。

1、 解决什么问题
做过跨云部署的人都清楚,机器分散在 AWS、GCP、阿里云上,互相通信要么走公网暴露端口,要么搭 VPN 中转。传统 VPN 有个核心问题:所有流量经过中心节点,带宽受单点限制,延迟也跟着上去。一旦中心节点挂了,整张网断掉。
Meshbird 的思路是去掉中心节点。每台机器上跑一个 meshbird 进程,节点之间直接建立加密隧道,流量不经过任何中转服务器。多台机器之间形成 mesh 网络拓扑,任意两点通信都是直连。
2、 性能表现
官方给出了 DigitalOcean NYC3 机房的 iperf3 测试数据,加密开启的状态下跑到了 1.58 Gbits/sec。这个数字在同级别 overlay 网络工具里算不错的。
# iperf3 -P 1 -R -c 10.247.0.1
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 1.84 GBytes 1.58 Gbits/sec 0 sender
[ 4] 0.00-10.00 sec 1.83 GBytes 1.58 Gbits/sec receiver
零重传,说明链路质量稳定。
3、 安装和使用
从 GitHub Releases 页面下载对应平台的二进制文件就能用。
基本用法:
./meshbird --key <密钥> --ip <分配的私网IP> --seedaddrs <种子节点地址>
几个核心参数:
--key:网络密钥,同一密钥的节点才会互相发现--ip:分配给本机的私网 IP 地址--seedaddrs:种子节点地址,用于节点发现--publicaddrs:公网地址,NAT 环境下需要手动指定--bindaddrs:监听地址--transportthreads:传输线程数,影响高并发场景下的吞吐--mtu:MTU 值,按网络环境调整
不需要配置文件,不需要额外的服务注册中心。一台机器当种子节点,其他机器指向它就行。

4、 适合什么场景
跨云部署的微服务之间需要内网互通,但不想把端口暴露到公网。
开发测试环境里,团队成员的本地机器需要和云端服务组成一个局域网。
边缘计算场景下,分布在各地的设备需要互相通信,中心化的 VPN 网关扛不住或者延迟太高。
和 Tailscale、ZeroTier 这类工具相比,Meshbird 更轻量。没有控制面板,没有账户系统,没有需要注册的账号,就是一个二进制文件加上种子节点发现机制。网络的控制权完全在自己手里,不依赖任何第三方服务。适合追求简洁、不想被绑定在某个平台上的技术团队。
代码用 Go 写的,编译出来单个二进制文件,部署到新机器上 scp 过去就能跑,不挑操作系统。
某个平台上的技术团队。
代码用 Go 写的,编译出来单个二进制文件,部署到新机器上 scp 过去就能跑,不挑操作系统。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)