再见 Tailscale,是时候拥抱下一代虚拟组网神器 NetBird 了

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

b3d23f250e20a0a08b3a416b0df9a510.png

什么是 NetBird

NetBird is a simple and fast alternative to corporate VPNs built on top of WireGuard® making it easy to create secure private networks for your organization or home. It requires near zero configuration effort leaving behind the hassle of opening ports, complex firewall rules, vpn gateways, and so forth.

NetBird 是一个简单快速的企业级 VPN 替代方案,建立在原生 WireGuard® 之上,可以轻松为您的组织或家庭创建安全的私人网络。它几乎不需要任何配置工作,从而摆脱了开放端口、复杂的防火墙规则、VPN 网关等烦琐任务的困扰。

简要来说 NetBird 是一个配置简易的,基于 WireGuard 的 VPN。

它与 Tailscale 很像,但是区别也比较明显。Tailscale 是在用户态实现了 WireGuard 协议,无法使用 WireGuard 原生的命令行工具来进行管理。而 NetBird 直接使用了内核态的 WireGuard,可以使用命令行工具 wg 来查看和管理。

如果你是 WireGuard 原生党,墙裂建议使用 NetBird。

NetBird 架构

94deeb647b574d44318ed68ed1e1038f.jpeg

NetBird 服务端有 Management, Signal, Stun, Turn  四个后端组件外加一个前端。

快速部署

部署需求

  • 一个拥有公网 IP 的 Linux 服务器;

  • Docker 与 docker-compose;

  • 开放 TCP 端口 80, 443, 33073, 10000

  • 开放 UDP 端口 3478, 49152-65535

  • 一个域名(例如 https://netbird.example.com[1] )外加 TLS 证书。

Auto0 配置

Auto0 官方推荐用  auth 0[2] 或 keyclock[3]  作为 NetBird 的第三方认证中心,为了节约服务器资源,此处使用 Auth0 (PS:  使用 Auth 0 可能需要开启魔法)。

新建一个应用

b5de35d51fbeda02a710233b41a0b15b.jpeg
  • Application Login URI 填入  https://netbird.example.com

  • Allowed Callback URIs、Allowed Logout URLs 与 Allowed Web Origins  都填入 https://netbird.example.com,http://netbird.example.com

3fe701bb4ceb7714e605c6ca345a6c5b.jpeg


允许跨域:

b346ba7ab11f9014236adce3768eeb06.jpeg

启用 Device Code 授权方式:

b0e0552e6343c247904d16a59682c095.jpeg

应用建好后,将 Domain, Client ID, Client Secret  保存下来即可:

65e30207ae730302f8cbe09f93daca07.jpeg

启动

git pull git@github.com:yimiaoxiehou/netbird-quickstart.git
cd netbird-quickstart

#记得把 Client ID, Domain, Your Domain 替换成对应的值
sed -i 's#example-clientid#Client ID#g' docker-compose.yaml
sed -i 's#https://example.auth0.com#Domain#g' management.json
sed -i 's#https://example.auth0.com#Domain#g' docker-compose.yaml
sed -i 's#netbird.example.com#Your Domain#g' management.json
sed -i 's#netbird.example.com#Your Domain#g' docker-compose.yaml

将准备好的 TLS 证书放到 ssl 文件夹中,证书 cert 文件重命名为 cert.pem ,key 文件重命名为 privkey.pem

启动

docker-compose up -d --build

然后记得使用宝塔面板等讲 8000 端口反向代理为 80 端口并配上 https(使用一开始的证书)。

使用

打开搭建好的 NetBird 网站,新建一个 setup key 并将其复制下来。

e93450b543f96eaf15cd71202e2769b8.jpeg

按照 add new peer 的说明,安装好客户端:

fac021a58f5b36a4bf311ec8cb78b233.jpeg

然后执行

netbird up --management-url <https://netbird.example.com:33073> --setup-key xxx


成功后可以通过

netbird status --detail

查看客户端状态和连接上的其他子节点

另外 NetBird 可以通过 UI 界面管理你的网络,例如分组、制作路由规则、自定义 DNS 等等。

c6105e68b14809192578e55d8f262545.jpeg

引用链接

[1]

https://netbird.example.com: https://netbird.example.com/

[2]

auth 0: https://auth0.com/

[3]

keyclock: https://www.keycloak.org/

本文转载自:「云原生实验室」,原文:https://url.hi-linux.com/i4HLm,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

5b43c73a543ad98366c579fe23a12809.gif

最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。

9d09dab9ab211a0c91210488156457df.png

你可能还喜欢

点击下方图片即可阅读

319fb7db4632ee110152f45e29ceb19b.jpeg

最常见的 2 种 Nginx 中 HTTP 跳转 HTTPS 场景

66f7fe9de710b368e70cbeb8e0a0a56f.png
点击上方图片,『美团|饿了么』外卖红包天天免费领

1a7b8824fdec2fe2661c0703b0c8145e.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值