Skip to content

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监听协议:tcpudpwswss

协议选择建议

协议穿透能力性能适用场景
tcp默认推荐,兼容性最好
udp最高网络质量好时优先选择
ws需要穿透 HTTP 代理时
wss最高需要穿透 HTTPS 防火墙时

配置示例

基础中转服务器

字段
名称中转服务器
监听端口11010
监听协议tcp

配置完成后,在 EasyTier 客户端的服务器地址中填写:tcp://本机公网IP:11010

多协议监听(提高穿透成功率)

同时创建多个服务端实例,分别监听不同协议:

实例名称监听端口协议
中转-TCP11010tcp
中转-UDP11010udp
中转-WS11011ws

客户端配置多个服务器地址,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 NATSymmetric NAT 或无法打洞时

性能优化建议

降低延迟

  1. 选择地理位置近的中转服务器:服务器距离越近,中转延迟越低
  2. 启用延迟优先模式:在客户端配置中开启"延迟优先",EasyTier 会优先选择延迟最低的路径
  3. 优先使用 UDP 协议:UDP 比 TCP 延迟更低,在网络质量好时优先选择
  4. 减少中转跳数:尽量让节点直接连接到中转服务器,避免多级中转

提高稳定性

  1. 配置多个服务器地址:客户端配置多个中转服务器,主服务器故障时自动切换
  2. 使用 WS/WSS 协议:在严格防火墙环境下,WebSocket 协议穿透能力更强
  3. 定期检查节点状态:通过节点列表监控各节点的在线状态和延迟变化

服务器配置优化

bash
# 调整系统网络参数(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

防火墙配置

bash
# 放行 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

常见问题排查

节点显示离线

排查步骤:

  1. 检查网络连接

    bash
    # 测试能否连接到中转服务器
    ping your-server-ip
    telnet your-server-ip 11010
  2. 验证网络名称和密码

    • 确认所有节点的"网络名称"完全一致(区分大小写)
    • 确认所有节点的"网络密码"完全一致
  3. 检查服务端是否正常运行

    • 在 NetPanel 中查看 EasyTier 服务端的运行状态
    • 查看服务端日志是否有错误信息
  4. 检查防火墙

    bash
    # 检查端口是否开放
    ss -tlnp | grep 11010
    # 检查防火墙规则
    ufw status
  5. 查看客户端日志

    • 在 NetPanel → 系统日志 中查看 EasyTier 相关日志
    • 关注 ERRORWARN 级别的日志

P2P 直连无法建立

可能原因:

  • 双方都处于 Symmetric NAT 环境(运营商级 NAT)
  • 防火墙阻止了 UDP 打洞包

解决方案:

  • 使用中转服务器连接(正常功能,不影响使用)
  • 在路由器上为设备配置 DMZ 或端口映射
  • 联系运营商申请公网 IP

延迟过高

排查步骤:

  1. 查看节点列表中的延迟数值,判断是 P2P 还是中转
  2. 如果是中转连接,尝试更换地理位置更近的中转服务器
  3. 检查中转服务器的网络质量:
    bash
    ping -c 20 your-server-ip
    traceroute your-server-ip
  4. 如果延迟波动大,可能是服务器负载过高,考虑升级服务器配置

流量无法通过虚拟网络

排查步骤:

  1. 确认目标节点在线(节点列表中状态为 Online)
  2. 测试虚拟 IP 连通性:
    bash
    ping 10.144.144.x   # 目标节点的虚拟IP
  3. 检查目标节点的防火墙是否放行了来自虚拟网段的流量:
    bash
    # 临时关闭防火墙测试
    ufw disable
    # 或添加规则放行虚拟网段
    ufw allow from 10.144.144.0/24
  4. 检查路由表:
    bash
    ip route show
    # 确认有 10.144.144.0/24 的路由条目

官方资源

EasyTier 官方资源

NetPanel 内置 EasyTier

NetPanel 发布包中已内置对应平台的 EasyTier 二进制文件,无需单独下载安装。

公网 IP 要求

EasyTier 服务端需要部署在有公网 IP 的服务器上(如云服务器、VPS),才能被其他设备访问。如果没有公网服务器,可以使用 EasyTier 官方提供的公共服务器(不填写服务器地址时默认使用)。

服务端作用

EasyTier 服务端仅作为中转节点,帮助 NAT 后的设备建立连接。一旦 P2P 直连建立成功,流量将不再经过服务端,服务端不会成为带宽瓶颈。

基于 GPL-3.0 许可证发布