gost 转发安装以及使用

koaker 发布于 2025-09-27 服务器部署配置


1.访问github,获取下载连接

https://github.com/go-gost/gost/releases/

2.在服务器上使用wget下载

wget https://github.com/go-gost/gost/releases/download/v3.2.4/gost_3.2.4_linux_amd64.tar.gz

3.解压

tar -xzvf gost_3.2.4_linux_amd64.tar.gz

4.将gost移动

mv gost /usr/bin/gost
chmod +x /usr/bin/gost

5.编辑一个config.yml

mkdir /etc/gost
sudo vim /etc/gost/config.yml

配置


services:
  # --- 规则 1: TCP 端口转发 ---
  # 说明:将本地服务器的 8080 端口收到的 TCP 流量,转发到 192.168.1.100 的 80 端口。
  - name: tcp-forward-web
    # 监听地址,:8080 表示监听在本机所有网络接口的 8080 端口
    addr: ":8080"
    # 定义处理该服务流量的节点链
    handler:
      type: tcp # 处理器类型为 TCP
    # 定义流量的去向
    listener:
      type: tcp # 监听器类型为 TCP
    # 转发目标
    forwarder:
      nodes:
        # 目标节点,即你希望将流量转发到的地方
        - name: target-server-80
          addr: 192.168.1.100:80

  # --- 规则 2: UDP 端口转发 ---
  # 说明:将本地服务器的 5353 端口收到的 UDP 流量,转发到 Google 的 DNS 服务器 8.8.8.8 的 53 端口。
  - name: udp-forward-dns
    # 监听地址
    addr: ":5353"
    handler:
      type: udp # 处理器类型为 UDP
    listener:
      type: udp # 监听器类型为 UDP
    forwarder:
      nodes:
        - name: google-dns
          addr: 8.8.8.8:53

  # --- 规则 4: 通过加密隧道进行转发 (高级用法) ---
  # 说明:在另一台服务器B上先运行 `gost -L relay+tls://:443`
  # 然后这台服务器A会将本地 12345 端口的流量,通过加密的 relay 隧道发送到服务器B,
  # 再由服务器B转发到最终的目标 1.2.3.4:80。
  - name: secure-forward-via-relay
    addr: ":12345" # 本地监听端口
    handler:
      type: tcp
    listener:
      type: tcp
    # 这里定义了一个转发链
    chain: my-secure-chain
    forwarder:
      nodes:
        # 最终目标
        - name: final-destination
          addr: 1.2.3.4:80

6.创建一个进程

sudo vim /etc/systemd/system/gost.service

写入以下内容

[Unit]
Description=Gost Tunnel
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/gost -C /etc/gost/config.yml
Restart=always
RestartSec=5
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

重载并启动

sudo systemctl daemon-reload
sudo systemctl start gost
sudo systemctl enable gost
此作者没有提供个人介绍。
最后更新于 2026-07-05