type
Post
status
Published
date
Jul 12, 2026
slug
easytier-relay-deployment-guide
summary
在公网 Linux 服务器上用 Docker Compose 部署 EasyTier 私有中继节点,开放 TCP/UDP 11010 给客户端接入。
tags
EasyTier
Docker
组网
category
技术分享
icon
password
EasyTier 公网中继服务器部署教程
本文记录如何在一台公网 Linux 服务器上部署 EasyTier 中继节点。部署完成后,其他客户端可以通过这个公网节点加入同一个 EasyTier 网络。
本文示例统一使用占位符,不展示真实公网 IP 和网络密码:
- 网络名称:
your-network-name
- 网络密码:
<network-secret>
- 公网服务器地址:
<public-server-ip-or-domain>
- EasyTier 监听端口:
11010
网络密码等同于加入网络的凭证,不要发到群里、不要写进公开博客、不要截图公开。
1. 检查端口占用
先确认服务器上已有服务和端口占用情况:
如果
11010 没有被占用,就可以直接使用本文配置。如果
11010 已经被占用,可以换成其他端口,但要同时修改服务器端和客户端配置,并在安全组里放行对应端口的 TCP 和 UDP。2. 生成网络密码
在服务器上执行:
命令会输出一串 64 位十六进制字符串。这个值就是 EasyTier 网络密码。
示例写法如下,不要把真实值写进公开文档:
后续客户端必须使用相同的网络名称和网络密码,才能加入同一个 EasyTier 网络。
3. 创建部署目录
4. 写入环境变量
创建
.env:字段说明:
ET_NETWORK_NAME:EasyTier 网络名称,客户端要保持一致。
ET_NETWORK_SECRET:刚才用openssl rand -hex 32生成的网络密码。
5. 写入 Docker Compose 配置
创建
docker-compose.yml:这里使用
network_mode: host,所以容器会直接监听宿主机的 11010 端口。--private-mode true 表示使用私有网络模式。只有知道网络名称和网络密码的节点才能加入。6. 启动服务
如果服务器访问 Docker Hub 正常,会直接拉取
easytier/easytier:latest。如果拉取镜像超时,可以把
image 改成可用的镜像源,例如:然后重新执行:
7. 验证部署
查看容器:
查看监听端口:
查看日志:
正常情况下,容器应处于
Up 状态,并且服务器会监听 11010/tcp 和 11010/udp。8. 放行防火墙和安全组
服务器本机防火墙和云厂商安全组都要放行:
- TCP:
11010
- UDP:
11010
如果使用
firewalld:如果使用
ufw:云服务器还需要在控制台安全组里放行同样的 TCP/UDP 端口。
9. 提供给客户端的信息
部署完成后,客户端只需要拿到下面几项:
不要公开发送网络密码。建议只发给需要接入的用户。
10. 常用维护命令
重启:
停止:
更新镜像:
查看配置:
11. 常见问题
11.1 客户端连不上
优先检查:
- 公网服务器安全组是否放行
11010/tcp和11010/udp。
- 服务器本机防火墙是否放行
11010。
- EasyTier 容器是否正在运行。
- 客户端的网络名称、网络密码是否和服务器一致。
- 客户端填写的是公网服务器 IP 或域名,不是内网 IP。
11.2 端口冲突
如果
ss -lntup 看到 11010 已经被其他程序占用,就换一个端口。服务器端要同时修改:
客户端也要把初始节点端口改成同一个新端口。
11.3 Docker Hub 拉取超时
可以把镜像地址从:
改成:
然后重新执行
sudo docker compose up -d。