Skip to content

EasyTier 客户端(组网管理)

EasyTier 是一款基于 Rust 编写的去中心化虚拟局域网工具,NetPanel 集成了 EasyTier 客户端,支持将多台不同地点的设备组成一个虚拟局域网,实现异地组网、远程访问、跨地域内网互通。

技术原理

VPN 与虚拟网卡(TUN/TAP)

EasyTier 通过在操作系统中创建 TUN 虚拟网卡来实现组网:

应用程序
    ↓ 发送数据包(目标:虚拟 IP 10.144.144.2)
TUN 虚拟网卡(内核层)
    ↓ 捕获数据包
EasyTier 进程(用户层)
    ↓ 加密 + 封装
物理网卡(实际网络)
    ↓ 发送到对端
对端 EasyTier 进程
    ↓ 解密 + 解封装
对端 TUN 虚拟网卡
    ↓ 注入数据包
对端应用程序
  • TUN 设备:工作在网络层(Layer 3),处理 IP 数据包,EasyTier 使用此模式
  • TAP 设备:工作在数据链路层(Layer 2),处理以太网帧
  • 所有经过虚拟网卡的流量都会被 EasyTier 捕获、加密后通过真实网络传输

去中心化 vs 传统 VPN

特性EasyTier(去中心化)传统 VPN(OpenVPN/WireGuard)
架构P2P 网状网络中心化星型架构
单点故障无(节点间可直连)有(服务器宕机则全断)
延迟低(P2P 直连时)较高(流量经中心服务器)
配置复杂度简单(无需服务端配置)复杂(需维护服务端)
穿透能力强(支持 NAT 穿透)弱(需公网 IP)
加密方式AES-256-GCM依实现而定

连接建立流程

节点 A                    中转服务器                   节点 B
  │                           │                           │
  │──── 注册(网络名+密码)──→│                           │
  │                           │←── 注册(网络名+密码)───│
  │                           │                           │
  │←── 获取节点 B 的地址信息 ─│                           │
  │                           │                           │
  │──────────── 尝试 P2P 直连(UDP 打洞)────────────────→│
  │                           │                           │
  │  P2P 成功:直接通信(低延迟)                         │
  │  P2P 失败:通过中转服务器转发(高兼容性)             │

功能概述

  • 将不同地点的设备组成虚拟局域网,分配虚拟 IP
  • 支持多种传输协议(TCP、UDP、WebSocket、WebSocket over TLS)
  • 自动尝试 P2P 直连,失败时回退到服务器中转
  • 支持通过公共服务器或自建服务器中转
  • 提供网络拓扑图、节点列表、隧道状态等可视化信息
  • 数据全程 AES-256-GCM 加密,保障通信安全

配置说明

进入 EasyTier 客户端 页面,点击 新建 按钮:

基础配置

字段类型必填默认值说明
名称字符串实例名称
启用布尔true是否启用
网络名称字符串虚拟网络标识,同一网络的设备需填写相同值
网络密码字符串网络访问密码,留空表示无密码
虚拟 IPv4字符串自动分配本设备在虚拟网络中的 IP,如 10.144.144.1

服务器配置

字段类型必填默认值说明
服务器地址字符串公共服务器中转服务器地址,格式:协议://ip:port

支持的服务器地址格式:

格式说明适用场景
tcp://1.2.3.4:11010TCP 连接通用,穿透性好
udp://1.2.3.4:11010UDP 连接延迟低,但部分网络会屏蔽
ws://1.2.3.4:11010WebSocket 连接可穿透 HTTP 代理
wss://1.2.3.4:11010WebSocket over TLS最强穿透性,可穿透 HTTPS 代理

监听配置

字段类型必填默认值说明
监听协议枚举tcp本地监听协议
监听端口整数11010本地监听端口(用于其他节点直连)

高级选项

字段类型必填默认值说明
禁用 P2P布尔false禁用 P2P 直连,所有流量走服务器中转
禁用加密布尔false禁用数据加密(不推荐,仅用于调试)
启用 IPv6布尔false启用 IPv6 虚拟网络
延迟优先布尔false优先选择延迟最低的路径

网络拓扑配置示例

拓扑一:星型拓扑(中心节点中转)

适合有一台公网服务器作为中心节点的场景,所有设备通过中心节点通信:

      云服务器(中心节点)
      10.144.144.1
      /      |      \
家庭NAS    公司PC    手机
10.144.144.2  10.144.144.3  10.144.144.4

配置方式: 云服务器部署 EasyTier 服务端,其他设备均将服务器地址指向云服务器。

优点: 配置简单,连接稳定
缺点: 所有流量经过中心节点,延迟较高,带宽受限于服务器


拓扑二:全互联拓扑(P2P 直连)

适合所有设备都能互相 P2P 直连的场景(如同一局域网或 NAT 类型较好):

家庭NAS ←──────→ 公司PC
  ↑  ↘         ↗  ↑
  │    手机 ←──   │
  └──────────────┘

配置方式: 所有设备加入同一网络,不指定服务器(使用公共服务器辅助打洞),EasyTier 自动建立 P2P 连接。

优点: 延迟最低,带宽最大
缺点: 依赖 NAT 类型,Symmetric NAT 可能无法直连


拓扑三:混合拓扑(P2P + 中转)

EasyTier 默认工作模式,自动选择最优路径:

家庭NAS ←── P2P直连 ──→ 公司PC
   ↑                       ↑
   └──── 中转服务器 ────────┘
         (P2P失败时使用)

