EasyTier:全功能去中心化内网穿透解决方案
🌐 EasyTier 简介
EasyTier 是一个开源的去中心化 Mesh VPN 解决方案,采用 Rust 语言和 Tokio 框架构建。它提供了简单、安全、高效的内网穿透和组网能力,无需依赖中心化服务即可实现复杂的网络拓扑。
核心特性
✨ 去中心化架构 → 无需中央服务器,节点间直接通信
🔒 多重加密保护 → 支持 AES-GCM 和 WireGuard 加密
🌍 跨平台支持 → Windows、MacOS、Linux、FreeBSD、Android
⚡ 高性能传输 → 零拷贝数据传输,智能路由优化
🛡️ 智能NAT穿透 → 自动建立P2P连接,适应复杂网络环境
🎯 技术优势
特性 | 说明 | 优势 |
---|---|---|
🏗️ 架构设计 | 完全去中心化的网状网络 | 无单点故障,高可用性 |
🚀 性能优化 | 基于 Rust + Tokio 异步框架 | 低延迟、高并发、内存安全 |
🔧 易用性 | Web界面、CLI、图形客户端 | 多种配置方式,降低使用门槛 |
🌐 协议支持 | TCP/UDP/WSS/WireGuard | 适应各种网络环境 |
📱 设备兼容 | 多架构支持 (X86/ARM/MIPS) | 覆盖服务器到嵌入式设备 |
📦 安装部署
1️⃣ 预编译二进制文件(推荐)
访问 GitHub Releases 下载对应平台的预编译包:
# 下载并解压 (以 Linux x64 为例)
wget https://github.com/EasyTier/EasyTier/releases/latest/download/easytier-linux-x86_64-v1.0.0.tar.gz
tar -xzf easytier-linux-x86_64-v1.0.0.tar.gz
cd easytier-linux-x86_64-v1.0.0
# 移动到系统路径
sudo cp easytier-core easytier-cli /usr/local/bin/
# 验证安装
easytier-core --version
包含组件
easytier-core
→ 核心服务程序easytier-cli
→ 命令行管理工具easytier-gui
→ 图形界面程序(部分平台)
2️⃣ Cargo 安装
# 从 crates.io 安装稳定版本
cargo install easytier
# 从源码安装最新开发版
cargo install --git https://github.com/EasyTier/EasyTier.git
3️⃣ Docker 部署
# 拉取镜像
docker pull easytier/easytier:latest
# 运行容器 (特权模式用于网络配置)
docker run -d --name easytier \
--privileged \
--net host \
--restart unless-stopped \
easytier/easytier:latest \
--ipv4 10.144.144.1
4️⃣ 便捷脚本安装
# Linux 一键安装脚本
curl -fsSL https://github.com/EasyTier/EasyTier/raw/main/script/install.sh | bash
# macOS Homebrew 安装
brew install easytier
系统要求
- Linux: 需要 root 权限或 CAP_NET_ADMIN 能力
- 网络: 确保防火墙开放所需端口(默认 11010)
- 依赖: 现代系统无额外依赖,静态链接二进制
🚀 快速开始
以下示例展示命令行工具的使用,图形界面程序可参考相同概念进行配置。
🔗 双节点组网
创建最基础的两节点 Mesh 网络:
网络拓扑图

配置步骤
节点 A(公网服务器)
# 启动 EasyTier 核心服务
sudo easytier-core --ipv4 10.144.144.1
# 成功启动后会显示监听信息
# Listening on: 0.0.0.0:11010

节点 B(内网客户端)
# 连接到节点 A
sudo easytier-core --ipv4 10.144.144.2 --peers udp://22.1.1.1:11010
连接验证
- 测试网络连通性
# 从节点 A ping 节点 B
ping 10.144.144.2
# 从节点 B ping 节点 A
ping 10.144.144.1
- 查看网络状态
# 查看对等节点信息
easytier-cli peer

# 查看路由表
easytier-cli route

