HMK's blog

保持思考|00后|等待


  • Home
  • Archive
  • Tags
  •   

© 2026 Hekang

Theme Typography by Makito

Proudly published with Hexo

easytier-tutorial

Posted at 2026-07-20 network 

EasyTier 异地组网

用开源工具把分散在多地的设备组成一个虚拟局域网,零配置内网穿透,P2P 直连,延迟更低。


目录

  1. 什么是 EasyTier
  2. 核心原理
  3. 典型应用场景
  4. 安装部署
  5. 实操:30 分钟搭好你的虚拟局域网
  6. 进阶配置
  7. 生产环境最佳实践
  8. 常见问题排查

1. 什么是 EasyTier

EasyTier 是一个用 Rust 和 Tokio 编写的轻量级、高性能的去中心化异地组网工具。它可以将分布在不同网络环境(家庭宽带、云服务器、4G/5G、公司网络)下的设备,通过互联网连接成一个虚拟局域网(SD-WAN),让设备之间像在同一内网一样直接通信。

核心特性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
mindmap
root((EasyTier))
去中心化
无单点故障
节点平等独立
无需中心服务器
高性能
Rust + Tokio
UDP+TCP 双通道
对称NAT突破率98%
易用性
一条命令加入
自动分配IP
零配置
安全性
端到端加密
中继无法解密
mTLS 支持
多平台
Linux / Windows
macOS / OpenWrt
Android / iOS

与其他方案对比

方案 P2P 直连 配置复杂度 开源 自建节点 NAT穿透
EasyTier ✅ 极低 ✅ 可选 UDP+TCP双通道
Tailscale ✅ 低 部分 可选(DERP) UDP单通道
ZeroTier ✅ 低 部分 可选 UDP单通道
OpenVPN ❌ 高 ✅ 必须 需公网IP
WireGuard 点对点 中 ✅ 必须 需配置
frp ❌ 中 ✅ 必须 需公网IP

2. 核心原理

2.1 整体架构

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
26
27
28
29
graph TB
subgraph "虚拟网络 (10.144.0.0/24)"
A[设备A<br/>10.144.0.1<br/>家庭宽带]
B[设备B<br/>10.144.0.2<br/>云服务器]
C[设备C<br/>10.144.0.3<br/>4G手机]
D[设备D<br/>10.144.0.4<br/>办公室]
end

subgraph "物理网络"
N1[NAT/路由器]
N2[NAT/路由器]
N3[4G基站]
N4[公司防火墙]
end

A --- N1
B --> |公网IP| B
C --- N3
D --- N4

A <--> |P2P直连 / 中继| B
B <--> |中继转发| C
A <--> |P2P直连| D
C <--> |中继| D

style A fill:#e1f5fe
style B fill:#fff3e0
style C fill:#e8f5e9
style D fill:#fce4ec

关键点:

  • 所有设备被分配到同一个虚拟 IP 段(如 10.144.0.0/24)
  • 每台设备创建虚拟网卡(TUN),应用访问虚拟 IP 时流量由 EasyTier 接管
  • 节点间优先 P2P 直连,失败时自动走中继

2.2 数据流转流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sequenceDiagram
participant App as 应用程序
participant OS as 操作系统
participant TUN as 虚拟网卡(tun0)
participant ET as EasyTier
participant PHY as 物理网卡
participant Net as 互联网
participant ET2 as 对端EasyTier
participant TUN2 as 对端虚拟网卡
participant App2 as 目标应用

App->>OS: 访问 10.144.0.2:8080
OS->>TUN: 路由到 tun0 (10.144.0.0/24)
TUN->>ET: 数据包
ET->>ET: 查找路由 + 加密封装
ET->>PHY: 发送到物理网卡
PHY->>Net: 互联网传输
Net->>ET2: 到达对端
ET2->>ET2: 解密解封装
ET2->>TUN2: 写入虚拟网卡
TUN2->>App2: 目标应用收到数据

Note over ET,ET2: 全程端到端加密<br/>中继节点无法解密

2.3 P2P 打洞流程(UDP Hole Punching)

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
26
27
28
sequenceDiagram
participant A as 设备A<br/>(NAT后)
participant STUN as STUN服务器
participant B as 设备B<br/>(NAT后)

Note over A,B: 第1步:获取公网地址
A->>STUN: 请求公网地址
STUN-->>A: A_pub = 1.2.3.4:12345
B->>STUN: 请求公网地址
STUN-->>B: B_pub = 5.6.7.8:54321

