Featured image of post easytier使用教程

easytier使用教程

easytier的各种实用部署方案

EasyTier

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

官网:EasyTier Github:EasyTier/EasyTier

安装 EasyTier

EasyTier 的核心程序使用 rust 开发,官方版本主要包含带有图形界面的 GUI 版本和不包含图形界面的命令行版本。 以下是常见的几种情况的安装教程。

Windows11 安装 GUI 版本

以下步骤用于在 Windows11 设备上安装官方的 EasyTier GUI 程序。

使用 winget 安装

在 windows powershell 中运行winget安装命令:

1
winget install EasyTier.EasyTierGUI

winget 将会自动从 GitHub 下载安装包并安装 EasyTier GUI winget 安装 EasyTier GUI

安装完成后即可启动 EasyTier GUI EasyTier GUI

手动下载安装包安装

  1. 前往 Github 下载安装包:
  • 前往 Easytier Github 的 Releases 页面:EasyTier Releases

  • 找到带有 Latest 标签的版本,此版本为目前最新的正式版本,使用更稳定。

  • Github Releases

  • 在对应版本说明最后的 Assets 中找到正确的版本下载即可,Windows11 一般使用 easytier-gui_2.4.5_x64-setup.exe 安装程序。

  • Github Assets

常用版本说明如下:

  • app-universal-release.apk

    • 适用于 Android 的 EasyTier GUI 版本
    • (安卓手机使用此版本)
  • easytier-gui_2.4.5_x64-setup.exe

    • 适用于 Windows amd64 架构的 EasyTier GUI 版本
    • (windows一般使用此版本)
  • easytier-windows-x86_64-v2.4.5.zip

    • 适用于 Windows x86_64 架构的 EasyTier 命令行版本
    • (windows下没有图形界面的版本)
  • easytier-linux-aarch64-v2.4.5.zip

    • 适用于 linux aarch64 架构的 EasyTier 命令行版本
    • (运行aarch64架构的linux设备一般使用此版本)
  • easytier-linux-x86_64-v2.4.5.zip

    • 适用于 linux x86_64 架构的 EasyTier 命令行版本
    • (运行x86_64架构的linux设备一般使用此版本)

其他版本:

  1. 运行安装程序,安装 EasyTier GUI:
  • 由于 EasyTier 安装程序未经过签名,安装过程之中若弹出如下风险提示窗口,依次点击 更多信息 - 仍要运行 继续安装

  • Windows 安全弹窗

  • 安装程序运行后,根据实际情况,按照提示完成安装。

  • EasyTier GUI 安装程序

Windows11 安装命令行版本

  1. 前往 Github 下载安装包:
  • 选择 easytier-windows-x86_64-v2.4.5.zip 下载
  1. 解压安装
  • 解压下载的 zip压缩包 解压至合适位置

  • EasyTier

  1. 在当前目录启动 windows终端 ,运行 ./easytier-core.exe -V 检查安装情况
  • easytier-core.exe -V
  1. 如需部署为 windows服务,可以使用 Always Up
  • Always Up

linux 安装命令行版本

  1. 前往 Github 下载安装包:
  • 选择合适架构的安装包,例如:easytier-linux-x86_64-v2.4.5.zip
  1. 解压安装
  • 将压缩包上传至 linux,解压至合适位置,并授予运行权限。

  • linux easytier

  1. 切换终端到安装目录,运行 ./easytier-core.exe -V 检查安装情况
  • easytier-core.exe -V
  1. 通过systemctl注册为系统服务
  • /etc/systemd/system/ 目录创建 easytier.service 文件,将以下内容写入文件,注意操作需要以 root 权限执行。

  • easytier.service

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[Unit]
Description=EasyTier Service
Wants=network.target
After=network.target network.service
StartLimitIntervalSec=0

[Service]
Type=simple
WorkingDirectory=/opt/easytier
ExecStart=/opt/easytier/easytier-core -w 
Restart=always
RestartSec=1s

