系统部署与激活指南
硬件配置与系统要求
1. 服务器硬件配置建议
根据您需要管理的网络资产数量和并发扫描任务量,平台推荐以下服务器配置:
| 部署角色 | 最低配置 (小型团队) | 推荐配置 (生产环境 / 万级资产) | 大型集群 (大型企业) |
|---|---|---|---|
| 服务端主节点 (Web、主程序与数据库) | 2 核 CPU / 4 GB 内存 50 GB SSD 存储 | 4 核 CPU / 8 GB 内存 100 GB SSD 存储 | 8 核以上 CPU / 16 GB 以上 内存 500 GB 以上 NVMe SSD 存储 |
| 扫描探针节点 (Client 客户端) | 1 核 CPU / 2 GB 内存 20 GB 剩余磁盘 | 2 核 CPU / 4 GB 内存 50 GB 剩余磁盘 | 根据任务量按需增加分布式主机数量 |
2. 软件运行环境要求
- 操作系统:支持主流 Linux 发行版(推荐使用 Ubuntu 22.04 LTS、Rocky Linux 8+ 或 Debian 11+)。
- 软件依赖:系统需要预先安装好
Docker 20.10+和Docker Compose v2.0+。 - Docker 镜像与国内网络环境调优:
- 官方镜像拉取与加速:平台大部分安全工具(如 Subfinder、Naabu、Nuclei 等)以容器方式运行。在特殊网络环境下,标准 Docker Hub 镜像可能拉取缓慢或失败。推荐配置 Docker Daemon 镜像加速器(编辑
/etc/docker/daemon.json):json配置后执行{ "registry-mirrors": [ "https://your-docker-mirror.example.com" ] }sudo systemctl daemon-reload && sudo systemctl restart docker生效。
- 官方镜像拉取与加速:平台大部分安全工具(如 Subfinder、Naabu、Nuclei 等)以容器方式运行。在特殊网络环境下,标准 Docker Hub 镜像可能拉取缓慢或失败。推荐配置 Docker Daemon 镜像加速器(编辑
一键安装 (Docker Compose)
1. 第一步:运行安装
在目标服务器上直接执行以下命令,引导脚本 install.sh 会自动探测最快镜像源、下载所需组件并完成安装:
bash
curl -fsSL https://cnb.cool/testnet0/testnet-public/-/git/raw/main/install.sh | bash安装脚本会自动生成随机密码、创建自签名证书、拉取镜像并启动服务。
2. 第二步:首次登录系统
安装完成后,终端会输出管理后台的访问地址和系统为您自动生成的随机初始密码:
text
✅ TestNet 安装完成!
访问地址: https://your-server-ip:3100
管理员账号: admin
管理员密码: Abc12345XyZ ← 请妥善保存生成的随机初始密码!在浏览器中打开该地址,输入上述账号密码即可登录系统后台。
常用控制命令参考
以下命令均需在 testnet-deploy 目录下执行:
- 启动/停止/重启服务:
./testnet.sh start/./testnet.sh stop/./testnet.sh restart - 查看运行日志:
./testnet.sh logs或docker compose logs -f testnet-server - 查看服务状态:
./testnet.sh status - 重置管理员密码:
./testnet.sh reset-password可将密码重置为默认的Admin@123456(请在登录后第一时间在个人中心修改它)。 - 升级到最新版本:
./testnet.sh update
分布式部署
系统默认会在服务端主机上启动一个内置的客户端。如果您想在多台不同的服务器上分布式运行扫描任务,可以将其他客户端节点连接到主服务器,配置方法如下:
1. 第一步:获取连接密码
其他探针节点连接主服务器时需要密码。请在主服务器的部署目录下找到并复制连接密码(CLIENT_SECRET):
bash
cd testnet-deploy
grep TESTNET_CLIENT_SECRET .env2. 第二步:选择部署方式
部署方式一:通过 Docker 运行 (推荐)
在任意已安装 Docker 的独立主机上执行以下命令。这需要挂载 docker.sock,以便探针程序能够调用 Docker 来运行各种容器化的扫描工具:
如果服务端使用的是自签名证书,请添加 TLS 忽略证书校验的环境变量:
bash
docker run -d \
--name testnet-client \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ./client-data:/opt/testnet/client-data \
-e TESTNET_SERVER_URL=https://your-server-ip:3100 \
-e TESTNET_SERVER_TLS_ENABLED=true \
-e TESTNET_SERVER_TLS_INSECURE_SKIP_VERIFY=true \
-e TESTNET_CLIENT_SECRET=<从服务端获取的密码> \
-e TESTNET_NODE_NAME=node-guangzhou-01 \
testnet/client:latest部署方式二:直接运行二进制程序
可以先生成配置文件 config.yaml 或直接通过环境配置:
bash
export TESTNET_SERVER_URL=https://your-server-ip:3100
export TESTNET_SERVER_TLS_ENABLED=true
export TESTNET_SERVER_TLS_INSECURE_SKIP_VERIFY=true
export TESTNET_CLIENT_SECRET=<从服务端获取的密码>
export TESTNET_NODE_NAME=node-shanghai-native
chmod +x testnet-client
./testnet-client -concurrency 8部署完成后,登录管理后台,在 「扫描节点」->「节点池管理」 中就能实时查看到新加入的节点,并能查看其在线状态、并发数限制等信息。
客户端环境变量参考
客户端节点支持通过 TESTNET_ 前缀的环境变量覆盖 config.yaml 配置,完整变量列表请参阅 扫描节点池管理。