Note over A,B: 第2步:交换地址(通过信令服务器)
A->>B: 我的地址是 A_pub
B->>A: 我的地址是 B_pub

Note over A,B: 第3步:同时向对方打洞
A->>B: 探测包 → B_pub (5.6.7.8:54321)
B->>A: 探测包 → A_pub (1.2.3.4:12345)

Note over A,B: 第4步:NAT打洞成功
A->>A: NAT表建立映射
B->>B: NAT表建立映射

Note over A,B: 第5步:P2P直连建立
A-->>B: ✅ 直连通道建立
B-->>A: ✅ 业务数据直连传输

Note over A,B: EasyTier使用UDP+TCP双通道<br/>对称NAT突破率达98%

2.4 中继转发流程(打洞失败时)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
sequenceDiagram
participant A as 设备A<br/>(对称NAT)
participant Relay as 公共中继节点
participant B as 设备B<br/>(对称NAT)

Note over A,B: P2P打洞失败<br/>自动切换到中继模式

A->>Relay: 建立加密隧道
B->>Relay: 建立加密隧道

Note over A,B: 端到端加密<br/>中继只转发密文

A->>Relay: 加密数据包
Relay->>B: 转发加密数据包
Note right of Relay: 中继无法解密<br/>只看到密文
B->>B: 解密得到原始数据

B->>Relay: 加密回包
Relay->>A: 转发加密回包
A->>A: 解密得到原始数据

Note over A,B: 中继模式下延迟略高<br/>但可用性100%保证

2.5 子网路由广播

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
26
27
28
29
30
graph LR
subgraph "公司网络 192.168.1.0/24"
S1[服务器<br/>192.168.1.10]
S2[打印机<br/>192.168.1.20]
EA[EasyTier节点A<br/>10.144.0.1<br/>--networks 192.168.1.0/24]
end

subgraph "虚拟网络"
EA <--> |虚拟链路| EB
EB <--> |虚拟链路| EC
end

subgraph "家庭网络 192.168.2.0/24"
EB[EasyTier节点B<br/>10.144.0.2<br/>--networks 192.168.2.0/24]
NAS[NAS<br/>192.168.2.100]
PC[PC<br/>192.168.2.101]
end

subgraph "4G手机"
EC[EasyTier节点C<br/>10.144.0.3]
end

EC --> |访问 192.168.1.10| EA
EA --> |转发到 192.168.1.10| S1
EC --> |访问 192.168.2.100| EB
EB --> |转发到 192.168.2.100| NAS

style EA fill:#bbdefb
style EB fill:#c8e6c9
style EC fill:#fff9c4

工作原理:

  1. 节点A启动时加 --networks 192.168.1.0/24,将该子网广播到虚拟网络
  2. 其他节点自动添加路由:192.168.1.0/24 → 10.144.0.1
  3. 访问 192.168.1.10 的流量 → 走虚拟网卡 → 到节点A → 转发到真实服务器

3. 典型应用场景

场景 1:远程办公访问公司内网

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
graph LR
subgraph "家中"
Home[你的电脑<br/>10.144.0.2]
end

subgraph "公司"
OA[OA系统<br/>192.168.1.100]
Git[GitLab<br/>192.168.1.101]
DB[数据库<br/>192.168.1.200]
Gateway[EasyTier网关<br/>10.144.0.1]
end

subgraph "EasyTier虚拟网络"
Home <-->|P2P直连| Gateway
Gateway --> OA
Gateway --> Git
Gateway --> DB
end

style Home fill:#e3f2fd
style Gateway fill:#fff3e0

效果:

  • 在家直接通过 192.168.1.x 访问公司所有内网服务
  • 无需 VPN 客户端,无需修改应用配置
  • P2P 直连,延迟低

场景 2:家庭 NAS / 媒体服务器远程访问

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
26
graph TB
subgraph "外网环境"
Phone[手机 4G]
Laptop[笔记本 酒店WiFi]
end

subgraph "家庭网络"
Router[路由器]
NAS[NAS<br/>Jellyfin + SMB]
Camera[监控摄像头]
EasyTierNode[EasyTier节点]
end

subgraph "EasyTier虚拟网络"
Phone <-->|P2P| EasyTierNode
Laptop <-->|P2P| EasyTierNode
EasyTierNode --> NAS
EasyTierNode --> Camera
end

Router --> Internet((互联网))
Phone --> Internet
Laptop --> Internet

style NAS fill:#e8f5e9
style EasyTierNode fill:#fff3e0

