只需 10 分钟,轻松实现异地组网!Netmaker 保姆级部署教程来了

不用端口映射,不用 OpenVPN,一套基于 WireGuard 的现代化异地组网方案,部署仅需几分钟。

服务器越来越多,你是不是也遇到这些问题?

不知道大家有没有遇到过下面这些场景。

  • 家里的 NAS 想访问公司服务器。
  • 公司服务器需要连接阿里云、腾讯云。
  • 多个机房之间需要互通。
  • 开发电脑需要访问测试环境。
  • Docker、Kubernetes 节点分布在不同公网。

随着服务器越来越多,很多人的网络拓扑已经变成这样。

传统做法一般有几种:

  • OpenVPN
  • FRP
  • ZeroTier
  • Tailscale
  • WireGuard 手工配置

刚开始机器少的时候还能接受。

但服务器一旦来到十几台、几十台,就开始各种问题。

今天介绍的这款工具,就是很多海外开发者目前非常喜欢的一套解决方案。

它就是------Netmaker。

Netmaker 是什么?

Netmaker 是一个开源的现代化组网平台。

它最大的特点就是:

基于 WireGuard 高性能底层,提供标准化、可视化统一管理的 Mesh 组网管控平台。

简单来说:

WireGuard 负责高速通信。

Netmaker 负责:

  • 节点管理
  • 自动组网
  • 自动分配 IP
  • ACL 权限控制
  • Web UI

架构大概如下:

整个数据通信依然走 WireGuard。

控制面由 Netmaker 完成。

Netmaker 有哪些特点?

总结一下它最吸引人的几个地方。

1. 基于 WireGuard

通信性能非常高。

基本就是 WireGuard 原生速度。

没有复杂的额外封装。

2. 自动分配 IP

例如:

txt 复制代码
100.99.0.2
100.99.0.3
100.99.0.4

后台统一管理。

不用担心 IP 冲突。

3. Web 管理后台

所有节点状态一目了然。

例如:在线、公网IP、内网IP、WireGuard状态、最后上线时间 等

再也不用 SSH 上去一个个排查。

实战部署 Netmaker

先预装好 Docker Compose 环境,然后结合 Netmaker安装文档 进行安装。

第一步:准备服务器

建议:

  • Ubuntu 22.04+
  • Debian 12+
  • CentOS Stream
  • Rocky Linux

需要开放:80、443

建议准备一个域名。例如:netmaker.example.com

第二步:准备配置文件

执行官方提供的一键安装脚本

bash 复制代码
sudo wget -qO /root/nm-quick.sh https://raw.githubusercontent.com/gravitl/netmaker/master/scripts/nm-quick.sh && sudo chmod +x /root/nm-quick.sh && sudo /root/nm-quick.sh

按提示配置泛域名、邮箱,脚本运行成功后会在 /root/netmaker/ 目录中生成 docker-compose.ymlnetmaker.env 等配置文件

官方脚本默认是用的 Caddy 进行代理,如果需要用 Nginx 进行代理配置可参考 Nginx 配置模板 ,模板中的 api.x 对应后端、dashboard.x 对应前端。

用 Nginx 代理的时候还需要注意一点,官方提供的配置模板中,8082 对应后端服务,8081 对应前端服务,需要配置如下所示的端口映射:

yaml 复制代码
# api
    ports:
      - "8081:8081"
      - "50051:50051"

# ui
    ports:
      - "8082:80"

第三步:启动

bash 复制代码
docker compose up -d

等待容器启动,启动成功后访问 https://dashboard.netmaker.example.com 即可进入管理后台,首次访问的时候会提示创建用户名密码。

客户端如何加入网络?

Linux:

bash 复制代码
wget -O netclient https://downloads.netmaker.io/releases/download/v1.6.0/netclient-linux-amd64 && sudo chmod +x ./netclient && sudo ./netclient install

安装完成后。

执行:

bash 复制代码
sudo netclient join -t <Join Token>

几秒钟后。

后台即可看到节点上线。

Windows、macOS 以及 Linux 均提供客户端,在添加设备中按照指引添加即可。

我踩过的几个坑

部署过程中,也遇到过一些比较典型的问题。

坑一:域名解析错误

很多人直接使用 IP。

结果:

Let's Encrypt 无法签发证书。

建议:

提前准备域名。

坑二:NAT 类型限制

虽然 Netmaker 支持 NAT 穿透。

但是:

双端都是严格对称 NAT 时。

仍可能无法直连。

这种情况下通常需要中继节点(Relay)辅助转发。

写在最后

如果只是连接 2~3 台服务器,直接使用 WireGuard 原生配置就已经足够,简单、稳定、依赖少。

但当节点数量逐渐增加,需要统一管理、权限控制、可视化运维时,维护成本往往会快速上升。这也是 Netmaker 的价值所在------保留 WireGuard 的高性能,同时补齐企业级组网所需的管理能力。

相关推荐
前端兰博1 小时前
03-Spring Boot
后端
前端兰博1 小时前
01-Java开发基础语言
后端
前端兰博1 小时前
02-Servlet、JDBC、Maven、Mybatis
后端
咖啡八杯2 小时前
GoF设计模式——模板方法模式
java·后端·spring·设计模式
码事漫谈3 小时前
Loop 正在排斥人为操作
后端
爱勇宝3 小时前
办公资料反复修改、补传、交接混乱,我做了个桌面工具来解决这件事
前端·后端·程序员
庄周de蝴蝶3 小时前
梅开二度,这次拿下系统分析师
后端·程序员
林小帅5 小时前
NestJS v11 + Prisma v7 ESM 迁移配置解析
前端·javascript·后端
IT_陈寒5 小时前
React的setState竟然不是立刻生效的,害我调试半天
前端·人工智能·后端