1. 什么是 EasyTier?

EasyTier 是一款轻量级的点对点 VPN 软件,通过中继服务器实现多个节点的互联,支持多种协议(TCP、UDP、WireGuard、WebSocket等),支持加密和 IPv6。


2. 环境准备

  • 一台公网服务器作为 中继节点(relay server),必须有固定公网 IP,且 11010、11011 等端口允许外部访问。

  • 多台客户端(或其他中继节点),可以是 VPS、物理机、容器等。

  • 每个节点需要安装 Docker(建议)或直接运行 EasyTier 二进制。


3. 安装 EasyTier Docker 容器

docker pull easytier/easytier:latest

4. 配置示例说明

配置文件采用 TOML 格式,分为几部分:

  • instance_name:实例名称,随意

  • ipv4:本节点分配的 VPN 内网地址

  • dhcp:是否通过 DHCP 动态分配 IP,通常设为 false,手动固定 IP

  • listeners:监听协议端口

  • network_identity:组网名称和密钥,所有节点必须相同才能互通

  • peer:其他节点的连接地址

  • flags:额外参数

5. 客户端1配置(示例)

作为中继服务器,需要对外监听,配置文件示例(config.toml):

instance_name = "EasyTier"
ipv4 = "10.0.0.1/24"
dhcp = false

listeners = [
    "tcp://0.0.0.0:11010",
    "udp://0.0.0.0:11010",
    "wg://0.0.0.0:11011",
    "ws://0.0.0.0:11011/",
    "wss://0.0.0.0:11012/",
]

mapped_listeners = []
exit_nodes = []
rpc_portal = "0.0.0.0:15888"

[network_identity]
#自己修改适合的用户名密码
network_name = "123456"
network_secret = "123456"

[[peer]]
uri = "tcp://public.easytier.cn:11010"

[flags]
dev_name = "tun1"
enable_encryption = true
enable_ipv6 = true
mtu = 1380
latency_first = false
enable_exit_node = false
no_tun = false
use_smoltcp = false
foreign_network_whitelist = "*"
disable_p2p = false
relay_all_peer_rpc = false
disable_udp_hole_punching = false

启动命令:

docker run -d \
  --name easytier \
  --restart unless-stopped \
  --network host \
  --cap-add=NET_ADMIN \
  --cap-add=NET_RAW \
  -e TZ=Asia/Shanghai \
  --device /dev/net/tun:/dev/net/tun \

# 自己提前创建好数据挂在目录,配置文件创建好config.toml 正式安装请去掉注释
  -v /opt/1panel/apps/EasyTier:/app \

  -v /etc/machine-id:/etc/machine-id:ro \
  easytier/easytier:latest \
  -c /app/config.toml

6. 客户端2配置(示例)

客户端配置示例,需配置 peer 指向中继服务器:

instance_name = "EasyTier"
ipv4 = "10.0.0.2/24"
dhcp = false

listeners = [
    "tcp://0.0.0.0:11010",
    "udp://0.0.0.0:11010",
    "wg://0.0.0.0:11011",
    "ws://0.0.0.0:11011/",
    "wss://0.0.0.0:11012/",
]

mapped_listeners = []
exit_nodes = []
rpc_portal = "0.0.0.0:15888"

[network_identity]
#要跟你连接的客户端账号密码一样
network_name = "123456"
network_secret = "123456"

[[peer]]
uri = "tcp://public.easytier.cn:11010"

[flags]
dev_name = "tun1"
enable_encryption = true
enable_ipv6 = true
mtu = 1380
latency_first = false
enable_exit_node = false
no_tun = false
use_smoltcp = false
foreign_network_whitelist = "*"
disable_p2p = false
relay_all_peer_rpc = false
disable_udp_hole_punching = false

客户端2启动命令类似:

docker run -d \
  --name easytier \
  --restart unless-stopped \
  --network host \
  --cap-add=NET_ADMIN \
  --cap-add=NET_RAW \
  -e TZ=Asia/Shanghai \
  --device /dev/net/tun:/dev/net/tun \

# 自己提前创建好数据挂在目录,配置文件创建好config.toml 正式安装请去掉注释
  -v /opt/1panel/apps/EasyTier:/app \

  -v /etc/machine-id:/etc/machine-id:ro \
  easytier/easytier:latest \
  -c /app/config.toml

7. 分配 IP 和路由

  • 每个节点的 ipv4 配置必须在同一个子网内,例如都用 10.0.0.x/24

  • dhcp = false 表示手动固定 IP

  • 通过 dev_name 设置虚拟网卡名,如 tun0tun1

  • 启动后可在系统中查看虚拟网卡和 IP,例如 ip addr show tun0

  • 其他节点互通时可以通过虚拟网卡 IP ping 通对方

8. 测试网络互通

  1. 各节点启动成功后,查看日志是否有连接建立信息

  2. ping 其他节点的内网 IP,如 ping 10.0.0.1ping 10.0.0.2

  3. 若无法 ping 通,检查防火墙、端口映射、配置是否一致


9. 常见问题

  • 连接失败:确认中继服务器端口开放,节点网络名和密钥一致

  • tun 设备未创建:确认容器运行权限,--privileged--cap-add=NET_ADMIN 必须加

  • IP 不生效:确认配置 ipv4dhcp 设置

  • peer 配置缺失:确保每个节点都正确配置了对端节点的 uri