效果:

  • 不用公网 IP、不用 DDNS、不用端口映射
  • 随时随地访问家里 NAS、监控
  • 安全加密,不怕被扫描

场景 3:多地服务器互联

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
26
graph TB
subgraph "阿里云"
ECS1[ECS<br/>10.144.0.1<br/>数据库主节点]
end

subgraph "腾讯云"
CVM1[CVM<br/>10.144.0.2<br/>应用服务]
end

subgraph "华为云"
ECS2[ECS<br/>10.144.0.3<br/>缓存/日志]
end

subgraph "自建机房"
Server[物理服务器<br/>10.144.0.4<br/>备份存储]
end

ECS1 <-->|EasyTier| CVM1
CVM1 <-->|EasyTier| ECS2
ECS2 <-->|EasyTier| Server
Server <-->|EasyTier| ECS1

style ECS1 fill:#e3f2fd
style CVM1 fill:#fff3e0
style ECS2 fill:#e8f5e9
style Server fill:#fce4ec

效果:

  • 跨云厂商内网互通
  • 比公网访问更安全
  • 比云互联(CEN/对等连接)更便宜

场景 4:游戏联机

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
26
27
28
29
graph LR
subgraph "房主 (无公网IP)"
GameServer[游戏服务端<br/>Minecraft/幻兽帕鲁]
Host[EasyTier节点<br/>10.144.0.1]
end

subgraph "朋友A"
FriendA[EasyTier节点<br/>10.144.0.2]
ClientA[游戏客户端]
end

subgraph "朋友B"
FriendB[EasyTier节点<br/>10.144.0.3]
ClientB[游戏客户端]
end

Host <-->|P2P直连| FriendA
Host <-->|P2P直连| FriendB
FriendA <-->|P2P| FriendB

Host --> GameServer
FriendA --> ClientA
FriendB --> ClientB

ClientA -->|连接 10.144.0.1:25565| GameServer
ClientB -->|连接 10.144.0.1:25565| GameServer

style Host fill:#c8e6c9
style GameServer fill:#fff9c4

效果:

  • 无需公网 IP、无需端口转发
  • 朋友通过虚拟 IP 直连游戏服务器
  • P2P 直连,延迟更低

4. 安装部署

4.1 安装方式总览

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
graph TD
Start[选择平台] --> Linux
Start --> Windows
Start --> macOS
Start --> Mobile

Linux --> L1[一键脚本<br/>推荐]
Linux --> L2[手动二进制]
Linux --> L3[Docker]
Linux --> L4[OpenWrt]

Windows --> W1[GUI客户端<br/>推荐]
Windows --> W2[命令行]
Windows --> W3[Windows服务]

macOS --> M1[Homebrew]
macOS --> M2[手动下载]

Mobile --> Mob1[Android APK]
Mobile --> Mob2[iOS App Store]

style L1 fill:#c8e6c9
style W1 fill:#c8e6c9
style M1 fill:#c8e6c9

4.2 Linux 安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 方式一:一键安装脚本(推荐)
curl -fsSL https://raw.githubusercontent.com/EasyTier/EasyTier/main/script/install.sh | bash

# 安装完成后验证
easytier --version

# 方式二:手动安装
wget https://github.com/EasyTier/EasyTier/releases/latest/download/easytier-linux-x86_64.tar.gz
tar -xzf easytier-linux-x86_64.tar.gz
sudo install easytier-core /usr/local/bin/
sudo install easytier-cli /usr/local/bin/

# 方式三:Docker
docker run -d \
--name easytier \
--restart=always \
--cap-add=NET_ADMIN \
--device=/dev/net/tun \
-v /etc/easytier:/etc/easytier \
easytier/easytier:latest \
easytier-core --config-file /etc/easytier/config.toml

4.3 Windows 安装

方式一:图形客户端(推荐)

  1. 前往 GitHub Releases
  2. 下载 easytier-gui_xxx_setup.exe
  3. 安装运行,切换为中文
  4. 开启开机自启

方式二:命令行

1
2
# 下载解压后运行
.\easytier-core.exe --network-name mynetwork --network-password yourpassword

4.4 macOS 安装

1
2
3
4
# Homebrew(推荐)
brew install easytier

# 或手动下载二进制

4.5 OpenWrt 安装

参考项目:https://github.com/EasyTier/luci-app-easytier

4.6 移动端

  • Android:GitHub Releases 下载 APK
  • iOS:App Store 搜索 “EasyTier”

