# S02 网络与端口验收报告 > 验收时间:2026-06-20 > 环境:本地 KVM 开发服务器,Tailscale 三机专网 > 结论:开发网络满足当前联调要求;阿里云安全组尚未创建,本报告给出未来迁移清单。 ## 1. 环境边界 | 代号 | Tailscale IP | 开发阶段角色 | | --- | --- | --- | | A | 100.90.90.90 | 核心通信网关 | | B | 100.90.90.91 | API、缓存、数据库、录音和监控 | | T | 100.93.185.30 | 客户/供应商 SIP 测试端 | | 开发机 | 100.91.249.119 | SSH 与运营 Web 管理端 | - 用户确认 A/B/T 均为本地开发服务器,开发完成后再迁移阿里云。 - 开发阶段服务间通信统一使用 Tailscale IP,不依赖 ens18 上的两个局域网地址。 - 本次未修改 Tailscale ACL、主机防火墙、路由、云安全组或服务配置。 - 尚未部署的端口使用绑定到指定 Tailscale IP 的短时测试监听器;测试后已确认进程退出。 ## 2. 双向 RTT 每个方向先建立 Tailscale 直连,再发送 20 个 ICMP 样本: | 来源 | 目标 | 丢包 | 平均 RTT | 最大 RTT | | --- | --- | ---: | ---: | ---: | | A | B | 0% | 0.648 ms | 2.389 ms | | B | A | 0% | 0.595 ms | 0.741 ms | | A | T | 0% | 0.434 ms | 0.668 ms | | T | A | 0% | 0.559 ms | 1.711 ms | | B | T | 0% | 0.593 ms | 0.757 ms | | T | B | 0% | 0.561 ms | 1.496 ms | 结论:三机稳态 RTT 均小于 1 ms,丢包为 0,满足开发联调目标。 Tailscale 接口 MTU 为 1280。A 到 B/T 的 1200 字节 ICMP payload、DF 模式各 5 次均为 0% 丢包,平均 RTT 分别为 0.634 ms 和 0.657 ms。 ## 3. 路径稳定性 - 三机稳态均为局域网 direct 路径,没有经过 DERP。 - 当前开发机到 A/B/T 建立直连后的延迟约为 10/9/3 ms。 - 测试过程中开发机到三机的 Tailscale 路径曾发生一次重新协商,约一分钟内 SSH 新连接超时;恢复后无需重启服务。 - 开发机测得最近 DERP 为 San Francisco,约 166 ms。若局域网 direct 失败并退化到 DERP,SIP/RTP 联调体验会明显下降。 - 建议开发时保持局域网 UDP 41641 可达,并监控 `tailscale ping` 是否显示 `direct`。 ## 4. 已执行端口验收 | 来源 | 目标 | 协议/端口 | 用途 | 结果 | | --- | --- | --- | --- | --- | | T | A | UDP 15060 | 规划中的客户 SIP 入口 | PASS,收到双向 ACK | | T | A | UDP 30000 | RTP 范围下界 | PASS,收到双向 ACK | | T | A | UDP 40000 | RTP 范围上界 | PASS,收到双向 ACK | | A | T | UDP 30000 | RTP 反向下界 | PASS,收到双向 ACK | | A | T | UDP 40000 | RTP 反向上界 | PASS,收到双向 ACK | | A | T | UDP 5060 | T 机现有 OpenSIPS | PASS,OPTIONS 返回 SIP 484 | | 开发机 | B | TCP 443 | 规划中的运营 Web HTTPS | PASS,收到 ACK | | A | B | UDP 9060 | HEP | PASS,收到 ACK | | A | B | TCP 6379 | Redis 热路径 | PASS,收到 ACK | | A | B | TCP 3306 | 网络路径测试 | PASS;安全策略仍禁止远程直连 | | B | A | TCP 9100 | Prometheus 抓取 Exporter | PASS,收到 ACK | | B | A | TCP 22 | 录音拉取/运维路径 | PASS,TCP 建连成功;历史开发端口,后续迁移为 `` | T 机 SIP OPTIONS 测试产生 1 条 `sip_trace` 记录;`acc` 和 `missed_calls` 未增加。该测试记录保留用于审计。 ## 5. 开发阶段最小暴露矩阵 ### Server A 入站 | 协议/端口 | 允许来源 | 要求 | | --- | --- | --- | | TCP `` | 开发机、B | SSH 管理与 B 拉取录音;保留 Key 登录 | | UDP 15060 | T | 开发 SIP 信令 | | UDP 30000-40000 | T | 开发 RTP;与 RTPEngine 配置一致 | | TCP 9100 | B | Node Exporter,仅监控抓取 | | RTPEngine 控制端口 | 本机回环 | 不允许 Tailscale 或局域网访问 | ### Server B 入站 | 协议/端口 | 允许来源 | 要求 | | --- | --- | --- | | TCP `` | 开发机 | SSH,保留 Key 登录 | | TCP 443 | 开发机 | 运营端 HTTPS | | UDP 9060 | A | HEP | | TCP 6379 | A、B 本机 | Redis;密码/ACL、专网绑定 | | TCP 3306 | B 本机 | MySQL 仅回环地址,不开放给 A | | TCP 3000/9090 | B 本机 | Grafana/Prometheus 经反向代理或 SSH 隧道访问 | | 应用内部端口 | B 本机 | 由 Nginx 代理,不直接暴露 | ### Server T 入站 | 协议/端口 | 允许来源 | 要求 | | --- | --- | --- | | TCP `` | 开发机 | SSH,保留 Key 登录 | | UDP 5060 | A | 测试 SIP | | UDP 30000-40000 | A | 测试 RTP | | TCP 80、TCP/UDP 111 | 默认禁止 | 现有 Apache/rpcbind 非 SIP 联调必需 | ## 6. Tailscale 与主机防火墙要求 - Tailscale ACL 应只允许上述源目标组合;当前主机侧无法读取 tailnet 管理端 ACL,需在 Tailscale 管理台复核。 - 主机防火墙仍必须实施默认拒绝,不能只依赖 Tailscale ACL。 - 服务应绑定 Tailscale IP 或 `127.0.0.1`,避免因 ens18 双地址选择错误而暴露到局域网。 - 开发环境也不得将 Redis、MySQL、RTPEngine 控制端口和 OpenSIPS MI 暴露给整个 tailnet。 - 防火墙落地分别属于 S03(B)和 S18/S19(A),不在 S02 修改。 ## 7. 未来阿里云安全组清单 ### 迁移前网络 1. A、B 放在同一 VPC,优先同一可用区;业务间使用私网 IP。 2. 为 A/B 分配唯一私网地址和唯一默认路由,不复制本地 machine-id、网卡 UUID 或磁盘 UUID。 3. T 继续作为外部测试端,通过 A 的公网 SIP/RTP 入口验收。 4. 数据库、Redis、HEP、Exporter 和录音搬运走 VPC 私网。 ### 安全组 A 开发阶段采用 UDP 30000-40000;迁移阿里云前应根据并发量重新计算并尽量缩小范围。 | 方向 | 协议/端口 | 来源/目标 | | --- | --- | --- | | 入站 | UDP 15060 | 已登记客户、供应商和 T 的公网 IP | | 入站 | UDP 30000-40000 | 已登记 RTP 对端;无法固定时配合限速和监控 | | 入站 | TCP `` | 管理 VPN/堡垒机安全组;B 私网 IP 仅用于录音拉取;保留 Key 登录 | | 入站 | TCP 9100 | B 的安全组或私网 IP | | 出站 | TCP 6379 | B 私网 IP | | 出站 | UDP 9060 | B 私网 IP | ### 安全组 B | 方向 | 协议/端口 | 来源/目标 | | --- | --- | --- | | 入站 | TCP 443 | 运营人员允许地址;上线后可按产品策略扩大 | | 入站 | TCP 80 | 可选,仅跳转 HTTPS | | 入站 | TCP `` | 管理 VPN/堡垒机安全组;保留 Key 登录 | | 入站 | UDP 9060 | A 的安全组或私网 IP | | 入站 | TCP 6379 | A 的安全组或私网 IP | | 入站 | TCP 3306 | 禁止公网;同机应用优先 127.0.0.1 | | 入站 | TCP 3000/9090 | 不开放公网,经 Nginx/VPN/隧道访问 | | 出站 | TCP `` | A 私网 IP,仅录音拉取需要时 | 实际创建安全组时应先记录规则截图/导出,按最小权限逐条添加,并从允许和禁止来源分别复测。 ## 8. 验收结论 - A/B/T 双向可达、稳态 RTT 和 MTU:PASS。 - SIP 15060、T SIP 5060、RTP 30000-40000 双向路径:PASS。 - B 的 Web 443、HEP 9060、Redis 6379 路径:PASS。 - B 到 A 的监控与 SSH 路径:PASS。 - 最小暴露矩阵:已形成。 - 阿里云控制台操作清单:已形成,未执行。 S02 验收通过。开发环境的主机防火墙和服务绑定将在后续任务按服务器逐步实施。