LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

EasyTier:异地组网工具新推荐,轻松实现跨地域设备互联

admin
2025年1月9日 19:50 本文热度 50

EasyTier是由 Rust 和 Tokio 驱动一个简单安全去中心化的内网穿透 远程 组网方案,开源项目

优点

  • • 去中心化:无需依赖中心化服务,节点平等且独立
  • • 公网 IP 组网:支持利用共享的公网节点组网, 可以使用EasyTier公共Peers
  • • 低占用: 即使最垃圾的机器也可以跑
  • • 跨平台支持
  • • NAT穿透:支持基于 UDP 的 NAT 穿透,即使在复杂的网络环境下也能建立稳定的连接
  • • 子网代理(点对网):节点可以将可访问的网段作为代理暴露给 远程 子网,允许其他节点通过该节点访问这些子网
  • • 智能路由:根据流量智能选择链路,减少延迟,提高吞吐量
  • • TCP 支持:在 UDP 受限的情况下,通过并发 TCP 链接提供可靠的数据传输,优化性能
  • • 高可用性:支持多路径和在检测到高丢包率或网络错误时切换到健康路径
  • • 安全:支持利用 WireGuard 加密通信,也支持 AES-GCM 加密保护中转流量
  • • IPV6 支持:支持利用 IPV6 组网

项目情况

  • • EasyTier/EasyTier[1]
  • • 官方文档[2]

部署

这里以手动安装和docker部署方式为例

手动安装部署

EasyTier采用rust开发,交叉编译成二进制文件,部署极其方便简单
直接下载已经编译好的文件,安装即可,下面分几步执行

EasyTier默认是不区分客户端还是服务端,故本次部署即是服务端又是客户端。一般情况下 开放监听端口为服务端,不开放监听端口为客户端

Linux-x86_64 适用于Debian系列,其它架构系统类似。默认root终端执行。

下载EasyTier

mkdir -p /etc/et && cd /etc/et
wget wget https://github.com/EasyTier/EasyTier/releases/download/v2.1.1/easytier-linux-x86_64-v2.1.1.zip
# 上面没法下载,可以使用下面的链接下载
wget https://gh.dev.438250.xyz/https://github.com/EasyTier/EasyTier/releases/download/v2.1.1/easytier-linux-x86_64-v2.1.1.zip

解压