5. 实操:30 分钟搭好你的虚拟局域网

实验环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
graph TB
subgraph "实验拓扑"
subgraph "节点B:云服务器(公网IP)"
B[Ubuntu 22.04<br/>10.144.0.1<br/>公共中继节点]
end

subgraph "节点A:家庭宽带(NAT后)"
A[Ubuntu 22.04<br/>10.144.0.2<br/>子网代理节点]
HomeLAN[家庭局域网<br/>192.168.1.0/24]
A --- HomeLAN
end

subgraph "节点C:4G手机/笔记本"
C[Windows 11<br/>10.144.0.3<br/>普通节点]
end
end

A <-->|P2P/中继| B
C <-->|P2P/中继| B
A <-->|P2P直连| C

style B fill:#fff3e0
style A fill:#e3f2fd
style C fill:#e8f5e9

第一步:部署公共中继节点(云服务器)

有一台公网服务器作为中继,可以显著提升打洞成功率并作为后备通道。

1
2
3
4
5
6
7
8
9
10
11
12
# 安装
curl -fsSL https://raw.githubusercontent.com/EasyTier/EasyTier/main/script/install.sh | bash

# 启动中继节点
sudo easytier-core \
--network-name my-vpn \
--network-password MySecurePass123 \
--ipv4 10.144.0.1 \
--listeners \
tcp://0.0.0.0:11010 \
udp://0.0.0.0:11010 \
wg://0.0.0.0:11011

参数说明:

参数 说明
--network-name 网络名称,所有节点必须一致
--network-password 网络密码,用于身份验证
--ipv4 该节点在虚拟网络中的 IP
--listeners 监听地址,供其他节点连入

第二步:创建 systemd 服务(持久化)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
sudo tee /etc/systemd/system/easytier.service > /dev/null <<'EOF'
[Unit]
Description=EasyTier VPN Node
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/easytier-core \
--network-name my-vpn \
--network-password MySecurePass123 \
--ipv4 10.144.0.1 \
--listeners tcp://0.0.0.0:11010 udp://0.0.0.0:11010 wg://0.0.0.0:11011
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now easytier
sudo systemctl status easytier

第三步:节点A(家庭Ubuntu)加入网络

1
2
3
4
5
6
7
8
9
10
# 安装
curl -fsSL https://raw.githubusercontent.com/EasyTier/EasyTier/main/script/install.sh | bash

# 加入网络(带子网代理)
sudo easytier-core \
--network-name my-vpn \
--network-password MySecurePass123 \
--ipv4 10.144.0.2 \
--peers tcp://<云服务器公网IP>:11010 \
--networks 192.168.1.0/24

第四步:节点C(Windows)加入网络

方式一:命令行

1
easytier-core.exe --network-name my-vpn --network-password MySecurePass123 --ipv4 10.144.0.3 --peers tcp://<云服务器公网IP>:11010

方式二:图形界面

  1. 运行 easytier-gui.exe
  2. 网络名称:my-vpn
  3. 密码:MySecurePass123
  4. 中继节点:tcp://<云服务器公网IP>:11010
  5. 点击连接

第五步:验证连通性

1
2
3
4
5
6
7
8
9
10
11
# 在节点C(Windows)上测试
ping 10.144.0.1 # 云服务器
ping 10.144.0.2 # 家庭Ubuntu
ping 192.168.1.100 # 家庭NAS(子网代理)

# 查看路由
route print | findstr 10.144

# 查看EasyTier状态
easytier-cli peer list
easytier-cli route list

验证结果

1
2
3
4
5
6
7
8
9
graph LR
C[节点C<br/>Windows] -->|✅ 直连/中继| B[节点B<br/>云服务器]
C -->|✅ P2P直连| A[节点A<br/>家庭Ubuntu]
C -->|✅ 子网代理| NAS[家庭NAS<br/>192.168.1.100]

style C fill:#e8f5e9
style B fill:#fff3e0
style A fill:#e3f2fd
style NAS fill:#fce4ec

6. 进阶配置

6.1 使用配置文件(推荐)

/etc/easytier/config.toml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[network]
name = "my-vpn"
password = "MySecurePass123"

[peer]
ipv4 = "10.144.0.1"

[listeners]
tcp = "0.0.0.0:11010"
udp = "0.0.0.0:11010"
wg = "0.0.0.0:11011"

# 子网代理(可选)
[[routes]]
network = "192.168.1.0/24"