[Install]
WantedBy=multi-user.target
  • 其中

    • WorkingDirectory 为工作目录,设为实际 Easytier 安装目录
    • ExecStart 为启动命令,根据实际情况填写,详情参考 easytier-core --help 或官方文档 完整配置选项
  • 文件保存后,使用 sudo systemctl daemon-reload 命令以root权限重新加载所有单元文件。

  • 使用 sudo systemctl start easytier 命令启动 easytier-core。

  • 使用 sudo systemctl status easytier 命令查看 easytier-core 服务状态。

  • 使用 sudo systemctl enable easytier 命令启用 easytier-core 服务(开机自启)

  • 其他有关 systemctl 命令,请参考以下页面 Linux systemctl 命令

  1. 安装web管理面板(可选)
  • EasyTier 支持使用 Web 控制台 来管理 EasyTier 节点,包括查看节点状态、配置节点参数、查看节点日志等。

  • EasyTier-web

  • /etc/systemd/system/ 目录创建 easytier-web-embed.service 文件,将以下内容写入文件,注意操作需要以 root 权限执行。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[Unit]
Description=easytier-web-embed Service
Wants=network.target
After=network.target network.service
StartLimitIntervalSec=0

[Service]
Type=simple
WorkingDirectory=/opt/easytier
ExecStart=/opt/easytier/easytier-web-embed
Restart=always
RestartSec=1s

[Install]
WantedBy=multi-user.target
  • 默认配置使用如下端口:

    • Web 前端(默认11211端口)

    • Web API 后端(默认11211端口)

    • 配置下发端(默认22020端口,UDP协议)

  • 如需自定义配置,参考以下页面 自建 Web 控制台

在 openwrt 路由器上安装

  1. 前往 Github 下载安装包:
  1. 在 openwrt 上安装:
  • 可以参考 Github 项目中 README 文件提供的命令行安装。

  • 或直接在 openwrt 管理界面上传软件包,下载的 zip 内包含的 三个软件包 均需要安装。

  • openwrt-安装软件包

  1. 安装完成后即可在 openwrt 管理界面找到 easytier 配置界面
  • openwrt-easytier

使用 EasyTier

以下是使用 EasyTier 的基本方法,更多详细用法请参考 Easytier 官方文档

使用 EasyTier GUI 组网

这种方式适合在 windows电脑手机 等设备上使用。

启动 EasyTier GUI 可通过右上角 设置 切换语言

EasyTier GUI

多个节点组网使用,只需输入相同的 网络名称网络密码公共服务器地址,点击下方 运行网络 即可建立连接。

运行EasyTier

更多可用公共服务器地址可以在 easytier 交流群 获取 联系方式

使用 EasyTier Core 和 EasyTier Web 控制台 组网

这种方式适合在 路由器服务器 等设备上部署使用。

  1. 在自建 Web 控制台注册用户
  • Web 控制台注册用户

  • 如果不想让其他人注册,可以通过nginx或者waf拦截 /api/v1/auth/register 这个注册接口

  • waf

  1. 接入自建 Web 控制台
  • 根据实际部署的 web 控制台参数连接自建 Web 控制台
1
2
3
# ./easytier-core -w <protocol>://<host>:<port>/<你在自建web控制台上的用户名>
# protocol: udp, tcp, ws, wss
./easytier-core -w udp://127.0.0.1:22020/<你在自建web控制台上的用户名>
  • 连接成功后可在控制台看到设备

  • web-控制台

  1. 在web控制台配置节点
  • 在控制台点击需要配置的节点,点击右上方 创建新网络 创建。

  • 创建新网络

  • 其余配置过程与 EasyTier GUI 相似。

自建可被公网访问的 EasyTier 节点

虽然 EasyTier 设计上是一种去中心化的组网软件,但目前在实际使用的过程中,主要遇到的问题就是节点网络环境较封闭(无公网 IP,NAT1 或更差),且没有可靠用来辅助节点之间建立连接或中转数据的公共服务器。

针对这类问题,提供以下几种部署教程以供参考。

家宽 NAT穿透 或 公网IPV6 部署

虽然家宽通常不具有公网 ipv4 地址,但是可以通过 NAt 穿透或公网 IPV6 部署。

