FAQ 内外网IP与WAN开关配置

0 阅读2分钟

Skeyevss FAQ:内外网 IP 与 WAN 开关配置

试用安装包下载 | SMS | 在线演示

项目地址github.com/openskeye/g…


1. 为什么要有 INTERNAL / EXTERNAL

GB28181 信令与 SDP 中多处需要填写「对端可见的地址」。同一台服务器:

  • 局域网设备 应呈现内网 IP;
  • 公网设备 应呈现公网 IP(或经映射后对外声明的地址)。

平台通过环境变量区分这两类地址,并在构建 SIP/SDP 时选择正确一侧,避免「设备把码流发到不可达地址」。


2. 关键变量说明(概念)

  • SKEYEVSS_INTERNAL_IP:服务器在局域网中的地址,供内网终端访问信令与媒体;
  • SKEYEVSS_EXTERNAL_IP:对公网侧声明的地址(可以是公网 IP 或统一入口 IP);
  • SKEYEVSS_VSS_SIP_USE_EXTERNAL_WAN:是否按「外网/WAN」策略生成对设备可见的 SIP 与媒体描述(具体行为以当前版本实现为准,部署时以官方说明与实测为准)。

3. 典型部署组合

3.1 纯内网

设备与平台同一二层/三层内网:

  • INTERNAL_IP / EXTERNAL_IP 可设为同一内网地址(常见做法);
  • SIP_USE_EXTERNAL_WAN 一般为 false

3.2 设备在公网、平台在机房公网 IP

  • EXTERNAL_IP 填机房对外 IP;
  • SIP_USE_EXTERNAL_WAN 通常为 true
  • 防火墙放行 SIP 与媒体端口段。

3.3 平台在内网、仅部分设备经映射访问

需明确:设备看到的「SIP 服务器地址」 是映射后的公网 IP 还是内网 IP,并与 EXTERNAL_IP、SDP 声明一致;否则会出现注册成功但点播无流(媒体地址不可达)。


4. 常见配置错误

  • 设备填公网,但 SIP_USE_EXTERNAL_WAN=false,导致 SDP 仍写内网地址;
  • 修改 .env 后未重启 VSS,旧进程仍用旧 IP;
  • 多网卡机器选错绑定地址,INTERNAL_IP 与实际监听网卡不一致。

5. 验证方法

  1. 在 SIP 实时日志 中查看发往设备的 INVITE 里 SDP 的 c= 是否为预期 IP;
  2. tcpdump 在设备侧或平台侧看 RTP 目的地址是否一致;
  3. 对比设备 Web 配置中的「SIP 服务器地址」与平台声明是否同拓扑语义。

内外网本质是对谁可见的问题,配置时记住 设备 → NAT/路由 → 平台 即可少踩坑。