# P2P 打洞配置
[p2p]
stun_server = "stun:stun.easytier.cn:3478"
enable_udp_hole_punching = true

# 加密(默认开启)
[encryption]
enabled = true

启动:

1
easytier-core --config-file /etc/easytier/config.toml

6.2 多路径加速

1
2
3
4
5
6
7
8
9
10
graph LR
A[节点A] -->|TCP| B[节点B]
A -->|UDP| B
A -->|WireGuard| B
A -->|QUIC| B

Note[A: 多路径并行传输<br/>提升带宽和可靠性]

style A fill:#e3f2fd
style B fill:#fff3e0
1
2
3
4
5
6
easytier-core \
--network-name my-vpn \
--network-password MySecurePass123 \
--peers tcp://1.2.3.4:11010 \
--peers udp://1.2.3.4:11010 \
--peers wg://1.2.3.4:11011

6.3 部署拓扑选择

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
26
graph TB
subgraph "拓扑1:星型(单中继)"
R1[中继服务器]
C1[客户端1] --> R1
C2[客户端2] --> R1
C3[客户端3] --> R1
end

subgraph "拓扑2:Mesh(全互联)"
M1[节点1] <--> M2[节点2]
M2 <--> M3[节点3]
M3 <--> M1
M1 <--> M4[节点4]
end

subgraph "拓扑3:混合(推荐)"
H1[公共中继]
H2[节点A] <--> H1
H3[节点B] <--> H1
H4[节点C] <--> H1
H2 <-->|P2P| H3
H3 <-->|P2P| H4
end

style R1 fill:#fff3e0
style H1 fill:#fff3e0

6.4 安全加固

1
2
3
4
5
6
7
8
9
10
11
12
13
# 1. 生成强密码
openssl rand -base64 24

# 2. 防火墙配置
sudo ufw allow 11010/tcp
sudo ufw allow 11010/udp
sudo ufw allow 11011/udp

# 3. 限制监听IP
--listeners tcp://10.0.0.5:11010

# 4. 禁用P2P(强制中继,高安全场景)
--disable-p2p --peers tcp://<中继IP>:11010

6.5 限速与 QoS

1
2
3
4
5
easytier-core \
--network-name my-vpn \
--network-password MySecurePass123 \
--limit-upload 10mbps \
--limit-download 50mbps

7. 生产环境最佳实践

7.1 高可用部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
graph TB
subgraph "中继节点集群"
RelayA[中继A<br/>主节点]
RelayB[中继B<br/>备节点]
RelayC[中继C<br/>备节点]
end

Client[客户端] --> RelayA
Client --> RelayB
Client --> RelayC

RelayA --> RelayB
RelayB --> RelayC

style RelayA fill:#c8e6c9
style RelayB fill:#fff9c4
style RelayC fill:#fff9c4
1
2
# 客户端同时连接多个中继
--peers tcp://relay-a:11010 --peers tcp://relay-b:11010 --peers tcp://relay-c:11010

7.2 监控体系

1
2
3
4
5
6
7
8
9
10
11
12
graph LR
ET[EasyTier节点] -->|暴露指标| Prometheus
Prometheus --> Grafana
Grafana --> AlertManager
AlertManager --> Email/Slack

ET -->|日志| Journalctl
Journalctl --> Loki
Loki --> Grafana

style ET fill:#e3f2fd
style Grafana fill:#fff3e0
1
2
3
4
5
6
7
8
9
# 查看节点状态
easytier-cli peer list
easytier-cli node info
easytier-cli route list

# Prometheus 指标(config.toml)
[metrics]
enabled = true
listen = "0.0.0.0:9100"

7.3 日志收集

1
2
3
4
5
6
7
8
# 调试模式
RUST_LOG=debug easytier-core --config-file /etc/easytier/config.toml

# journald 查看
journalctl -u easytier -f --no-pager

# 日志级别
# error < warn < info < debug < trace

8. 常见问题排查

排查流程图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
flowchart TD
Start[连接问题] --> Check1{服务运行?}
Check1 -->|否| Fix1[启动服务<br/>systemctl start easytier]
Check1 -->|是| Check2{虚拟网卡存在?}

Check2 -->|否| Fix2[检查TUN设备<br/>/dev/net/tun]
Check2 -->|是| Check3{路由正确?}

Check3 -->|否| Fix3[添加路由<br/>ip route add ...]
Check3 -->|是| Check4{防火墙放行?}

Check4 -->|否| Fix4[开放端口<br/>ufw allow 11010]
Check4 -->|是| Check5{对端可达?}