使用这种方法有以下几个要求:

  • 具备 NAT1 或 具备 公网 IPV6 网络环境(测试NAt类型 测试IPv6
  • 拥有一个域名(用于动态更新ip地址和端口,或者使用自动发送邮件等方式实时获取ip地址和端口也可以)
  • 家中有一台可以保持长期开机运行的设备,且安装有 easytier (软路由、树莓派、服务器等)

下面以 openwrt 上的 easytier 举例。

  1. 在 openwrt 中安装 easytier-coreeasytier-web
  • 参考上文方式,安装 easytier-coreeasytier-web

  • easytier-web 配置:

    • 监听协议:TCP
    • 服务端口:22020(凡涉及端口,均可根据实际情况自定义)
    • API端口与web界面端口:11211
  • easytier-core 配置:

    • 连接同设备上的 web 控制台:tcp://127.0.0.1:22020/<你在自建web控制台上的用户名>
    • WSS端口:11012 (用于自动设置防火墙规则)
    • 虚拟网卡名称:router-tun
  • easytier-web 中配置 easytier-core

    • 虚拟IPv4地址:取消勾选DHCP手动指定192.168.101.1/24(可选)
    • 网络名称:(自定义)
    • 网络密码:(自定义)
    • 网络方式:独立
    • 监听地址:wss://0.0.0.0:11012(与上方 easytier-core 配置相同)
    • TUN接口名称:router-tun(与上方 easytier-core 配置相同)
    • 子网代理CIDR:192.168.50.0/24(可选)
  1. 配置 openwrt
  • 确保 openwrt 防火墙 允许 easytier-core 对应端口 IPv6 接受入站(默认自动配置),用于通过 IPv6 连接 easytier-core。

  • 设置 openwrt 端口转发 ,参考设置如下,用于 NAt穿透

  • openwrt 端口转发

  1. 配置 lucky 进行 NAT穿透 与 域名更新
  • 安装 Lucky

  • 配置STUN内网穿透,参考配置如下:

    • router-easytier

    • web-easytier-config

  • 配置成功后确保正确获得 公网ip地址端口

  • 配置动态域名:

    • 根据域名解析提供商配置域名解析

    • 配置 IPv6 地址:

      • 记录名:router.xxxx.xxx
      • 记录类型:AAAA
      • 记录内容:{ipv6Addr}
    • 配置stun穿透 ipv4 地址:

      • 记录名:routerstun.xxxx.xxx
      • 记录类型:A
      • 记录内容:{ipv4Addr}
    • 配置stun穿透 easytier-core:

      • 记录名:easytier.xxxx.xxx
      • 记录类型:TXT
      • 记录内容:wss://routerstun.xxxx.xxx:{STUN_router-easytier_PORT}
    • 配置stun穿透 easytier-web:

      • 记录名:config.xxxx.xxx
      • 记录类型:TXT
      • 记录内容:tcp://routerstun.xxxx.xxx:{STUN_web-easytier-config_PORT}
  • 配置完成后即可正常使用。

  1. 连接
  • 其他节点使用 -w tcp://config.xxxx.xxx/<你在自建web控制台上的用户名> 连接到 web控制台

  • 其他节点使用 txt://easytier.xxxx.xxx 通过 nat穿透 连接到 openwrt 上的 easytier

  • 其他节点使用 wss://router.xxxx.xxx:11012 通过 IPv6 连接到 openwrt 上的 easytier

家宽 IPV6 部署,通过 cdn 连接

如果家宽不具有 NAt1 的条件,但具有 公网 IPV6 ,可以通过使用 cdn 提供的 wss 使用。

可以使用 阿里云的esa 或者 腾讯云的edgeone

使用这种方法有以下几个要求:

  • 具备 公网 IPV6 网络环境(测试IPv6
  • 拥有一个已经备案域名(用于动态更新 ip地址 ,用于 cdn)
  • 家中有一台可以保持长期开机运行的设备,且安装有 easytier (软路由、树莓派、服务器等)

下面以 openwrt 上的 easytier 以及 阿里云esa 举例。

  1. openwrt 中安装 easytier-coreeasytier-web
  • 参考 家宽 NAT穿透 或 公网IPv6 部署 部署一个可以通过 IPv6 连接的 easytier-coreeasytier-web

  • 域名部分只需要配置动态域名 中的 配置 IPv6 地址

    • 配置 IPv6 地址:
      • 记录名:router.xxxx.xxx
      • 记录类型:AAAA
      • 记录内容:{ipv6Addr}
  1. 配置 esa ,实现连接 easytier-core wss(需提前在esa中配置 CNAME 接入域名,并配置https证书)
  • 前往 esa 控制台,速度和网络-优化-网络优化,确认 WebSocket 开关打开,以允许客户端建立 WebSocket 连接,同时支持 WebSocket 回源。

  • 前往 esa 控制台,速度和网络-优化-网络优化,确认开启 IPv6 支持,用于 IPv6 回源。

  • 前往 esa 控制台,DNS-记录,配置DNS记录:

    • 记录类型:CNAME
    • 主机记录:easytier.xxxx.xxx
    • 记录值/源站:域名
    • 域名:router.xxxx.xxx
    • 回源 HOST:跟随源站域名
  • 前往 esa 控制台,规则-回源规则,配置 easytier 回源规则:

    • 自定义规则:
      • 匹配主机名:easytier.xxxx.xxx
    • 执行:
      • 回源协议和端口:跟随客户端1101211012
  1. 连接
  • 其他节点使用 wss://easytier.xxxx.xxx 通过 esawss 连接到 openwrt 上的 easytier

  • 如果使用的 EasyTier<2.5.0wss 需要填写端口号,即 wss://easytier.xxxx.xxx:0

在任意具有公网ip的云服务器部署

任何具有公网 ip 的云服务器均可部署 easytier。

具体部署方式参考上文 linux 安装命令行版本

雨云云应用部署

雨云云应用支持 docker 部署 easytier,按量收费。

具体参考雨云相关页面说明,安装时使用V2.4.5-core,安装界面 Web控制台用户名 选项对应 easytier-core-w 参数的具体值,如需连接自建web控制台,在这里输入完整连接:<protocol>://<host>:<port>/<你在自建web控制台上的用户名>

雨云云应用

其他用法

出口节点

使用出口节点,可以改变某个 easytier 的对外访问ip。

例如某个 easytier 网络中存在A,B两个不同ip的节点,如需要B节点A节点的ip访问网站,可使用出口节点功能。

具体配置如下:

  1. 配置 A节点 easytier
  • 配置 easytier

    • 高级设置
      • 功能开关:开启启用出口节点
      • socks5服务器:开启,设置自定义端口
      • 出口节点列表:设定为 A节点 自己的 easytier虚拟ip
  • 经过配置后 A节点 easytier 将作为 socks5服务器 提供对外连接。

  • 目前 easytier socks5服务器 仅支持 TCP 协议。

  1. 配置 B节点 easytier
  • B节点接入 easytier 网络,可以正确连接到A节点即可。
  1. 配置 B节点 代理
  • B节点 作为 socks5客户端 连接 A节点 easytiersocks5服务器

  • 可通过浏览器插件 FoxyProxy 配置浏览器代理。

FoxyProxy 配置

  • 或通过 clash 配置全局代理。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
port: 7890
socks-port: 7891
allow-lan: true
mode: global
log-level: info
ipv6: false
external-controller: 127.0.0.1:9090
dns:
  enable: true
  use-hosts: true
  listen: 0.0.0.0:53
  nameserver:
    - https://dns.alidns.com/dns-query
    - https://8.8.8.8/dns-query
    - https://8.8.4.4/dns-query
  default-nameserver:
    - tcp://223.5.5.5
    - tcp://223.6.6.6
    - tls://8.8.8.8:853
    - tls://8.8.4.4:853
proxies:
  - name: "easytier"
    type: socks5
    server: 192.168.100.5
    port: 18118
使用 Hugo 构建
主题 StackJimmy 设计