::: success 连接成功标志
- ✅ 虚拟 IP 地址可以正常 ping 通
- ✅
easytier-cli peer
显示对端节点状态为 Connected - ✅ 路由表包含对端网络路径信息
:::
🔄 多节点组网
基于双节点网络扩展为多节点 Mesh 拓扑:
# 节点 C 加入现有网络
sudo easytier-core --ipv4 10.144.144.3 --peers udp://22.1.1.1:11010
# 节点 D 加入网络 (可以连接任意现有节点)
sudo easytier-core --ipv4 10.144.144.4 --peers udp://10.144.144.2:11010
网络发现机制
EasyTier 会自动发现网络中的所有节点,新加入的节点会:
- 自动获取完整的网络拓扑信息
- 与所有现有节点建立最优连接路径
- 参与全网的路由信息同步
🌐 子网代理(点对网)配置
实现单个节点代理整个子网的功能,让其他节点访问被代理的网络:
网络拓扑

配置代理节点
节点 B(拥有 10.1.1.0/24 子网访问权限)
# 启动时添加 -n 参数声明代理网段
sudo easytier-core --ipv4 10.144.144.2 \
--peers udp://22.1.1.1:11010 \
-n 10.1.1.0/24
验证代理功能
1. 检查路由同步
# 在其他节点上检查路由表
easytier-cli route
路由表中的 proxy_cidrs
列会显示被代理的子网:
2. 测试跨网段连通性
# 从节点 A 直接访问被代理子网中的设备
ping 10.1.1.2
# 或者使用 SSH 等协议
ssh [email protected]
子网代理注意事项
- 代理节点需要具备实际的子网路由权限
- 被代理设备的网关需要指向代理节点
- 建议在代理节点上启用 IP 转发:
echo 1 > /proc/sys/net/ipv4/ip_forward
🌍 无公网IP组网
利用 EasyTier 的公共中继节点实现全内网环境组网:
使用官方公共节点
EasyTier 提供共享的公网中继节点:tcp://easytier.public.kkrainbow.top:11010
节点 A 配置
sudo easytier-core --ipv4 10.144.144.1 \
--network-name mycompany \
--network-secret mypassword123 \
-e tcp://easytier.public.kkrainbow.top:11010
节点 B 配置
sudo easytier-core --ipv4 10.144.144.2 \
--network-name mycompany \
--network-secret mypassword123 \
-e tcp://easytier.public.kkrainbow.top:11010
网络隔离机制
--network-name
→ 网络名称,相同名称的节点才能互相发现--network-secret
→ 网络密钥,用于身份验证和数据加密- 不同网络完全隔离,确保数据安全
自建中继节点
在有公网 IP 的服务器上部署私有中继节点:
# 启动中继服务
sudo easytier-core --ipv4 10.144.144.254 \
--relay-network-whitelist "*" \
--hostname 0.0.0.0 \
--port 11010
其他节点连接自建中继:
sudo easytier-core --ipv4 10.144.144.1 \
--network-name internal \
--network-secret company2024 \
-e tcp://your-server.com:11010
📱 WireGuard 客户端接入
EasyTier 可作为 WireGuard 服务端,让移动设备等通过标准 WireGuard 客户端接入网络:
网络拓扑