Check5 -->|否| Fix5[检查中继配置<br/>--peers 参数]
Check5 -->|是| Check6{P2P打洞成功?}

Check6 -->|否| Fix6[检查NAT类型<br/>或使用中继]
Check6 -->|是| Success[连接正常✅]

style Start fill:#ffcdd2
style Success fill:#c8e6c9

常见问题速查表

问题 可能原因 解决方案
节点无法连通 服务未启动 systemctl start easytier
虚拟网卡不存在 TUN设备缺失 检查 /dev/net/tun,Docker需 --cap-add=NET_ADMIN
无法访问子网 IP转发未开启 echo 1 > /proc/sys/net/ipv4/ip_forward
P2P打洞失败 对称型NAT 使用自建中继节点
速度很慢 走中继模式 检查连接类型,尝试多路径
子网代理不生效 防火墙阻止 iptables -A FORWARD -i tun+ -j ACCEPT

调试命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 1. 检查服务状态
systemctl status easytier
journalctl -u easytier -f

# 2. 检查虚拟网卡
ip addr | grep 10.144
ip route | grep 10.144

# 3. 检查防火墙
sudo iptables -L -n | grep 11010
sudo ufw status

# 4. EasyTier CLI
easytier-cli peer list # 查看对等节点
easytier-cli route list # 查看路由
easytier-cli node info # 节点信息
easytier-cli ping 10.144.0.2 # 测试延迟

# 5. 抓包分析
sudo tcpdump -i tun0 -nn # 虚拟网卡
sudo tcpdump -i eth0 port 11010 # 物理网卡

个人环境

公网服务器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 [root@hmk ~ ]# cat /etc/systemd/system/easytier.service
[Unit]
Description=EasyTier Service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/easytier-core --hostname hmk --private-mode true --network-name hmknet --network-secret QuxUQD3j/bO0sWlEjPubmlrB/+3K14dW -l 40005 -i 10.60.0.1 --secure-mode --local-private-key yvl4OASbjJ3okjCFSZaNT6ASWvFJIuFv6pK3bu8GRBA= --compression zstd
Restart=always
RestartSec=3
LimitNOFILE=1048576
Environment=TOKIO_CONSOLE=1

[Install]
WantedBy=multi-user.target

内网家里

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
root@test:/etc/easytier# cat docker-compose.yaml
services:
# watchtower 用于自动更新 EasyTier 镜像,若不需要可以删除此节
watchtower:
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nickfedor/watchtower:1.17.1
container_name: watchtower
restart: unless-stopped
environment:
- TZ=Asia/Shanghai
- WATCHTOWER_NO_STARTUP_MESSAGE
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: --interval 3600 --cleanup --label-enable

easytier:
# 国内用户可以使用 daocloud.io 镜像
image: m.daocloud.io/docker.io/easytier/easytier:v2.6.4
hostname: easytier
container_name: easytier
labels:
com.centurylinklabs.watchtower.enable: 'true'
restart: unless-stopped
network_mode: host
cap_add:
- NET_ADMIN
- NET_RAW
environment:
- TZ=Asia/Shanghai
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- /etc/machine-id:/etc/machine-id:ro
- ./conf:/config
command: >
--hostname test
-d --network-name hmknet --network-secret QuxUQD3j/bO0sWlEjPubmlrB/+3K14dW
-i 10.70.0.0/16
-n 192.168.11.0/24
-n 172.128.80.0/24
-l 40005
--secure-mode
--need-p2p
-p udp://公网ip:40005

image-20260720164632859

附录:常用命令速查

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 启动节点
easytier-core --config-file /etc/easytier/config.toml

# 查看状态
easytier-cli node info
easytier-cli peer list
easytier-cli route list

# 测试延迟
easytier-cli ping 10.144.0.2

# 查看版本
easytier --version

# 生成强密码
openssl rand -base64 24

📝 小结:EasyTier 的核心价值在于去中心化 + P2P 直连 + 开源免费。
对于个人和小团队,一台云服务器做中继 + 各设备安装客户端,即可在 30 分钟内搭好跨地域虚拟局域网。
它比传统 VPN 更简单,比 frp 等内网穿透工具更高效(P2P 直连),比 ZeroTier/Tailscale 更适合国内网络(UDP+TCP双通道,对称NAT突破率98%)。

Share 

 Previous post: prometheus Next post: magic 

© 2026 Hekang

Theme Typography by Makito

Proudly published with Hexo