EasyTier + WireGuard 运维全攻略 (Linux)

在多云、异构网络或跨国办公的场景中,如何实现安全、高效、开箱即用的组网一直是个痛点。传统的 VPN 部署繁琐,而公共组网工具又常常受限于复杂的命令行参数,重启后极易失效。

本文将分享一套基于 EasyTierWireGuard 门户的运维方案。本方案采用“配置驱动”模式,能够有效避开不可控的命令行参数,并配合 Systemd 实现守护进程托管,确保服务器在重启后依然能稳健运行。

1. 环境准备与架构识别

EasyTier 是一个单二进制文件应用。在部署前,我们需要根据服务器的底层芯片架构(例如 ARM64 或 x86_64)选择对应的安装版本。

首先,在服务器上创建标准化的工作目录:

Bash

# 创建标准化工作目录
mkdir -p /opt/easytier/config

# 进入目录
cd /opt/easytier

2. 下载与安装 (及版本升级)

为了方便后续维护,升级逻辑遵循:停止服务 -> 替换文件 -> 启动服务 的标准流程。

通过以下脚本可以自动检测当前系统的 CPU 架构,并下载对应的安装包:

Bash

# 自动检测架构并下载最新版 (以 v2.2.0 为例)
ARCH=$(uname -m)
if [ "$ARCH" = "x86_64" ]; then
    FILE="x86_64-unknown-linux-musl"
else
    FILE="aarch64-unknown-linux-musl"
fi

wget https://github.com/EasyTier/EasyTier/releases/download/v2.2.0/easytier-linux-$FILE.tar.gz

# 解压并替换旧文件
tar -xzvf easytier-linux-$FILE.tar.gz
mv -f easytier-core easytier-cli /opt/easytier/
chmod +x /opt/easytier/easytier-*

# 清理压缩包
rm easytier-linux-$FILE.tar.gz

3. 核心配置文件 (注入 WireGuard 参数)

为了彻底解决命令行参数难以维护的问题,我们将所有的核心逻辑(包含 WireGuard 门户集成)直接写入配置文件 default.conf 中。

执行命令创建并编辑配置文件:

Bash

nano /opt/easytier/config/default.conf

写入以下配置模板(请根据实际环境修改各项参数):

Ini, TOML

instance_name = "Overseas-Relay" # 节点显示名称
ipv4 = "10.x.x.6"              # 该节点的虚拟内网 IP

# 本地监听端口
listeners = [
    "tcp://0.0.0.0:11010",
    "udp://0.0.0.0:11010",
]

[network_identity]
network_name = "your_network_name"     # 你的网络名称
network_secret = "your_network_secret" # 你的网络密钥

[[peer]]
# 连接到其他主节点或互联节点
uri = "tcp://x.x.x.x:11010"

# --- WireGuard VPN 门户配置区 ---
[vpn_portal_config]
# 手机或外部客户端接入后获得的虚拟 IP 段(不要和上面的内网段冲突)
client_cidr = "10.x.x.0/24"
# WireGuard 监听端口
wireguard_listen = "0.0.0.0:11013"

[flags]
private_mode = true            # 开启私有模式,不自动发现公共对等点

4. Systemd 服务托管 (防止进程丢失)

为了防止进程意外退出、终端断开导致服务中断,或者出现无法杀死的“幽灵进程”,强烈建议使用 Systemd 将 EasyTier 托管为系统服务。

运行以下命令生成服务配置文件:

Bash

cat <<EOF > /etc/systemd/system/easytier.service
[Unit]
Description=EasyTier P2P VPN Service
After=network.target network-online.target
Wants=network-online.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/easytier
# 只读取配置文件,所有功能在 default.conf 定义
ExecStart=/opt/easytier/easytier-core -c /opt/easytier/config/default.conf
Restart=always
RestartSec=5
# 限制日志大小,防止塞满磁盘
StandardOutput=append:/opt/easytier/easytier.log
StandardError=append:/opt/easytier/easytier.log
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

激活并启动服务:

Bash

systemctl daemon-reload
systemctl enable easytier
systemctl restart easytier

5. WireGuard 客户端连接详解

通过 EasyTier 的内建 WireGuard 门户,手机或外部笔记本无需安装专门的 P2P 客户端,即可直接接入虚拟局域网。

第一步:提取配置参数

在服务器上执行以下命令,获取客户端连接所需的密钥及参数:

Bash

/opt/easytier/easytier-cli vpn-portal

第二步:客户端 App 填入对照表

将上一步获取到的内容填入 WireGuard 客户端:

WireGuard 字段填入内容说明
PrivateKey终端输出的 PrivateKey客户端的私钥
Address10.x.x.2/32重要:手动指定分配的客户端 IP,末尾必须带 /32
DNS 服务器114.114.114.114 (或自定义)建议填写以保证域名解析正常
PublicKey终端输出的 PublicKey服务器端的公钥
AllowedIPs10.x.x.0/24, 10.y.y.0/24允许客户端访问的内网网段
Endpointyour.domain.com:11013重要:填写服务器的公网域名(或 IP)及对应端口
持续检查 (Keepalive)25建议填写 25 秒,防止NAT超时或防火墙断开连接

6. 节点迁移指南

当服务器需要进行更换或迁移时,可以通过以下三个步骤平滑过渡:

  1. 打包配置:将 /opt/easytier/config/ 整个目录打包备份。
  2. 部署环境:在新服务器上重复执行上述的“下载与安装”步骤。
  3. 还原服务:将备份的 default.conf 放入新机器的对应目录中,并重新创建 easytier.service 启动服务。
    • 提示:若需要保持原有的节点 Peer ID 不变,请确保将配置目录下的隐藏身份文件一并迁移。

7. 常用运维与排查命令

  • 查看客户端连接状态/opt/easytier/easytier-cli vpn-portal(检查 connected_clients 列表)
  • 查看所有内网节点/opt/easytier/easytier-cli peer
  • 查看当前路由追踪/opt/easytier/easytier-cli route
  • 实时查看运行日志tail -f /opt/easytier/easytier.log

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注