启用 VPN Portal
在网关节点启用 WireGuard 服务
# 监听 11013 端口,为 WireGuard 客户端分配 10.14.14.0/24 网段 IP
sudo easytier-core --ipv4 10.144.144.1 \
--vpn-portal wg://0.0.0.0:11013/10.14.14.0/24
生成客户端配置
获取 WireGuard 配置
easytier-cli vpn-portal
输出示例:
############### client_config_start ###############
[Interface]
PrivateKey = 9VDvlaIC9XHUvRuE06hD2CEDrtGF+0lDthgr9SZfIho=
Address = 10.14.14.0/32 # 需要手动分配此网段内的 IP
[Peer]
PublicKey = zhrZQg4QdPZs8CajT3r4fmzcNsWpBL9ImQCUsnlXyGM=
AllowedIPs = 10.144.144.0/24,10.14.14.0/24
Endpoint = 0.0.0.0:11013 # 需要修改为实际的公网 IP
PersistentKeepalive = 25
############### client_config_end ###############
配置修改说明
修改前后对比
配置项 | 原始值 | 修改后 |
---|---|---|
Address | 10.14.14.0/32 | 10.14.14.10/32 |
Endpoint | 0.0.0.0:11013 | your-server.com:11013 |
最终配置文件
[Interface]
PrivateKey = 9VDvlaIC9XHUvRuE06hD2CEDrtGF+0lDthgr9SZfIho=
Address = 10.14.14.10/32
[Peer]
PublicKey = zhrZQg4QdPZs8CajT3r4fmzcNsWpBL9ImQCUsnlXyGM=
AllowedIPs = 10.144.144.0/24,10.14.14.0/24
Endpoint = your-server.com:11013
PersistentKeepalive = 25
WireGuard 客户端推荐
- iOS: App Store 下载官方 WireGuard 应用
- Android: Google Play 或 F-Droid 下载
- Windows: 下载官方 WireGuard 客户端
- macOS: App Store 或 Homebrew 安装
⚙️ 高级配置
🔧 常用参数详解
查看完整配置选项:
easytier-core --help
网络配置参数
参数 | 说明 | 示例 |
---|---|---|
--ipv4 | 虚拟网络 IPv4 地址 | --ipv4 10.144.144.1 |
--dhcp | 启用 DHCP 自动分配 IP | --dhcp |
--peers | 指定连接的对等节点 | --peers udp://1.2.3.4:11010 |
--external-node | 连接外部中继节点 | -e tcp://relay.com:11010 |
--network-name | 网络名称标识 | --network-name mynet |
--network-secret | 网络访问密钥 | --network-secret password |
高级功能参数
参数 | 说明 | 示例 |
---|---|---|
--proxy-networks | 代理子网声明 | -n 192.168.1.0/24 |
--vpn-portal | VPN 网关配置 | --vpn-portal wg://0.0.0.0:11013/10.1.1.0/24 |
--relay-network-whitelist | 中继网络白名单 | --relay-network-whitelist "net1,net2" |
--hostname | 监听地址绑定 | --hostname 0.0.0.0 |
--port | 监听端口设置 | --port 11010 |
📊 网络监控与管理
实时状态查询
# 查看节点连接状态
easytier-cli peer
# 查看路由表信息
easytier-cli route
# 查看网络统计
easytier-cli node
# 查看 VPN 网关状态
easytier-cli vpn-portal
性能优化配置
1. 连接优化
# 启用多路径传输
sudo easytier-core --ipv4 10.144.144.1 \
--multi-thread \
--compression
# 调整心跳间隔
sudo easytier-core --ipv4 10.144.144.1 \
--keepalive-interval 30
2. 安全加固
# 指定加密算法
sudo easytier-core --ipv4 10.144.144.1 \
--cipher aes-gcm
# 启用严格验证模式
sudo easytier-core --ipv4 10.144.144.1 \
--verify-mode strict
🐳 容器化部署
Docker Compose 配置
version: '3.8'
services:
easytier-gateway:
image: easytier/easytier:latest
container_name: easytier-gateway
privileged: true
network_mode: host
restart: unless-stopped
command: >
--ipv4 10.144.144.1
--network-name production
--network-secret ${EASYTIER_SECRET}
--proxy-networks 172.20.0.0/16
--vpn-portal wg://0.0.0.0:11013/10.14.14.0/24
environment:
- EASYTIER_SECRET=your-secret-key-here
volumes:
- ./data:/app/data
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
easytier-client:
image: easytier/easytier:latest
container_name: easytier-client
privileged: true
network_mode: host
restart: unless-stopped
command: >
--ipv4 10.144.144.10
--network-name production
--network-secret ${EASYTIER_SECRET}
--peers udp://gateway-server.com:11010
environment:
- EASYTIER_SECRET=your-secret-key-here
depends_on:
- easytier-gateway
启动服务:
# 设置环境变量
export EASYTIER_SECRET="your-strong-password-2024"
# 启动容器
docker-compose up -d
# 查看日志
docker-compose logs -f
🔍 故障排查与维护
🚨 常见问题解决
连接问题排查
问题:节点无法建立连接
排查步骤:
- 检查网络连通性
# 测试端口连通性
telnet target-ip 11010
# 检查防火墙设置
sudo ufw status
sudo iptables -L INPUT -n
- 验证配置参数
# 确认网络名称和密钥一致
easytier-cli node | grep -E "(network_name|network_secret)"
- 查看详细日志
# 启动时开启详细日志
sudo easytier-core --ipv4 10.144.144.1 --verbose
性能问题优化
问题:数据传输速度慢
优化方案:
- 启用性能优化选项
sudo easytier-core --ipv4 10.144.144.1 \
--multi-thread \
--no-encryption \ # 内网环境可考虑
--mtu 1500
- 检查路由路径
# 查看数据包路径
easytier-cli route
traceroute -n 10.144.144.2
- 监控网络延迟
# 持续监控延迟
ping -i 0.2 10.144.144.2
# 使用 mtr 分析路径
mtr --report --report-cycles 10 10.144.144.2
安全配置检查
问题:网络安全加固
安全检查清单:
# 1. 验证加密状态
easytier-cli node | grep cipher
# 2. 检查网络隔离
easytier-cli peer | grep network_name
# 3. 审计连接日志
tail -f /var/log/easytier/easytier.log | grep -E "(connected|disconnected)"
# 4. 验证防火墙规则
sudo iptables -A INPUT -p udp --dport 11010 -s trusted-ip -j ACCEPT
sudo iptables -A INPUT -p udp --dport 11010 -j DROP
📈 监控与日志
系统集成监控
Prometheus 监控配置
# easytier-exporter.yml
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'easytier'
static_configs:
- targets: ['localhost:9090']
metrics_path: '/metrics'
scrape_interval: 30s
Grafana Dashboard JSON
{
"dashboard": {
"title": "EasyTier Network Monitor",
"panels": [
{
"title": "Network Peers",
"type": "stat",
"targets": [
{
"expr": "easytier_peers_total",
"legendFormat": "Connected Peers"
}
]
}
]
}
}
日志管理
启用日志记录
# 配置日志输出
sudo easytier-core --ipv4 10.144.144.1 \
--log-level info \
--log-file /var/log/easytier/easytier.log
日志轮转配置 (logrotate)
# /etc/logrotate.d/easytier
/var/log/easytier/*.log {
daily
rotate 7
compress
delaycompress
create 644 root root
postrotate
/usr/bin/systemctl reload easytier
endscript
}
🎯 使用场景与最佳实践
💼 企业组网场景
1. 分支机构互联
# 总部网关
sudo easytier-core --ipv4 10.144.144.1 \
--proxy-networks 192.168.1.0/24 \
--vpn-portal wg://0.0.0.0:11013/10.14.14.0/24
# 分支机构 A
sudo easytier-core --ipv4 10.144.144.10 \
--proxy-networks 192.168.10.0/24 \
--peers udp://hq.company.com:11010
# 分支机构 B
sudo easytier-core --ipv4 10.144.144.20 \
--proxy-networks 192.168.20.0/24 \
--peers udp://hq.company.com:11010
2. 远程办公接入
# 公司网关配置
sudo easytier-core --ipv4 10.144.144.1 \
--network-name company-vpn \
--network-secret ${COMPANY_VPN_KEY} \
--proxy-networks 10.0.0.0/8,172.16.0.0/12 \
--vpn-portal wg://0.0.0.0:11013/10.200.0.0/24
🏠 家庭网络应用
智能家居设备管理
# 家庭网关
sudo easytier-core --ipv4 10.144.144.1 \
--network-name home-network \
--network-secret home2024 \
--proxy-networks 192.168.1.0/24
# 外网访问配置
# 手机通过 WireGuard 客户端接入
🎮 游戏联机场景
本地联机游戏
# 玩家 A (主机)
sudo easytier-core --ipv4 10.144.144.1 \
--network-name gaming-session \
--network-secret game2024
# 其他玩家
sudo easytier-core --ipv4 10.144.144.2 \
--network-name gaming-session \
--network-secret game2024 \
-e tcp://easytier.public.kkrainbow.top:11010
📊 最佳实践建议
网络规划建议
IP 地址分配
- 使用 10.144.144.0/24 作为 Mesh 网络段
- 各子网使用不同的私有网段避免冲突
- 为 WireGuard 客户端预留专用网段
安全配置
- 使用强密码作为网络密钥
- 定期更换访问凭证
- 在生产环境启用加密传输
性能优化
- 核心节点部署在网络条件好的位置
- 启用多线程提高并发性能
- 根据实际情况调整 MTU 值
🏆 总结
EasyTier 作为下一代内网穿透解决方案,凭借其去中心化架构、跨平台支持和强大的功能特性,为各种网络组网需求提供了优雅的解决方案。
🌟 核心价值
- 🔒 安全可靠 → 端到端加密,无中央服务器风险
- ⚡ 高效性能 → Rust 语言构建,零拷贝传输优化
- 🛠️ 易于使用 → 多种配置方式,降低技术门槛
- 🌐 功能完整 → 支持子网代理、WireGuard 接入等高级功能