Initial LisgloSIPS V2 implementation
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
# Server T 资产与 OpenSIPS 盘点
|
||||
|
||||
> 采集时间:2026-06-20 17:55-17:59 +08:00
|
||||
> 采集方式:SSH、OpenSIPS MI、RTPEngine CLI 和 MariaDB 只读查询;未修改配置、数据或服务状态,未发起 SIP 呼叫。
|
||||
|
||||
## 1. 定位与结论
|
||||
|
||||
- 规划角色:模拟客户 SIP 注册、IP 认证和呼叫的测试机。
|
||||
- 当前状态:OpenSIPS、RTPEngine、录音守护进程、MariaDB、Apache/PHP 和 Monit 已运行。
|
||||
- 配置健康:`opensips -C` 通过;OpenSIPS MI 可用;RTPEngine 当前被 OpenSIPS 标记为 enabled。
|
||||
- 测试就绪度:基础进程就绪,但数据库中没有 subscriber、location、dispatcher、落地网关或路由规则,当前还不能完成真实注册/呼叫验收。
|
||||
|
||||
## 2. 系统与容量
|
||||
|
||||
| 项目 | 当前值 |
|
||||
| --- | --- |
|
||||
| 主机名 | SteveTable |
|
||||
| 虚拟化 | KVM/QEMU |
|
||||
| OS | Ubuntu 24.04.4 LTS |
|
||||
| 内核 | 6.17.0-35-generic |
|
||||
| CPU | 4 vCPU,AMD Ryzen 7 3700X 型号透传 |
|
||||
| 内存 | 7.8 GiB,总可用约 6.5 GiB |
|
||||
| Swap | 4.0 GiB,当前未使用 |
|
||||
| 系统盘 | 200 GiB ext4,根分区可用 164 GiB,使用率 13% |
|
||||
| NFS | 100.120.96.71:/mnt/share,已挂载,可用约 345 GiB |
|
||||
| 时间 | Asia/Shanghai,systemd-timesyncd 已同步 |
|
||||
|
||||
## 3. 网络与端口
|
||||
|
||||
| 接口 | 地址 |
|
||||
| --- | --- |
|
||||
| ens18 | 192.168.71.105/24、192.168.71.239/24 |
|
||||
| tailscale0 | 100.93.185.30/32 |
|
||||
|
||||
- 与 A/B 相同,存在双 IPv4 和两个等 metric 默认路由。
|
||||
- OpenSIPS 仅监听 `100.93.185.30:5060/UDP`。
|
||||
- RTPEngine 控制端口 2223/UDP、2224/TCP、2225/TCP 只监听回环地址。
|
||||
- MariaDB 3306 只监听回环地址。
|
||||
- OpenSIPS MI HTTP 8888 只监听回环地址。
|
||||
- Apache 80/TCP、SSH 22/TCP、rpcbind 111/TCP/UDP 对所有地址监听。
|
||||
- RTPEngine RTP 范围配置为 UDP 30000-40000,但空闲时不表现为固定监听 socket。
|
||||
- UFW inactive,nftables INPUT/FORWARD 默认 accept。
|
||||
|
||||
## 4. 通信栈
|
||||
|
||||
| 组件 | 版本/状态 |
|
||||
| --- | --- |
|
||||
| OpenSIPS | 3.6.6,active/enabled |
|
||||
| RTPEngine | 11.5.1.18,active/enabled |
|
||||
| RTPEngine Recording | 11.5.1.18,active/enabled |
|
||||
| MariaDB | 10.11.14,active/enabled |
|
||||
| Apache | 2.4.58,active/enabled |
|
||||
| PHP | 8.3.6 |
|
||||
| Monit | 5.33.0,active/enabled |
|
||||
|
||||
### OpenSIPS 配置能力
|
||||
|
||||
- UDP SIP socket:100.93.185.30:5060。
|
||||
- 已加载 auth/auth_db、domain、permissions、usrloc/registrar、dispatcher、drouting、dialog、acc、tracer、rtpengine、rtpproxy。
|
||||
- MI HTTP:127.0.0.1:8888;MI FIFO:`/run/opensips/opensips_fifo`。
|
||||
- 数据库中已有 domain 2 条、address 1 条、rtpengine 1 条。
|
||||
- subscriber、location、dispatcher、dr_gateways、dr_rules、sip_trace 均为 0 条。
|
||||
- 自本次启动以来:接收 SIP 请求/回复为 0,注册成功/失败均为 0,dialog 为 0。
|
||||
- 64 MiB OpenSIPS shared memory 当前实际使用约 3.8 MiB。
|
||||
|
||||
### RTPEngine 与录音
|
||||
|
||||
- 控制端:127.0.0.1:2223;CLI:127.0.0.1:2224;HTTP:127.0.0.1:2225。
|
||||
- RTP 范围:30000-40000;声明接口为 100.93.185.30。
|
||||
- 当前会话 0,总处理会话 0,说明尚未完成过媒体联调。
|
||||
- `xt_RTPENGINE` 内核模块不存在,启动日志明确显示 kernel forwarding disabled;目前只能依赖 userspace forwarding。
|
||||
- 录音目录 `/var/spool/rtpengine` 与 `/var/lib/rtpengine-recording` 均为空,权限为 rtpengine 用户/组 0770。
|
||||
- NFS 共享已挂载,但当前 RTPEngine 录音目录并未直接挂到该 NFS。
|
||||
|
||||
## 5. 安全与运行风险
|
||||
|
||||
1. **高:TLS 私钥权限错误。** `cakey.pem` 与 `user-privkey.pem` 为 0644,所有本机用户可读。
|
||||
2. **高:MI FIFO 为 0666。** 任意本机用户可向 OpenSIPS 管理接口发送命令。
|
||||
3. **高:防火墙默认放行。** Apache、SSH、rpcbind 等暴露范围依赖外部网络控制,主机本身没有默认拒绝策略。
|
||||
4. **高:克隆身份未清理。** A/B/T 共享 machine-id、根文件系统 UUID 和 NetworkManager 连接 UUID。
|
||||
5. **中:RTPEngine 无内核加速。** `xt_RTPENGINE` 与当前 6.17 内核不匹配,无法满足架构图中的内核态加速目标。
|
||||
6. **中:服务启动顺序存在竞态。** OpenSIPS 比 RTPEngine 早约 8 秒启动,启动日志中一度禁用 RTPEngine;当前已自动恢复为 enabled。
|
||||
7. **中:测试数据为空。** 尚无 SIP 注册账号、注册位置、dispatcher 或路由,T 机目前只能证明进程健康,不能证明呼叫链路健康。
|
||||
8. **中:Apache 80 与 rpcbind 111 对所有接口开放。**
|
||||
9. **低:fwupd 刷新任务失败。** `fwupd-refresh.service` 当前失败,与 SIP 主链路无关但应清理告警。
|
||||
|
||||
## 6. 配置基线与备份清单
|
||||
|
||||
正式执行 S21 前至少备份:
|
||||
|
||||
- `/etc/opensips/` 全目录,当前主配置 SHA-256:`987498fca01160ba07f380bf870e38c2140e61ac51e0f93c154b56b1480d37af`。
|
||||
- `/etc/rtpengine/`、`/etc/default/rtpengine-*` 和相关 systemd unit。
|
||||
- `/etc/mysql/` 与 `mysqldump --single-transaction --routines --events --all-databases`。
|
||||
- OpenSIPS 数据库各表行数、schema 和现有 domain/address/rtpengine 数据导出。
|
||||
- `/etc/apache2/`、`/etc/php/`、`/etc/monit/`。
|
||||
- 当前 nftables/iptables、RTPEngine chain、端口和路由快照。
|
||||
- NFS/fstab、录音目录权限和挂载状态。
|
||||
- 修改 TLS 权限、MI 权限、启动依赖或内核前制作虚拟机快照。
|
||||
|
||||
私钥、数据库连接串和 SIP 密码不得写入项目文档或普通日志。
|
||||
|
||||
## 7. 后续任务输入
|
||||
|
||||
- S02:验证 A/T 的 15060/5060 SIP 可达性、RTP 30000-40000 双向可达性和 Tailscale/真实公网路径。
|
||||
- S21:新增专用测试账号与 IP 认证数据,保留失败场景;不要复用生产密码。
|
||||
- S21 前先修复 TLS 私钥和 MI FIFO 权限。
|
||||
- 决定 T 机是否需要 RTPEngine 内核态加速;若只模拟客户侧信令,可不把它作为 S21 阻塞项。
|
||||
- 调整 OpenSIPS 对 RTPEngine 的 systemd 启动顺序,或确认启动后的自动重检策略。
|
||||
Reference in New Issue
Block a user