说到异地组网大家以前给大家介绍过 zerotier,vnt,SoftEtherV*N,花生壳,今天再给大家带来一个大家针对于特征不那么明显的去中心组网工具,去中心化简单而言可以无需公网 IP 服务器,所有节点平等独立,都可以参与转发和组网,可以用于连通异地多个网络,一起内网连接私服游戏,云网络访问安全等等用途。

简介

Github 开源地址:点此跳转,截止发帖:13.3k

EasyTier 是一款简单、安全、去中心化的内网穿透和异地组网工具,适合远程办公、异地访问、游戏加速等多种场景。无需公网 IP,无需复杂配置,轻松实现不同地点设备间的安全互联。

适用场景

  • 远程办公:让公司、家中和外地的电脑像在同一局域网一样互通。
  • 异地访问:随时随地安全访问家中 NAS、服务器或其他设备。
  • 游戏加速:组建虚拟局域网,畅玩联机游戏。
  • 物联网组网:让分布在不同地点的设备安全互联。

核心特点

  • 去中心化:无需依赖中心服务器,所有节点平等独立,都可以参与转发和组网。
  • 安全加密:支持 WireGuard 和 AES-GCM 加密,保障数据安全。
  • 跨平台:支持 MacOS、Linux、Windows、FreeBSD、Android,未来将支持 iOS。
  • 无公网 IP 组网:可通过共享公网节点组网,详见配置指南
  • NAT 穿透:支持 UDP NAT 穿透,复杂网络环境下也能稳定连接。
  • 智能路由:自动选择最佳链路,降低延迟,提高吞吐量。
  • 高可用性:多路径支持,自动切换健康链路,提升稳定性。

高级特性

  • KCP / QUIC 代理: 支持将 TCP 流量转为 KCP / QUIC 协议,提升高 UDP 丢包环境下的传输延迟和稳定性。
  • 非特权模式:支持在非特权用户下运行,避免需要 root 权限。(仅可作为被访问端)
  • WireGuard 接入: 支持 WireGuard 客户端接入 EasyTier 网络。

搭建教程

官方文档都提供了详细的教程,本人主要针对官方进行整合了,将节点和 web 控制面板部署在同一个容器中,方便迁移和在线配置。

防火墙策略

  1. Web 前端(默认11211端口)
  2. Web API 后端(默认11211端口)
  3. 配置下发端(默认22020端口,UDP协议)

docker 一键部署 all in one

services:
  easytier-all-in-one:
    image: easytier/easytier:latest
    container_name: easytier-all-in-one
    hostname: easytier-center
    restart: unless-stopped
    network_mode: host
    cap_add:
      - NET_ADMIN
      - NET_RAW
    devices:
      - /dev/net/tun:/dev/net/tun
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /etc/machine-id:/etc/machine-id:ro
      - ./data:/data
      - ./config:/config
    # 覆盖默认 entrypoint,利用 shell 同时启动控制台和节点
    entrypoint: ["/bin/sh", "-c"]
    command:
      - |
        # 1. 后台启动 Web 控制台
        easytier-web-embed --api-server-port 11211 --api-host http://127.0.0.1:11211 --config-server-port 22020 --config-server-protocol udp --db /data/et.db &
        # 2. 前台启动 节点服务
        exec easytier-core --config-server udp://127.0.0.1:22020/<你在自建web控制台上的用户名> --private-mode true

执行 docker-compose up -d

访问控制台面板http://ip:11211/<;你在自建web控制台上的用户名>

EasyTier-开源去中心化的异地组网搭建教程

安全配置

默认安装完有个2个帐号,admin/admin,user/user。建议部署完直接修改密码。<你在自建web控制台上的用户名>这个需要填写的什么就在web控制台注册一下然后就可以在线界面配置了。

组网教程

通过界面直接先启动一个网络,这块可以看官方文档

然后在其他端进行组网操作,点击这里下载适合你设备的软件。主流的都是支持,包括安卓。

EasyTier-开源去中心化的异地组网搭建教程

我这里给一个linux下的docker容器部署的方式,直接连接统一的web控制台组网。

services:
  easytier:
    # 国内用户可以使用 daocloud.io 镜像
    # image: m.daocloud.io/docker.io/easytier/easytier:latest
    image: easytier/easytier:latest
    hostname: easytier-client
    container_name: easytier
    restart: unless-stopped
    network_mode: host
    cap_add:
      - NET_ADMIN
      - NET_RAW
    environment:
      - TZ=Asia/Shanghai
    devices:
      - /dev/net/tun:/dev/net/tun
    volumes:
      - /etc/machine-id:/etc/machine-id:ro
    command: --config-server udp://服务器IP:22020/<你在自建web控制台上的用户名>

启动完成后可以直接在web控制台注册你在自建web控制台上的用户名然后统一在线界面配置。

组网就只需要网络名称和网络密码一样,并且在一个网段就可以直接互联,会优先通过P2P打动实现超低延迟,如果不成功的话才会走中转节点流量。

EasyTier-开源去中心化的异地组网搭建教程

组网成功就可以看到流量以及互联的节点,更多高级玩法可以查看官方文档,要实现局域网游戏联机也是OK的。

EasyTier-开源去中心化的异地组网搭建教程

总结

本文主要介绍了一个去中心化组网工具,目前博主生产环境一直是使用 zerotier 进行实现的,并且需要自建卫星节点,针对于云厂商特征也比较明显,容易 Qos,所以一直在寻找迁移方便并且不那么依靠公网服务器的打洞方案,目前现在博主只是在小范围进行替代自用,后期只要开源项目正常维护将全面切换成 easytier 组网方案,打通公司家里云服务器手持设备,整个云端部署仅仅做一个打洞失败兜底中转策略,内存占用仅100MB 左右,希望本文针对于爱折腾网络架构的你有所帮助。

文章目录