EasyTier 服务端与节点管理
NetPanel 支持运行 EasyTier standalone 服务端,作为虚拟网络的中转节点,供 EasyTier 客户端连接使用。同时提供完整的节点状态监控、网络拓扑可视化和性能管理功能。
功能概述
- 运行 EasyTier standalone 服务端进程,作为网络中转节点
- 帮助 NAT 后的设备建立 P2P 直连或中转连接
- 支持多个虚拟网络同时运行
- 提供节点列表、网络拓扑图、隧道状态等可视化监控
- 实时显示节点延迟、流量统计和连接类型
技术原理
分布式节点通信机制
EasyTier 采用去中心化的 P2P 网络架构,每个节点既是客户端也是路由节点:
┌─────────────────────────────────────────────────────────┐
│ EasyTier 网络架构 │
│ │
│ 节点A(家里) 节点B(公司) │
│ 虚拟IP: 10.144.144.1 虚拟IP: 10.144.144.2 │
│ │ │ │
│ │ ① 尝试P2P直连(打洞) │ │
│ │◄──────────────────────────────►│ │
│ │ │ │
│ │ ② P2P失败时走中转服务器 │ │
│ │──────────►[中转服务器]◄─────────│ │
│ │ 公网IP:11010 │ │
└─────────────────────────────────────────────────────────┘节点发现机制
EasyTier 支持两种节点发现方式:
| 发现方式 | 说明 | 适用场景 |
|---|---|---|
| 中心服务器 | 通过配置的服务器地址发现其他节点 | 有公网服务器时推荐 |
| 公共服务器 | 使用 EasyTier 官方公共节点中转 | 无自建服务器时使用 |
| 直接连接 | 通过已知节点的虚拟IP直接连接 | 局域网内设备 |
心跳检测与路由选择
- 心跳检测:每个节点定期向其他节点发送心跳包,检测连接状态和测量延迟
- 路由选择:优先选择延迟最低的路径,支持多路径冗余
- 自动切换:当 P2P 直连建立后,自动从中转切换到直连;直连断开时自动回退到中转
P2P 打洞原理
① 节点A 和 节点B 都连接到中转服务器
② 中转服务器交换双方的公网IP和端口信息
③ 节点A 和 节点B 同时向对方发送UDP包(打洞)
④ 打洞成功 → 建立P2P直连,流量不再经过服务器
⑤ 打洞失败(Symmetric NAT)→ 继续使用服务器中转服务端配置说明
进入 EasyTier 服务端 页面,点击 新建 按钮:
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 名称 | 字符串 | ✅ | — | 服务端实例名称 |
| 启用 | 布尔 | ✅ | true | 是否启用 |
| 监听地址 | 字符串 | ❌ | 0.0.0.0 | 监听 IP,0.0.0.0 表示所有网卡 |
| 监听端口 | 整数 | ✅ | 11010 | 客户端连接端口 |
| 监听协议 | 枚举 | ❌ | tcp | 监听协议:tcp、udp、ws、wss |
协议选择建议
| 协议 | 穿透能力 | 性能 | 适用场景 |
|---|---|---|---|
tcp | 中 | 高 | 默认推荐,兼容性最好 |
udp | 高 | 最高 | 网络质量好时优先选择 |
ws | 高 | 中 | 需要穿透 HTTP 代理时 |
wss | 最高 | 中 | 需要穿透 HTTPS 防火墙时 |
配置示例
基础中转服务器
| 字段 | 值 |
|---|---|
| 名称 | 中转服务器 |
| 监听端口 | 11010 |
| 监听协议 | tcp |
配置完成后,在 EasyTier 客户端的服务器地址中填写:tcp://本机公网IP:11010
多协议监听(提高穿透成功率)
同时创建多个服务端实例,分别监听不同协议:
| 实例名称 | 监听端口 | 协议 |
|---|---|---|
| 中转-TCP | 11010 | tcp |
| 中转-UDP | 11010 | udp |
| 中转-WS | 11011 | ws |
客户端配置多个服务器地址,EasyTier 会自动选择可用的连接:
tcp://your-server:11010
udp://your-server:11010
ws://your-server:11011节点管理
节点列表字段说明
在 EasyTier 客户端 → 节点列表 页面,可以查看所有在线节点的详细信息:
| 字段 | 说明 |
|---|---|
| 节点名称 | 节点的标识名称 |
| 虚拟 IP | 节点在虚拟网络中的 IP 地址(如 10.144.144.1) |
| 延迟 | 与当前节点的往返延迟(ms),- 表示无直接连接 |
| 连接类型 | P2P(直连)或 Relay(中转) |
| 上行流量 | 向该节点发送的数据量 |
| 下行流量 | 从该节点接收的数据量 |
| 在线时长 | 节点持续在线的时间 |
| 状态 | Online(在线)/ Offline(离线)/ Connecting(连接中) |
网络拓扑图说明
在 EasyTier 客户端 → 网络拓扑 页面,可以可视化查看节点间的连接关系:
拓扑图元素说明:
● 实心圆点 = 在线节点(显示节点名称和虚拟IP)
○ 空心圆点 = 离线节点
━━ 实线连接 = P2P 直连(延迟低,流量不经过服务器)
┄┄ 虚线连接 = 中转连接(流量经过中转服务器)
数字标注 = 连接延迟(ms)
[S] 标识 = 中转服务器节点示例拓扑(三节点网络):
节点A(10.144.144.1) ━━[12ms]━━ 节点B(10.144.144.2)
│ │
┄[45ms]┄ ┄[38ms]┄
│ │
└──────────[中转服务器S]────────┘隧道状态说明
在 EasyTier 客户端 → 隧道状态 页面,可以查看每条隧道的详细信息:
| 字段 | 说明 |
|---|---|
| 隧道类型 | P2P 直连 或 Relay 中转 |
| 本地地址 | 本机用于该隧道的地址和端口 |
| 远端地址 | 对端节点的地址和端口 |
| 协议 | 使用的传输协议(TCP/UDP/WS) |
| 发送包数 | 通过该隧道发送的数据包数量 |
| 接收包数 | 通过该隧道接收的数据包数量 |
| 丢包率 | 数据包丢失百分比 |
P2P 直连 vs 中转对比:
| 对比项 | P2P 直连 | 中转连接 |
|---|---|---|
| 延迟 | 低(取决于两端网络) | 较高(需经过服务器) |
| 带宽 | 不受服务器限制 | 受服务器带宽限制 |
| 服务器负载 | 建立后不占用服务器流量 | 持续占用服务器流量 |
| 稳定性 | 依赖双端 NAT 类型 | 更稳定 |
| 适用场景 | Full Cone / Restricted NAT | Symmetric NAT 或无法打洞时 |
性能优化建议
降低延迟
- 选择地理位置近的中转服务器:服务器距离越近,中转延迟越低
- 启用延迟优先模式:在客户端配置中开启"延迟优先",EasyTier 会优先选择延迟最低的路径
- 优先使用 UDP 协议:UDP 比 TCP 延迟更低,在网络质量好时优先选择
- 减少中转跳数:尽量让节点直接连接到中转服务器,避免多级中转
提高稳定性
- 配置多个服务器地址:客户端配置多个中转服务器,主服务器故障时自动切换
- 使用 WS/WSS 协议:在严格防火墙环境下,WebSocket 协议穿透能力更强
- 定期检查节点状态:通过节点列表监控各节点的在线状态和延迟变化
服务器配置优化
# 调整系统网络参数(Linux 服务器)
# 增大 UDP 缓冲区
echo "net.core.rmem_max=26214400" >> /etc/sysctl.conf
echo "net.core.wmem_max=26214400" >> /etc/sysctl.conf
# 启用 BBR 拥塞控制
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p防火墙配置
# 放行 EasyTier 监听端口(Linux/UFW)
ufw allow 11010/tcp
ufw allow 11010/udp
ufw allow 11011/tcp # WebSocket 端口(如有)
# 放行 EasyTier 监听端口(Linux/iptables)
iptables -A INPUT -p tcp --dport 11010 -j ACCEPT
iptables -A INPUT -p udp --dport 11010 -j ACCEPT
# 放行 EasyTier 监听端口(Windows 防火墙)
# netsh advfirewall firewall add rule name="EasyTier" protocol=TCP dir=in localport=11010 action=allow
# netsh advfirewall firewall add rule name="EasyTier-UDP" protocol=UDP dir=in localport=11010 action=allow常见问题排查
节点显示离线
排查步骤:
检查网络连接
bash# 测试能否连接到中转服务器 ping your-server-ip telnet your-server-ip 11010验证网络名称和密码
- 确认所有节点的"网络名称"完全一致(区分大小写)
- 确认所有节点的"网络密码"完全一致
检查服务端是否正常运行
- 在 NetPanel 中查看 EasyTier 服务端的运行状态
- 查看服务端日志是否有错误信息
检查防火墙
bash# 检查端口是否开放 ss -tlnp | grep 11010 # 检查防火墙规则 ufw status查看客户端日志
- 在 NetPanel → 系统日志 中查看 EasyTier 相关日志
- 关注
ERROR和WARN级别的日志
P2P 直连无法建立
可能原因:
- 双方都处于 Symmetric NAT 环境(运营商级 NAT)
- 防火墙阻止了 UDP 打洞包
解决方案:
- 使用中转服务器连接(正常功能,不影响使用)
- 在路由器上为设备配置 DMZ 或端口映射
- 联系运营商申请公网 IP
延迟过高
排查步骤:
- 查看节点列表中的延迟数值,判断是 P2P 还是中转
- 如果是中转连接,尝试更换地理位置更近的中转服务器
- 检查中转服务器的网络质量:bash
ping -c 20 your-server-ip traceroute your-server-ip - 如果延迟波动大,可能是服务器负载过高,考虑升级服务器配置
流量无法通过虚拟网络
排查步骤:
- 确认目标节点在线(节点列表中状态为 Online)
- 测试虚拟 IP 连通性:bash
ping 10.144.144.x # 目标节点的虚拟IP - 检查目标节点的防火墙是否放行了来自虚拟网段的流量:bash
# 临时关闭防火墙测试 ufw disable # 或添加规则放行虚拟网段 ufw allow from 10.144.144.0/24 - 检查路由表:bash
ip route show # 确认有 10.144.144.0/24 的路由条目
官方资源
EasyTier 官方资源
- 官方文档:https://easytier.cn/guide/introduction.html
- GitHub 仓库:https://github.com/EasyTier/EasyTier
- 二进制下载:https://github.com/EasyTier/EasyTier/releases
- 支持平台:Linux (x86_64/ARM)、Windows、macOS、Android、OpenWrt
NetPanel 内置 EasyTier
NetPanel 发布包中已内置对应平台的 EasyTier 二进制文件,无需单独下载安装。
公网 IP 要求
EasyTier 服务端需要部署在有公网 IP 的服务器上(如云服务器、VPS),才能被其他设备访问。如果没有公网服务器,可以使用 EasyTier 官方提供的公共服务器(不填写服务器地址时默认使用)。
服务端作用
EasyTier 服务端仅作为中转节点,帮助 NAT 后的设备建立连接。一旦 P2P 直连建立成功,流量将不再经过服务端,服务端不会成为带宽瓶颈。