配置方式: 配置中转服务器地址,同时保持 P2P 启用(默认)。EasyTier 优先尝试 P2P,失败时自动切换到中转。

优点: 兼顾延迟和稳定性,自动适应网络环境
缺点: 配置略复杂


完整配置示例

示例:三台设备异地组网

设备 A(家里 NAS):

字段
名称家庭 NAS
网络名称my-home-network
网络密码secret123
虚拟 IPv410.144.144.1
服务器地址tcp://云服务器IP:11010

设备 B(公司电脑):

字段
名称公司电脑
网络名称my-home-network
网络密码secret123
虚拟 IPv410.144.144.2
服务器地址tcp://云服务器IP:11010

设备 C(云服务器,作为中转):
配置 EasyTier 服务端,监听端口 11010

配置完成后,设备 B 可通过 10.144.144.1 访问家里 NAS 的所有服务。


各平台配置差异

Linux

bash
# 需要 NET_ADMIN 权限,通常需要 root 或 sudo
# Docker 部署时需要额外参数:
docker run --cap-add NET_ADMIN --device /dev/net/tun ...

# 检查 TUN 设备是否可用
ls /dev/net/tun

# 查看虚拟网卡状态
ip addr show easytier0

Windows

  • 需要安装 WinTUNTAP-Windows 驱动(NetPanel 安装包已内置)
  • 首次运行可能弹出 UAC 权限提示,需要允许
  • 防火墙可能需要放行 EasyTier 进程

macOS

bash
# macOS 需要安装 utun 支持(系统内置,无需额外安装)
# 检查虚拟网卡
ifconfig utun0

# 如遇权限问题,在系统偏好设置 → 安全性与隐私 中允许

Android / iOS

  • 使用 EasyTier 官方 App(需单独下载)
  • 配置相同的网络名称和密码即可加入
  • Android 需要开启 VPN 权限

直连 vs 中转性能对比

指标P2P 直连服务器中转
延迟低(取决于物理距离)较高(+服务器延迟)
带宽高(受限于两端上行)受限于服务器带宽
稳定性依赖 NAT 类型稳定
适用场景视频流、大文件传输远程控制、SSH

网络状态查看

NetPanel 提供了多个 EasyTier 状态查看页面:

  • 节点列表:查看所有在线节点及其虚拟 IP、延迟信息
  • 网络拓扑:可视化展示节点间的连接关系(P2P/中转用不同颜色标识)
  • 隧道状态:查看各节点间的隧道类型和流量统计
  • 网络事件:查看节点加入/离开等事件日志

网络诊断

当组网出现问题时,按以下步骤排查:

步骤 1:确认节点在线

在 NetPanel 节点列表 页面,确认目标节点状态为"在线",延迟有正常数值。

步骤 2:Ping 虚拟 IP

bash
# Linux / macOS
ping 10.144.144.2

# Windows
ping 10.144.144.2

# 如果 ping 不通,检查对端防火墙是否放行 ICMP

步骤 3:检查防火墙

bash
# Linux:检查 iptables 是否放行虚拟网卡流量
iptables -L INPUT | grep easytier

# 临时放行(测试用)
iptables -I INPUT -i easytier0 -j ACCEPT
iptables -I FORWARD -i easytier0 -j ACCEPT

步骤 4:查看 EasyTier 日志

在 NetPanel 系统日志 页面,筛选 EasyTier 相关日志,查看连接错误信息。

步骤 5:验证网络名称和密码

确认所有设备填写的网络名称网络密码完全一致(区分大小写)。


常见问题

Q:节点显示已连接但无法访问对端服务?
A:检查对端服务是否监听在 0.0.0.0(而非 127.0.0.1),以及对端防火墙是否放行对应端口。

Q:延迟很高,如何优化?
A:1) 启用"延迟优先"选项;2) 选择地理位置更近的中转服务器;3) 检查是否走了 P2P 直连(在隧道状态页面查看)。

Q:P2P 直连一直失败?
A:可能是 Symmetric NAT 环境,建议使用服务器中转(禁用 P2P 选项),或在路由器上配置 UPnP/端口映射。

Q:Docker 部署时 TUN 设备不可用?
A:确保 Docker 启动参数包含 --cap-add NET_ADMIN --device /dev/net/tun,且宿主机内核支持 TUN 模块(modprobe tun)。

Q:Windows 上虚拟网卡创建失败?
A:以管理员身份运行 NetPanel,或检查 WinTUN 驱动是否正确安装。


官方资源

资源链接
官方文档https://easytier.cn/guide/introduction.html
GitHub 仓库https://github.com/EasyTier/EasyTier
二进制下载https://github.com/EasyTier/EasyTier/releases
公共服务器列表https://easytier.cn/guide/network/public-server.html

NetPanel 内置 EasyTier

NetPanel 发布包中已内置对应平台的 EasyTier 二进制文件,无需单独下载。上方下载地址适用于需要单独使用 EasyTier 的场景。

TUN 设备权限

EasyTier 需要创建 TUN 虚拟网卡,在 Linux 上需要 NET_ADMIN 权限或 root 权限。Docker 部署时需要添加 --cap-add NET_ADMIN--device /dev/net/tun

公共服务器

如果没有自建服务器,可以使用 EasyTier 官方提供的公共服务器(不填写服务器地址时默认使用)。公共服务器仅用于中转,数据经过加密,但建议敏感场景自建服务器。

基于 GPL-3.0 许可证发布