分布式代理系统全量实操手册

最后更新:2025.12.23 | 适用版本:Remnawave v2.3+ | 状态:完全同步

本手册旨在记录在 1GB 内存环境下,通过分布式部署实现“静态网站+高强度代理”的完整路径。即便半年后重新操作,只需按序执行即可。

核心逻辑链路 (核心坑点):
User (用户) → Internal Squad (分组) → Config Profile (JSON配置) → Inbound (协议) → Host (地址映射) → Node (服务器)

01. 基础环境补完

Step 1: 确保 Debian 12 纯净系统,首先开启 2GB Swap(防止 Postgres 启动失败)。

wget https://www.moerats.com/usr/shell/swap.sh && bash swap.sh # 输入 2048

Step 2: 安装 Docker 环境。

curl -fsSL https://get.docker.com | bash && systemctl enable --now docker

02. 主控端 (Master) 核心配置

A. Caddy 反向代理

解决 443 端口复用,作为所有域名的“交通枢纽”。

/etc/caddy/Caddyfile# 主站:项目宣传
orangesea.org {
    root * /var/www/orangesea_main
    file_server
}
# 总结站:碎片归档
lab.orangesea.org {
    root * /var/www/geek_fragments
    file_server
}
# 面板:管理后台
panel77.orangesea.org {
    reverse_proxy localhost:3000
}

B. Remnawave Backend 环境变量

数据库与 JWT 密钥必须在启动前生成并锁定。

/opt/remnawave/.envPOSTGRES_PASSWORD=生成的随机强密码
JWT_AUTH_SECRET=openssl_rand_hex_64_生成
PUBLIC_URL=https://panel77.orangesea.org # 必须与二级域名一致

03. 节点 (Node) 通讯与同步

避坑指南: Node 节点的 API 端口默认是 3333,不是 2222。如果面板显示 Disconnected,先查防火墙!
docker-compose.yml (Node)services:
  remnanode:
    image: remnawave/node:latest
    network_mode: host # 建议host模式提升性能
    environment:
      - NODE_PORT=3333
      - SECRET_KEY=从面板Node管理处生成的Key

在 VPS 执行:iptables -I INPUT -p tcp --dport 3333 -j ACCEPT

04. VLESS + Reality 协议配置模板

在 Config Profile 编辑器中,inbounds 数组应如下设置:

{
  "tag": "Reality-In",
  "port": 9443,
  "protocol": "vless",
  "settings": {
    "clients": [], // 必须为空,系统自动填充
    "decryption": "none"
  },
  "streamSettings": {
    "network": "tcp",
    "security": "reality",
    "realitySettings": {
      "dest": "www.microsoft.com:443",
      "serverNames": ["www.microsoft.com"],
      "privateKey": "面板生成的私钥",
      "shortIds": ["面板生成的ID"]
    }
  }
}

05. 运维与流量管理

检查项 操作/指令 预期结果
服务日志 docker compose logs -f 查看是否有 DB 或 Node 连接报错
用户限额 Users -> Traffic Limit 超过阈值自动切断连接
订阅下发 Hosts -> Add Host 必须在此为 IP 绑定 Inbound 协议