gost 转发安装以及使用

koaker 发布于 4 天前 服务器部署配置


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

sudo vim /etc/gost/config.yml
# Gost v3 配置文件示例 (config.yml)

# services 定义了一系列独立的监听服务(即你的转发规则)
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

  # --- 规则 3: 同时转发 TCP 和 UDP ---
  # 说明:将本地 9999 端口的 TCP 和 UDP 流量,都转发到 1.1.1.1 的 53 端口。
  # Gost 会自动处理 TCP 和 UDP 的监听
  - name: tcp-udp-forward
    addr: ":9999"
    handler:
      type: auto # 自动识别协议
    listener:
      type: auto # 自动识别协议
    forwarder:
      nodes:
        - name: cloudflare-dns
          addr: 1.1.1.1: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

# chains 定义了转发链,可以组合多个代理/隧道
chains:
  - name: my-secure-chain
    hops:
      - name: relay-server
        # 这里填写你的 relay 服务器地址和端口
        addr: your-relay-server.com:443
        # 使用 relay+tls 协议进行加密转发
        handler:
          type: relay
          auth:
            username: "your_username"  # 可选:为隧道添加认证
            password: "your_password"
        listener:
          type: tls

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
此作者没有提供个人介绍。
最后更新于 2025-09-27