Sing-Box服务端配置安装配置教程-搭建自己的SingBox服务器

安装 sing-box 并准备服务端配置

本页面向有 sudo 权限的 Linux 服务器,以 sing-box 1.14 系列、systemd 和单用户 Shadowsocks 2022 为例。需要能通过 SSH 管理服务器,并能调整主机防火墙和云安全组;只想在手机或电脑导入现成配置,请看客户端使用教程。

以下安装脚本适用于官方列出的 DEB/RPM 发行版及 Arch Linux。本文后续使用 systemd;OpenWrt、容器和其他初始化系统不照搬服务管理命令。已有 sing-box 服务时先备份配置并安排维护时间,不直接覆盖。

先确认已安装 curl,再下载官方脚本、阅读后安装稳定版。下面的命令应逐行执行;在 less 中按 q 退出。也可以选择官方软件仓库安装方式。服务器需要命令行内核,不安装 SFW/SFL 图形客户端。

curl -fsSL https://sing-box.app/install.sh -o sing-box-install.sh
less sing-box-install.sh
sudo sh sing-box-install.sh
sing-box version

安装完成后生成本服务器独用的密钥。2022-blake3-aes-128-gcm 使用 16 字节随机数据的 Base64 编码;保留输出,稍后填入 password。不要使用教程中的示例密钥或把自己的密钥发到评论区。

sing-box generate rand --base64 16

用 systemctl cat sing-box 查看实际服务命令。官方 1.14.2 服务使用 -C /etc/sing-box 加载该目录;先确认没有其他 JSON 配置会一起加载。用 sudoedit /etc/sing-box/config.json 编辑文件,将下方占位文字替换为刚生成的密钥,再保存完整 JSON:

{
  "log": {
    "level": "info"
  },
  "inbounds": [
    {
      "type": "shadowsocks",
      "tag": "ss-in",
      "listen": "0.0.0.0",
      "listen_port": 8388,
      "network": "tcp",
      "method": "2022-blake3-aes-128-gcm",
      "password": "REPLACE_WITH_YOUR_GENERATED_KEY",
      "multiplex": {
        "enabled": true
      }
    }
  ],
  "outbounds": [
    {
      "type": "direct",
      "tag": "direct"
    }
  ]
}

这里使用 IPv4 地址监听 TCP 8388,并启用多路复用;客户端也要启用 multiplex。只放行这一个 TCP 端口,保留 SSH 端口,不要关闭整个防火墙。若有云安全组或 NAT,还需检查相应入站规则或转发;能限定客户端来源地址时进一步限制。需要 IPv6 时应另核对监听地址和网络规则。

检查配置路径与权限

配置中包含密钥,不要放到公开网站或配置订阅目录。编辑前备份已有文件,限制无关用户读取,同时确保实际服务用户能读取配置。服务文件或启动参数若已被你修改,下面检查命令的目录应与 ExecStart 一致;以 root 检查成功也不代表服务用户的权限正确。

这个示例需要 TLS 证书吗?

此处的 Shadowsocks 2022 示例不配置 TLS 证书,也不需要为了它申请域名。改用 Trojan、Hysteria2 等方案时再按协议处理 TLS、证书和域名。sing-box 1.14 已将旧的内联 ACME 配置标为弃用,新方案应参考ACME certificate provider;不要把旧教程的 TLS 字段直接加进本例。

检查、启动与查看日志

先按服务使用的工作目录和配置目录检查。检查失败时修正第一条错误,不继续重启:

sudo sing-box -D /var/lib/sing-box -C /etc/sing-box check

检查通过后启动或重启服务。重启会中断已有连接;确认运行正常后,需要开机启动再执行 sudo systemctl enable sing-box。

sudo systemctl restart sing-box

查看服务状态和最近日志。active (running) 只说明进程在运行,仍需从客户端验证。停止服务使用 sudo systemctl stop sing-box。

sudo systemctl status sing-box --no-pager
sudo journalctl -u sing-box --output cat -n 50 --no-pager

客户端连接与故障排查

客户端需要支持 Shadowsocks 2022 的完整配置。在该配置的 Shadowsocks 出站中填写服务器可达的公网 IPv4 地址、端口 8388、方法 2022-blake3-aes-128-gcm 和相同密钥,并设置 multiplex.enabled 为 true。不要将服务端的 inbounds JSON 当成客户端配置导入。客户端的入站、DNS 和路由还需按设备用途配置;字段对照可查看官方服务端与客户端示例。

保存完整客户端配置后,按使用教程启动并实际访问目标网站。超时先检查地址、TCP 端口、防火墙与安全组;认证失败核对方法和密钥,Shadowsocks 2022 还应检查双方系统时间。服务启动失败看第一条日志,区分 JSON、密钥格式、端口占用和文件权限。服务能连接却不能访问时,再检查服务器出网、客户端 DNS 与路由,不反复重装服务。

升级前保存可恢复的配置和所用版本,按版本更新入口核对兼容性。求助时只提供已遮挡的错误片段;客户端导入与启动问题也可参考常见问题。