Alpine 中以二进制方式部署 EasyTier
729 字
4 分钟
Alpine 中以二进制方式部署 EasyTier

前言
为什么写这篇文章原因是最近买了一台内存只有 512MB 的服务器,在装环境的时候思考了几秒打算这台服务器不会去使用 Docker,
然后在部署 EasyTier 的过程中发生了一点小问题故此有了写下这篇水文😁
准备环境
安装软件包
先更新软件包索引,然后安装基础软件包 wget curl tar unzip
apk updateapk add wget curl tar unzip加载模块(可选)
EasyTier 默认使用 TUN 模式,所以需要加载该模块
vi /etc/modules-load.d/tun.conf# 按下 i 键进入编辑模式才能输入下一行的内容tun# 编辑完按下 Esc 键在输入 :wq 保存退出modprobe tun```
## 部署 EasyTier
### 下载 EasyTier
创建 EasyTier 文件夹,进入目录,下载二进制压缩包,然后解压。
这里部署目录为 `/opt/easytier` 版本以 `2.6.4` 为例,可自行修改。
```bashmkdir -p /opt/easytiercd /opt/easytierwget https://github.com/EasyTier/EasyTier/releases/download/v2.6.4/easytier-linux-x86_64-v2.6.4.zipunzip easytier-linux-x86_64-v2.6.4.zip创建软链接
创建软链接,这样我们就可以直接在其他地方执行 EasyTier 的相关命令。
ln -s /opt/easytier/easytier-core /usr/sbin/easytier-coreln -s /opt/easytier/easytier-cli /usr/sbin/easytier-cli编写 EasyTier 配置
执行这条命令然后编辑配置
vi /opt/easytier/config/default.conf此配置仅为样例
instance_name = "Demo-PC"dhcp = truelisteners = [ "tcp://0.0.0.0:11010", "udp://0.0.0.0:11010", "wg://0.0.0.0:11011",]
[network_identity]network_name = "Demo-Network"network_secret = "123456"
[[peer]]uri = "tcp://<节点IP>:11010"实现开机自启
先手动创建日志文件
touch /var/log/easytier.logchown nobody:nobody /var/log/easytier.logtouch /var/log/easytier.err.logchown nobody:nobody /var/log/easytier.err.log执行这条命令来创建编辑服务脚本
vi /etc/init.d/easytier然后粘贴下方配置
⚠️ 注意
因为是以非 root 用户运行,使用 TUN 模式后创建网卡可能会出现出现 ERROR CORE::INSTANCE: [] tun device error err\=rust tun error Operation not permitted (os error 1) 问题,请查看文章底部
#!/sbin/openrc-run
name="EasyTier"directory="/opt/easytier"command="/opt/easytier/easytier-core"command_args="-c /opt/easytier/config/default.conf"# 这里以非 root 用户运行,如果想省事可以尝试改成 root:rootcommand_user="nobody:nobody"pidfile="/run/$RC_SVCNAME.pid"command_background=true
output_log="/var/log/easytier.log"error_log="/var/log/easytier.err.log"
depend() { need net}然后添加执行权限,因为这本质上就是一个脚本文件
chmod +x /etc/init.d/easytier接下来就是将服务添加到默认级别(就是开机后系统正常运行的时候再去启动服务)
然后手动启动服务
rc-update add easytier defaultrc-service easytier start# 可选:查看运行状态rc-service easytier status因为 OpenRC 不像 Systemd 那样查看状态时能显示日志,所以查看日志需要我们手动去查看这两个文件 /var/log/easytier.log 和 /var/log/easytier.err.log
解决非 root 用户运行创建 TUN 网卡失败问题
创建 TUN 网卡设备需要有 CAP_NET_ADMIN 权限,如果偏要以非 root 用户运行的话我们可以使用 setcap
💡 提示
此步骤需要在 root 用户下执行。且每次更新 EasyTier 后需要重新授权
安装软件包 libcap
apk add libcap授权
setcap cap_net_admin+ep /opt/easytier/easytier-core然后我们可以执行下方命令检查
getcap /opt/easytier/easytier-core结果应为
/opt/easytier/easytier-core cap_net_admin=ep重启 EasyTier 服务
rc-service easytier restart文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
Alpine 中以二进制方式部署 EasyTier
https://blog.nwn.moe/posts/deploy-easytier-binary-on-alpine/相关文章智能推荐
1
K8s 环境下使用 HostNetwork 模式部署 Envoy Gateway
k8s2025-12-10
2
解决 VS Code 中 Claude Code 新版插件无法使用
技术2025-10-17
3
Nginx 通过 AutoIndex 实现目录浏览功能
技术2024-08-06
4
Docker 自建 Umami 网站流量统计工具
技术2024-07-23
5
Windows 10及11开启虚拟 WLAN
技术2024-02-23
随机文章随机推荐

