133 lines
3.5 KiB
Markdown
133 lines
3.5 KiB
Markdown
# EasyTier Deploy
|
||
|
||
EasyTier VPN Mesh 网络一键自动化部署工具,支持服务端 / 客户端模式的快速搭建与卸载。
|
||
|
||
## 功能特性
|
||
|
||
- **一键部署**:自动完成下载、解压、配置 systemd 服务并启动
|
||
- **双模式支持**:可选择部署为服务端或客户端
|
||
- **一键卸载**:完整清理服务、安装目录及下载文件
|
||
- **多架构支持**:x86_64 / arm64 (aarch64) / armv7
|
||
- **多系统兼容**:Debian / Ubuntu / CentOS / RHEL
|
||
- **自动架构检测**:根据系统架构自动选择对应的安装包
|
||
|
||
## 系统要求
|
||
|
||
- **操作系统**:Linux(Debian/Ubuntu/CentOS/RHEL)
|
||
- **权限**:需要 root 权限
|
||
- **架构**:x86_64 / aarch64 / armv7
|
||
|
||
## 快速开始
|
||
|
||
### 下载并运行
|
||
|
||
```bash
|
||
# 下载项目
|
||
git clone https://git.opensource-studio.info/nfgj/easytier_deploy.git
|
||
cd easytier_deploy
|
||
|
||
# 赋予执行权限并运行
|
||
chmod +x main.sh
|
||
sudo bash main.sh
|
||
```
|
||
|
||
### 交互式菜单
|
||
|
||
运行脚本后将看到如下菜单:
|
||
|
||
```
|
||
==========================================
|
||
Easytier VPN 一键管理脚本
|
||
==========================================
|
||
|
||
1. 部署为 服务端
|
||
2. 部署为 客户端
|
||
3. 卸载 Easytier
|
||
|
||
请选择 [1/2/3]:
|
||
```
|
||
|
||
### 部署为服务端
|
||
|
||
选择 `1` 后,按提示输入:
|
||
|
||
| 参数 | 说明 | 默认值 |
|
||
|------|------|--------|
|
||
| 服务端虚拟 IP | VPN 网络中服务端的虚拟 IP 地址 | `10.126.5.1` |
|
||
|
||
服务端部署后将自动:
|
||
- 下载并安装 EasyTier 到 `/opt/easytier`
|
||
- 配置 systemd 服务并设为开机自启
|
||
- 开放端口 `11010`(TCP/UDP)和 `15888`(RPC)
|
||
- 启用出口节点功能
|
||
|
||
### 部署为客户端
|
||
|
||
选择 `2` 后,按提示输入:
|
||
|
||
| 参数 | 说明 | 默认值 |
|
||
|------|------|--------|
|
||
| 服务器公网 IP | 服务端的公网 IP 地址 | 必填 |
|
||
| 服务端虚拟 IP | 服务端在 VPN 网络中的虚拟 IP | `10.126.5.1` |
|
||
|
||
客户端部署后将自动通过 DHCP 获取虚拟 IP,并将出口流量路由至服务端。
|
||
|
||
### 卸载
|
||
|
||
选择 `3` 后将执行以下操作(需二次确认):
|
||
|
||
1. 停止并禁用 easytier 服务
|
||
2. 删除 systemd 服务文件
|
||
3. 删除安装目录 `/opt/easytier`
|
||
4. 清理下载的 ZIP 文件
|
||
|
||
## 配置说明
|
||
|
||
脚本顶部的用户配置变量需要修改:
|
||
|
||
```bash
|
||
# VPN 网络密钥(所有节点必须一致)
|
||
SECRET='<secret_test>'
|
||
|
||
# VPN 网络名称(所有节点必须一致)
|
||
NETWORK_NAME="<test-network>"
|
||
|
||
# Easytier 安装目录
|
||
EASYTIER_DIR="/opt/easytier"
|
||
|
||
# EasyTier 版本号
|
||
VERSION="v2.6.4"
|
||
```
|
||
|
||
> **注意**:`SECRET` 和 `NETWORK_NAME` 必须在所有节点保持一致,否则节点间无法通信。
|
||
|
||
## 常用命令
|
||
|
||
| 操作 | 命令 |
|
||
|------|------|
|
||
| 查看日志 | `journalctl -u easytier -f` |
|
||
| 重启服务 | `systemctl restart easytier` |
|
||
| 停止服务 | `systemctl stop easytier` |
|
||
| 启动服务 | `systemctl start easytier` |
|
||
| 查看状态 | `systemctl status easytier` |
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
easytier_deploy/
|
||
├── main.sh # 主脚本(部署/卸载逻辑)
|
||
├── LICENSE # Apache License 2.0
|
||
└── README.md # 项目说明文档
|
||
```
|
||
|
||
## 技术细节
|
||
|
||
- **下载源**:使用 GitHub 加速镜像 (`ghfast.top`) 下载 EasyTier 发行版
|
||
- **服务管理**:基于 systemd,支持开机自启与异常自动重启(`RestartSec=10`)
|
||
- **服务端特性**:启用 RPC 管理接口,自动配置白名单为 VPN 网段 + 本地回环
|
||
- **客户端特性**:通过 TCP 连接服务端,自动获取虚拟 IP
|
||
|
||
## 许可证
|
||
|
||
本项目基于 [Apache License 2.0](LICENSE) 开源。
|