WireGuard 全互联模式终极指南(上)!

本文介绍了Netmaker这一用于配置WireGuard全互联模式的可视化工具,详细阐述了其工作原理、功能特点以及部署方法。Netmaker支持UDP打洞、NAT穿透和多租户,并提供了跨平台的客户端。通过定时签到更新配置,实现全互联网络拓扑。此外,还介绍了如何通过docker-compose部署Netmaker,并解析了其主要功能,如网络、节点、访问秘钥和DNS管理。文章最后预告了下篇将详细讲解如何配置Linux、macOS和手机客户端的WireGuard全互联模式。

7bed2c17306d6af49e5b9fb8f93763ce.gif

大家好,我是米开朗基杨。

关注我的读者应该都还记得我之前写过一篇 👉WireGuard 全互联模式 (full mesh) 的配置指南,限于当时还没有成熟的产品来帮助我们简化全互联模式的配置,所以我选择了使用可视化界面 👉wg-gen-web 来达成目的。但 👉wg-gen-web 的缺陷也很明显,它生成的每一个客户端的配置都要手动调整,终究还是不够便利。

今天我将为大家介绍一种更加完美的工具来配置 WireGuard 的全互联模式,这个工具就是 Netmaker[1]

由于篇幅原因,本系列文章将会分成两篇进行介绍。本篇文章介绍 Netmaker 的工作原理和功能解读;下一篇文章将会介绍如何使用 Netmaker 来配置 WireGuard 全互联模式。

Netmaker 介绍

Netmaker 是一个用来配置 WireGuard 全互联模式的可视化工具,它的功能非常强大,不仅支持 UDP 打洞、NAT 穿透、多租户,还可以使用 Kubernetes 配置清单来部署,客户端几乎适配了所有平台,包括 Linux, Mac 和 Windows,还可以通过 WireGuard 原生客户端连接 iPhone 和 Android,真香!

其最新版本的基准测试结果显示,基于 Netmaker 的 WireGuard 网络速度比其他全互联模式的 VPN(例如 Tailscale 和 ZeroTier)网络速度快 50% 以上。

Netmaker 架构

5ee5ae2db3fa510390ae7fbcccedb4dd.png

Netmaker 使用的是 C/S 架构,即客户端/服务器架构。Netmaker Server 包含两个核心组件:用来管理网络的可视化界面,以及与客户端通信的 gRPC Server。你也可以可以选择部署DNS服务器(CoreDNS)来管理私有DNS。

客户端(netclient)是一个二进制文件,可以在绝大多数 Linux 客户端以及 macOS 和 Windows 客户端运行,它的功能就是自动管理 WireGuard,动态更新 Peer 的配置。

注意:这里不要将 Netmaker 理解成我之前的文章所提到的👉中心辐射型网络拓扑。Netmaker Server 只是用来存储虚拟网络的配置并管理各个 Peer 的状态,Peer 之间的网络流量并不会通过 Netmaker Server。

Netmaker 还有一个重要的术语叫签到,客户端会通过定时任务来不断向 Netmaker Server 签到,以动态更新自身的状态和 Peer 的配置,它会从 Netmaker Server 检索 Peer 列表,然后与所有的 Peer 建立点对点连接,即全互联模式。所有的 Peer 通过互联最终呈现出来的网络拓扑结构就类似于本地子网或 VPC。

Netmaker 部署

Netmaker 支持多种部署方式,包括二进制部署和容器化部署,容器化部署还支持 docker-compose 和 Kubernetes。如果你没有可以暴露服务到公网的 Kubernetes 集群,我推荐还是直接通过 docker-compose 来部署,简单粗暴。

官方推荐的做法是使用 Caddy 或 Nginx 来反向代理 Netmaker UI、API Server 和 gRPC Server,但我的域名没有备案,我也怕麻烦,就直接通过公网 IP 来提供服务了。如果你也想通过公网域名来暴露 Netmaker 的服务,可以参考 Netmaker 的官方文档[2]

本文的部署方案将直接通过公网 IP 来提供服务,首先需要安装 docker-compose,安装方法可以参考 Docker 官方文档[3]

安装完 docker-compose 后,再下载 docker-compose 的 YAML 配置清单:

$ wget https://cdn.jsdelivr.net/gh/gravitl/netmaker@master/compose/docker-compose.yml

现在还不能直接部署,需要根据自己的实际环境对配置清单进行修改。例如,我修改后的配置清单内容如下:


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值