
[!NOTE] 之前老周带大家玩的 Tailscale 确实是当之无愧的“组网神器”。但后台闭源、设备数量限制(免费 100 台)以及服务器在国外,始终是很多极客心中的一根刺。而自建 Headscale 又只有冷冰冰的命令行,配置极其繁琐。今天,我们来聊聊 Tailscale 最强劲的开源对手 —— NetBird。它不仅客户端和服务端 100% 开源,更自带一个美到窒息的 Web 可视化管理后台,让你零门槛拥有专属的零信任加密网络!
1.痛点对决:Tailscale vs Headscale vs NetBird
2.核心优势:为什么 NetBird 能成为新晋极客新宠?
3.战前准备:自建 NetBird 所需的服务器与网络环境
4.实战部署:利用 Docker Compose 一键部署 NetBird 完整网络
5.客户端连接:多端接入与真·私有化体验
在决定折腾之前,我们先来看看目前主流的三大虚拟局域网(SD-WAN)方案对比:
维度 | Tailscale (官方) | Headscale (自建) | NetBird (自建) |
|---|---|---|---|
服务端控制面 | 闭源 (官方托管) | 开源 (自建) | 开源 (自建) |
管理后台 UI | 有 (官方网页) | 无 (仅限命令行/第三方) | 有 (官方开源网页端) |
设备数量限制 | 免费版限制 100 台 | 无限制 | 无限制 |
零信任访问控制 | 支持 (修改 ACL 代码) | 支持 (修改 ACL 代码) | 支持 (网页端拖拽/规则配置) |
打洞与传输协议 | WireGuard / DERP | WireGuard / DERP | WireGuard / ICE |
结论:如果你想要 100% 私有化安全、无限设备数量,同时又想要一个像官方一样精美直观的 Web 管理后台,那么 NetBird 是目前的终极解法。
除了控制端开源之外,NetBird 还有几个直击痛点的杀手级功能:
1.可视化零信任(Access Control): 在网页上动动鼠标,就能轻松规划“哪台设备可以访问哪台设备”。不需要去写复杂的策略代码。
2.直观的路由配置(Routes): 和 Tailscale 的 Subnet Router 类似,NetBird 可以在网页端一键开启“子网路由”,让你人在外面,直接访问家里没有安装客户端的 NAS、打印机或智能家居。
3.活动日志(Activity): 后台会详细记录哪台设备在什么时间连接了网络、传输了多少流量,网络状态一目了然。
由于我们要把控制端完全私有化,你需要准备:
1.一台云服务器 (VPS): 需要有公网 IP,配置推荐 1核 2G 内存以上,系统安装好 Docker 和 Docker Compose。
2.一个域名: NetBird 使用的身份验证(Keycloak)和 API 接口强制要求 HTTPS 证书。你需要准备一个域名(比如 netbird.yourdomain.com)并将其解析到你的云服务器公网 IP。
3.防火墙放行端口: 在云服务器的安全组中,放行以下端口:
o80/tcp 和 443/tcp(用于网页访问与 Let's Encrypt 证书申请)
o3478/udp(STUN 穿透服务)
o49152-65535/udp(TURN 中继服务端口范围)
o10000/udp(Signal 信号服务)
NetBird 官方提供了一个非常智能的配置脚本,可以全自动帮你生成 docker-compose.yml 模板以及身份认证 Keycloak 的配置文件,免去了手动配置的痛苦。
登录你的云服务器,在终端运行以下命令:
# 创建工作目录 mkdir -p /opt/netbird && cd /opt/netbird # 下载部署脚本 curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started-with-docker-compose.sh | sh
脚本运行完毕后,会在当前目录下生成一个 infrastructure_files 文件夹。
进入目录并运行 setup.sh 脚本,将参数替换为你自己的域名和邮箱:
cd infrastructure_files chmod +x setup.sh # 运行配置(替换你的域名和邮箱,邮箱用于自动申请 Let's Encrypt 绿锁证书) ./setup.sh --domain netbird.yourdomain.com --email [email protected]
这个脚本会自动检测你的网络环境,并自动生成两份最核心的文件:
1.docker-compose.yml:配置好了管理端、信号端、中继端和 Keycloak(身份验证)。
2.netbird.env:存放环境变量和密钥信息。
直接运行以下命令拉取并启动所有容器:
docker compose up -d
启动可能需要 1~2 分钟,因为容器会全自动向 Let's Encrypt 申请 SSL 域名证书并配置 Keycloak 数据库。
当容器全部启动成功后,精彩的时刻到了!
1.在浏览器输入你的解析域名:https://netbird.yourdomain.com。
2.页面会自动跳转到本地部署的 Keycloak 登录页。默认的管理员账号和密码会输出在配置完成时的控制台提示中(你也可以在 netbird.env 文件中找到初始的密码)。
3.登录成功后,呈现在你眼前的就是 NetBird 华丽的零信任网络拓扑控制台!
1.在各个设备上下载对应的 NetBird 客户端。
2.最关键的一步:在连接前,我们需要把客户端的“控制服务器地址”指向我们自己的私有服务器。
oLinux / macOS 命令行运行:
netbird up --management-url https://netbird.yourdomain.com
oWindows / macOS 图形客户端: 打开客户端设置,在 Management URL 栏中填入 https://netbird.yourdomain.com,保存。
3.点击 Connect (连接),客户端会弹出一个网页窗口,引导你登录你的私有 Keycloak 账号进行授权。
4.授权成功后,回到网页控制台的 Peers 页面,你就会发现设备已经成功连入你专属的虚拟网络中,开始享受无限制、完全私有化的极客组网体验!
使用 NetBird,我们成功把“组网主动权”重新夺回了自己手中。你既不需要忍受官方免费版的设备数量制约,也不用面对 Headscale 繁琐的命令行维护。
快去试试部署属于你自己的私有网络吧,让你的手机、平板、NAS 以及游戏主机在全开源的安全防线里自由穿梭!