在 Rocky Linux 上使用 Gost 搭建代理服务
Gost 是一个使用 Go 语言编写的安全隧道工具,支持多种代理协议。它以单二进制形式分发,无任何运行时依赖,部署极为简便。本文记录在 Rocky Linux 上安装 Gost 并将其配置为系统服务的完整过程。
安装 Gost
前往 Gost GitHub Release 页面 找到最新版本,复制对应架构的下载链接。本文以 v3.0.0 x86_64 为例。
下载并安装二进制:
curl -L https://github.com/go-gost/gost/releases/download/v3.0.0/gost_3.0.0_linux_amd64.tar.gz \
-o /tmp/gost.tar.gz
tar -xzf /tmp/gost.tar.gz -C /tmp/
sudo mv /tmp/gost /usr/local/bin/gost
sudo chmod +x /usr/local/bin/gost
安装完成后验证一下版本:
gost -V
正常输出版本号即表示安装成功。
编写配置文件
创建配置目录,然后用 vim 新建配置文件:
sudo mkdir -p /etc/gost
sudo vim /etc/gost/config.yaml
写入以下内容:
api:
addr: "127.0.0.1:18080"
services:
- name: socks5-proxy
addr: ":7890"
handler:
type: socks5
listener:
type: tcp
- name: http-proxy
addr: ":7891"
handler:
type: http
listener:
type: tcp
这里同时启动了两个代理服务:
7890:SOCKS5 协议
7891:HTTP 协议
api.addr 配置了 Gost 的 RESTful API 监听地址,绑定在本机回环地址 127.0.0.1:18080,仅供本机访问,避免 API 直接暴露在公网。gost-ui 将通过此接口与 Gost 通信。
保存退出(:wq)。
配置为 systemd 服务
单独运行二进制不够稳定,将 Gost 注册为 systemd 服务可以实现开机自启与崩溃自动重启。
新建服务文件:
sudo vim /etc/systemd/system/gost.service
写入以下内容:
[Unit]
Description=Gost Proxy Service
After=network.target
Wants=network.target
[Service]
Type=simple
User=nobody
Group=nobody
ExecStart=/usr/local/bin/gost -C /etc/gost/config.yaml
Restart=on-failure
RestartSec=5s
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
几个配置项说明一下:
User=nobody:以低权限用户运行,避免以 root 启动带来的安全风险Restart=on-failure:进程异常退出时自动重启LimitNOFILE=65536:放开文件描述符限制,应对高并发连接
保存退出后,重载 systemd 并启动服务:
sudo systemctl daemon-reload
sudo systemctl start gost
sudo systemctl enable gost
查看运行状态确认一切正常:
sudo systemctl status gost
看到 active (running) 即表示服务已成功运行。
使用 Gost UI 管理服务
Gost 提供了官方 Web 管理界面 gost-ui,可以可视化地管理服务、查看连接状态,无需手动编辑配置文件。
官方 UI 地址:https://ui.gost.run/
打开 UI 后,在设置中将 API 地址填写为 Gost 所在服务器的地址与端口(即上文配置的 18080),即可连接并管理 Gost 实例。
注意:由于 API 绑定在
127.0.0.1,从远程浏览器直接访问18080端口是不通的。可以通过 SSH 端口转发的方式在本地访问:ssh -L 18080:127.0.0.1:18080 user@YOUR_SERVER_IP之后在浏览器中打开 https://ui.gost.run/,API 地址填写
http://127.0.0.1:18080即可。
常用运维命令
日常维护会用到的几条命令备忘:
# 查看实时日志
sudo journalctl -u gost -f
# 修改配置后重启服务
sudo systemctl restart gost
# 停止服务
sudo systemctl stop gost
升级 Gost
Gost 的升级只需替换二进制文件即可,无需改动任何配置:
# 下载新版本
curl -L https://github.com/go-gost/gost/releases/download/vX.X.X/gost_X.X.X_linux_amd64.tar.gz \
-o /tmp/gost.tar.gz
tar -xzf /tmp/gost.tar.gz -C /tmp/
# 停止服务、替换二进制、重启
sudo systemctl stop gost
sudo mv /tmp/gost /usr/local/bin/gost
sudo chmod +x /usr/local/bin/gost
sudo systemctl start gost
升级完成后用 gost -V 确认版本已更新。