Linux 原生部署
直接安装 CMSingBox 和内置 sing-box 基础内核,由 systemd 守护运行。适合 Debian、Ubuntu、Rocky Linux 等使用 systemd 的服务器、小主机和虚拟机。
环境要求
- amd64、arm64 或 armv7 Linux。
- root 权限、systemd 与 curl。
- 服务器可访问 GitHub Raw;安装后可访问订阅源。
- 后台默认使用 80,代理 2080,控制面板 9090;DNS 启用后使用 53。
uname -m
command -v systemctl
ss -lntup | grep -E ':53|:2080|:9090|:80' || true一键安装
curl -fsSL https://raw.githubusercontent.com/qwernot/CM/main/deploy/install.sh | sudo sh完成后打开 http://服务器IP:80,初始账号和密码均为 admin。脚本会自动安装透明代理需要的 nftables 和 iproute2,且不会在升级时删除数据。
自定义参数
改变后台端口:
curl -fsSL https://raw.githubusercontent.com/qwernot/CM/main/deploy/install.sh | sudo env CMSINGBOX_PORT=19092 sh改变安装和数据目录:
curl -fsSL https://raw.githubusercontent.com/qwernot/CM/main/deploy/install.sh | sudo env CMSINGBOX_INSTALL_DIR=/opt/cmsingbox CMSINGBOX_DATA_DIR=/srv/cmsingbox CMSINGBOX_PORT=80 sh端口归属原生部署直接监听宿主机。后台端口由安装参数决定;混合代理、控制台和 DNS 端口在 CMSingBox 设置中修改。53 被 systemd-resolved、dnsmasq 或 AdGuard 占用时,应先换端口或停用冲突服务。
网关部署预检
作为旁路由前执行只读检查,不会改动系统路由或清空防火墙:
curl -fsSL https://raw.githubusercontent.com/qwernot/CM/main/deploy/check-network.sh | sh -s -- native终端网关和 DNS 填本机的局域网 IP。需要宿主机支持 TUN、开启 TUN 与 auto_route、允许 IPv4 转发,且防火墙允许指定局域网流量。若转发未开启,确认要把该设备作为网关后,再由管理员执行:
sudo sysctl -w net.ipv4.ip_forward=1
# 持久化:将 net.ipv4.ip_forward=1 写入 /etc/sysctl.d/90-cmsingbox-forward.conf防火墙需按实际 LAN 网卡/网段定向放行;不要直接清空规则,也不要删除本机其他代理的 DNS。验证必须在另一台局域网设备完成,预检通过不等于节点及所有转发链路正常。
首次配置
- 登录并修改后台密码。
- 添加订阅并刷新,确认节点出现。
- 在设置中确认 HTTP/SOCKS5、允许局域网访问和可选认证。
- DNS 与 TUN 默认开启;确认 53 端口无冲突,不需要时可关闭。独立透明代理按部署方式选择。
- 保存设置、应用配置并启动 sing-box。
- 访问
http://服务器IP:9090/ui/检查代理控制台。
服务管理
systemctl status cmsingbox --no-pager
journalctl -u cmsingbox -f -n 100
systemctl restart cmsingbox
systemctl stop cmsingbox
systemctl start cmsingbox| 位置 | 用途 |
|---|---|
/opt/cmsingbox/cmsingbox | 管理程序 |
/var/lib/cmsingbox | 默认持久数据、内核与配置 |
/etc/cmsingbox.env | 授权公钥环境变量 |
/etc/systemd/system/cmsingbox.service | systemd 服务 |
更新与备份
先在“设置 → 数据管理”导出备份,再重新执行一键安装命令。脚本会替换管理程序,已有数据和用户下载的内核会保留;若数据目录中没有可执行内核,则补入基础内核。
sudo tar -C /var/lib -czf cmsingbox-data-backup.tar.gz cmsingbox
curl -fsSL https://raw.githubusercontent.com/qwernot/CM/main/deploy/install.sh | sudo sh快速排障
- 后台打不开:检查
systemctl status、80 监听和系统防火墙。 - sing-box 重启:在后台日志看第一条配置错误,撤销最近的自定义 JSON。
- 订阅下载失败:检查服务器 DNS、系统时间和订阅 URL。
- 代理 HTTP 错误:确认节点可用、代理模式和最终出站,再看控制台连接日志。