unzip easytier-linux-x86_64-v2.1.1.zip
cp -a easytier-linux-x86_64/* .
rm -rf easytier-linux-x86_64 easytier-linux-x86_64-v2.1.1.zip
chmod +x ./*
mv ./easytier-* /usr/bin/

编写配置文件

默认路径为/etc/et/config.toml,内容如下:

instance_name = "default"
# easytier组网的ip地址
ipv4 = "192.168.66.80"
dhcp = false
exit_nodes = []
# api地址,记得改成本地监听
rpc_portal = "127.0.0.1:15888"
# 自定义 使用 32379 32380 端口作为监听发现服务 默认监听IPv4/IPv6, 服务端可以根据自己实际情况配置,可以全开,也可以为空不开listeners = [],客户端可以不开
listeners = [
    "tcp://0.0.0.0:32379",
    "udp://0.0.0.0:32379",
    "udp://[::]:32379",
    "tcp://[::]:32379",
    "wss://0.0.0.0:32380/",
    "wss://[::]:32380/",
]

# 组网凭证
[network_identity]
network_name = "xxxx"
network_secret = "xxxx"

# tcp://public.easytier.transform: translateY(11010 是自定义要连的其他节点, 如果是第一个节点,可以不用配置, 这里以官方的节点为例
[[peer]]
uri = "tcp://public.easytier.top:11010"

# 其他参数
[flags]
dev_name = "easytier0"
enable_ipv6 = true

另外当服务跑起来后,也可以使用easytier-cli node config命令查看节点配置文件

编写启动守护文件并启动

cat > /etc/systemd/system/easytier.service <<EOF
[Unit]
Description=EasyTier
After=network.target

[Service]
Type=simple
WorkingDirectory=/etc/et
# ExecStart=/usr/bin/easytier-core -i 192.168.66.80 --network-name ysicing --network-secret ysicing -e tcp://public.easytier.transform: translateY(11010 --dev-name easytier0 --rpc-portal 127.0.0.1:15888 --no-listener
ExecStart=/usr/bin/easytier-core -c /etc/et/config.toml
Restart=always
RestartSec=10
User=root
Group=root
[Install]
WantedBy=multi-user.target
EOF

可以使用配置文件,也可以使用命令行参数方式,如果节点配置都一样,推荐使用配置文件方式。

启动服务

# 开机自启并立即启动
systemctl enable easytier --now

如果使用命令行参数,每次启动后需要reload一下

systemctl daemon-reload
systemctl restart easytier

查询服务是否正常

执行easytier-cli peer, 由于使用的是公共节点,所以会有节点信息

如下是我自己的组网节点

使用docker部署

编写docker-compose.yml

首先创建一个目录(如easytier),然后在该目录下创建docker-compose.yml文件,内容如下:

services:
  easytier:
    privileged:true
    container_name:easytier
    network_mode:host
    volumes:
      -easytier:/root
    environment:
      -TZ=Asia/Shanghai
    # 方便国内部署,我会定期同步到腾讯云容器仓库
    image:ccr.ccs.tencentyun.com/k7scn/easytier:latest
    # 凭证需要保持一致
    command:-i192.168.66.8--network-nameysicing--network-secretysicing-ltcp://0.0.0.0:32379-etcp://public.easytier.transform: translateY(11010--dev-nameeasytier0--rpc-portal127.0.0.1:15888# --vpn-portal wg://0.0.0.0:32380/192.168.77.0/24
    restart:always

volumes:
easytier:
    driver: local

启动服务

docker compose pull
docker compose up -d

同理,如果需要查看节点信息,可以使用docker exec -it easytier easytier-cli peer命令

需要自行放行相关端口,如32379, 32380等

其他系统部署

Windows部署可以参考官方文档[3]

Windows Scoop安装

在PowerShell 执行下列代码以安装Scoop

irm get.scoop.sh | iex
scoop install git
scoop install nssm
# 添加软件源
scoop bucket add moec https://github.com/laoxong/ScoopBucket
scoop install easytier
# 以服务的方式启动,也可以直接启动测试
nssm.exe install easytier_service C:\Scoop\apps\easytier\current\easytier-core.exe 你的参数
# 编辑服务
nssm edit easytier_service

示例: nssm.exe install easytier_service C:\Scoop\apps\easytier\current\easytier-core.exe -i 192.168.66.81 -e tcp://public.easytier.transform: translateY(11010 --dev-name easytier0 --network-name xxxx --network-secret xxxx

注意:Windows下需要管理员权限执行, 相关路径也需要确定,不一定是C:\Scoop\,可能是当前用户目录下的scoop目录

打开services.msc 找到easytier_service,修改为延迟启动

其他

仅供参考,不对其安全性负责

  • • EasyTier 配置管理脚本 [4]
  • • EasyTier 管理器[5]
  • • EasyTier 公共服务器[6]

引用链接

[1] EasyTier/EasyTier:https://github.com/EasyTier/EasyTier/releases
[2]官方文档:https://easytier.cn/guide/introduction.html
[3]官方文档:https://easytier.cn/guide/network/install-as-a-windows-service.html
[4]EasyTier 配置管理脚本 :https://github.com/CGG888/EasyTier/blob/main/script%2FREADME.md
[5]EasyTier 管理器:https://github.com/xlc520/easytier-manager
[6]EasyTier 公共服务器:https://easytier.gd.nkbpal.cn/status/easytier


阅读原文:原文链接


该文章在 2025/1/10 9:18:04 编辑过

全部评论9

admin
2025年1月10日 9:20

安装为windows服务?

1、前往NSSM官网[https://nssm.cc/download]下载NSSM并解压到本地目录;

2、下载好命令行版easytier-core.exe,记住存放目录,如:D:\Software\Easytier\cli\easytier-core.exe

3、将其注册为windows服务,如命名为easytier_service

​nssm.exe install easytier_service D:\Software\Easytier\cli\easytier-core.exe --ipv4 10.144.144.2 --network-name abc --network-secret abc -e tcp://public.easytier.top:11010

4、运行 services.msc,找到easytier_service服务,启用并将其设置为延时启动;

5、如要删除服务:

nssm.exe remove easytier_service

6、注意注册成服务后程序(指easytier-core.exe)不能修改、删除或移动,否则需要删除以重新注册或修改win注册表;

7、为方便执行easytier-cli.exe查看连接情况,可将其存放到C:\Users\Administrator(Administrator是你windows用户名)底下,随意打开cmd或powershell即可执行,如:

easytier-cli.exe peer

该评论在 2025/1/10 9:26:56 编辑过
admin
2025年1月10日 9:31

自建公共服务器

用户可以使用自己的公网节点自建用于无公网 IP 组网的公共服务器,方便其他无公网 IP 的用户组网。 需要不带任何参数启动 EasyTier,该节点就可作为公共服务器使用(不需要 root 权限):

easytier-core

另外 EasyTier 支持服务器集群。每个虚拟网络(通过相同的网络名称和密钥建链)都可以充当公共服务器集群,其他网络的节点可以连接到公共服务器集群中的任意节点,无需公共 IP 即可发现彼此。运行自建的公共服务器集群与运行虚拟网络完全相同,不过可以跳过配置 ipv4 地址。

也可以使用以下命令加入官方公共服务器集群,后续将实现公共服务器集群的节点间负载均衡:

sudo easytier-core --network-name easytier --network-secret easytier -p tcp://public.easytier.top:11010

关闭转发

另外,默认情况下, EasyTier 的每个节点都允许为其他虚拟网提供转发服务,即使该节点已经指定了 网络名 (--network-name) 和 网络密钥 (--network-secret)、并已加入一个虚拟网。

若需改变此行为,可通过 --relay-network-whitelist 参数限定可被转发的网络名白名单(空格分割的通配符列表,如 "ab* abc")。当该参数的列表为空时,就不会为所有其他网络提供转发服务。

EasyTier 可以做到不转发其他虚拟网的网络包,而是只帮助他们建立 P2P 链接,只需将白名单置空,并设置仅转发 RPC 流量即可。参考命令为:

easytier-core --relay-network-whitelist --relay-all-peer-rpc

该评论在 2025/1/10 9:33:21 编辑过
admin
2025年1月10日 9:34

SOCKS5?

EasyTier 支持创建 SOCKS5 服务器,节点上的其他程序可以通过将代理设置为 EasyTier 的 SOCKS5 服务,即可访问虚拟网和虚拟网中的其他代理子网。

SOCKS5 服务的开启参数形为 --socks5 12333,将此参数加入 easytier-core 启动命令后,本机的 12333 端口即可服务于 SOCKS5 客户端。目前 SOCKS5 服务端无需用户名和密码验证,可直接使用。

admin
2025年1月10日 9:36
 

图形界面 GUI 组网?

图形界面程序同样可在 GitHub Release 页面下载,对应的前缀为 easytier-gui。

需要注意,MacOS 在安装完毕后,需要在命令行执行如下命令,否则会误报文件已损坏。

xattr -c /Applications/easytier-gui.app

该评论在 2025/1/10 9:37:23 编辑过
admin
2025年1月10日 9:37

公共服务器组网

当前提供一个小带宽公网服务器,方便没有公网服务器的朋友组网。大部分情况可以打洞 P2P 成功,若无法 P2P 成功,节点间带宽可能会比较低。

配置方法如图所示。

配置完成后点击运行网络按钮即可,运行网络成功后的界面如图


该评论在 2025/1/10 9:37:52 编辑过
admin
2025年1月10日 9:38

手动组网

EasyTier 不区分客户端服务端,且完全去中心化,新增节点只需与虚拟网络中的任意节点建链即可加入组网。配置方法如下图所示。


该评论在 2025/1/10 9:38:42 编辑过
admin
2025年1月10日 9:39

WireGuard 接入

EasyTier 中每个节点可以作为 WireGuard 的服务端,让安卓、IOS 等移动设备,轻松访问虚拟局域网中的设备。

配置方法如图。

点击组网成功页面的 《显示 WireGuard 门户配置》 按钮,就可以查看客户端的配置文件,将该配置文件导入手机的第三方客户端,即可让手机访问虚拟局域网


该评论在 2025/1/10 9:39:53 编辑过
admin
2025年1月10日 9:40

子网代理?

通过设置子网代理,连通本地局域网和虚拟局域网。

假设家中的设备在子网 192.168.1.0/24 网段中,想在公司访问家中的任意设备,则可在家中启动一个 EasyTier 节点,新增子网代理 192.168.1.0/24。公司的设备中无需任何额外配置,只需与家中节点成功组网,即可访问家中任意设备。

admin
2025年1月10日 9:41

EasyTier 管理器

下载

Github Releases: https://github.com/xlc520/easytier-manager/releases

各个包说明

  • exe:安装程序,安装后才可使用
  • zip:免安装,解压即可使用
  • easytier-manager-win_2.0.0.exe:64、32位 Windows 系统通用安装包
  • easytier-manager-win-x64_2.0.0.exe:64位 Windows 系统安装包
  • easytier-manager-win-ia32_2.0.0.exe:32位 Windows 系统安装包
  • easytier-manager-win7-x64_2.0.0.exe: 64位 Windows 7 系统安装包
  • tar.gz deb rpm AppImage:Linux系统上使用(尚未测试)

使用教程

  • 1.【重要】设置页 检测内核是否存在,若不存在则下载内核,然后安装,再次检测内核是否存在(仅首次使用需要,后续确认存在即可直接运行)

  • 2.配置页新建组网配置,提供直接编辑代码的方式,和表单填写

  • 3.工作台(首页)运行指定配置

  • 4.[可选] 组网成功后,连接没有问题可退出管理器,核心程序会在后台运行(托盘图标右键退出)

  • 5.[可选] 在配置页面,安装指定配置为系统服务

介绍

EasyTier 管理器 整合Vue3 + Vite5 + Electron33 + Element-Plus, 是一个基于 element-plus 免费开源的组网管理器。使用了最新的vue3vite5TypeScript 等主流技术开发。

特性

  • 内存占用:组网成功后,可以直接退出管理器,不会影响组网,所以不会占用内存,不会因各种问题内存泄漏
  • 多配置启动:支持多个组网配置运行、管理
  • 系统服务安装:界面化一键安装为系统服务,开机自动启动
  • 可视化添加配置:提供表单可视化添加组网配置,简单方便
  • 可视化日志查看:首页可查看当前组网配置的日志
  • 一键下载安装:一键下载安装内核,内置加速源,无需手动下载,下载完一键安装
  • 最新技术栈:使用 Electron33/Vue3/vite5 等前端前沿技术开发
  • TypeScript: 应用程序级 JavaScript 的语言
  • 国际化:内置完善的国际化方案

Bug 反馈 & 建议

趋于稳定可能不会在开发新功能,只会修复漏洞之类的

可在 TODO 查看是否已有记录,以免重复

BUG 提交 | 需求建议

系统支持

理论支持Windows 11 、Windows 10 、 Windows 7


该评论在 2025/1/10 9:42:07 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved