前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >再见 Tailscale,介绍一款超牛逼的虚拟组网神器 NetBird

再见 Tailscale,介绍一款超牛逼的虚拟组网神器 NetBird

作者头像
米开朗基杨
发布2023-09-09 10:25:48
11.1K0
发布2023-09-09 10:25:48
举报
文章被收录于专栏:云原生实验室

什么是 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 架构

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 可能需要开启魔法)。

新建一个应用

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

允许跨域:

启用 Device Code 授权方式:

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

启动

代码语言:javascript
复制
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

启动

代码语言:javascript
复制
docker-compose up -d --build

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

使用

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

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

然后执行

代码语言:javascript
复制
netbird up --management-url <https://netbird.example.com:33073> --setup-key xxx

成功后可以通过

代码语言:javascript
复制
netbird status --detail

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

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

引用链接

[1]

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

[2]

auth 0: https://auth0.com/

[3]

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

Sealos 社区长期征稿,欢迎 Sealos 终端用户与开发者前来投稿,奖金💰丰厚!详情可查看文章👇

爱 Sealos?来投稿!有奖金,还没有截止日期...

加入 Sealos 开源社区

体验像个人电脑一样简单的云操作系统

🏠官网链接

https://sealos.io

🐙GitHub 地址

https://github.com/labring/sealos

📑访问 Sealos 文档

https://sealos.io/zh-Hans/docs/Intro

🏘️逛逛论坛

https://forum.laf.run/

往期推荐

将 Llama2 中文模型接入 FastGPT,再将 FastGPT 接入任意 GPT 套壳应用,真刺激!

2023-08-29

一键部署 Umami 统计个人网站访问数据,跟 Google Analytics 说再见

2023-08-10

3 分钟将免费无限制的 Claude 2.0 接入任意 GPT 套壳应用,太香了!

2023-07-28

关于 Sealos

Sealos 是一款以 Kubernetes 为内核的云操作系统发行版。它以云原生的方式,抛弃了传统的云计算架构,转向以 Kubernetes 为云内核的新架构,使企业能够像使用个人电脑一样简单地使用云。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • NetBird 架构
  • 快速部署
    • 部署需求
      • Auto0 配置
        • 新建一个应用
          • 启动
            • 使用
              • 引用链接
                • 往期推荐
                  • 关于 Sealos
                  相关产品与服务
                  容器服务
                  腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档