OmniEPDG 操作指南
OmniEPDG 是一个演进的数据包数据网关 (ePDG),支持 WiFi 语音呼叫 (VoWiFi)。它通过 EAP-AKA 对不受信的 WiFi 网络上的移动用户进行身份验证,并通过 Diameter 信令连接到移动核心网络,连接到 HSS 和 GTP 隧道到数据包网关 (PGW)。

OmniEPDG 控制面板显示一个活跃的用户会话及实时流量统计。
OmniEPDG 支持两种操作模式:
- GTP 模式 (默认) - 通过 GTPv2-C 和 GTP-U 通过 PGW 完全符合 3GPP 标准的隧道
- 简单 VPN 模式 - 本地出口,内置 IP 池和 Linux TUN 接口,无需 PGW
文档
配置与操作
- 架构与呼叫流程 - 系统架构、协议接口、UE 状态机和两种模式的消息序列图
- 配置参考 - Diameter、GTPv2-C、GTP-U、简单 VPN 和日志的完整参数文档
- 控制面板 - 用于会话、Diameter 对等体和日志的基于 Web 的监控 UI
安全
- 安全指南 - 身份验证速率限制和 GeoIP 国家阻止
监控与故障排除
操作模式
GTP 模式
默认模式。OmniEPDG 通过 PGW 使用 GTPv2-C 隧道所有用户流量以进行会话控制,并通过 Linux 内核模块使用 GTP-U 进行用户面。这完全符合 3GPP 标准,适合具有现有 EPC 基础设施的运营商部署。
流量路径: UE → IPSec → OmniEPDG → GTPv2-C 创建会话 → GTP-U 隧道 → PGW → 互联网
所需基础设施: HSS,PGW
简单 VPN 模式
OmniEPDG 从本地池中分配 IP 地址,并通过 Linux TUN 接口 (tun_epdg) 直接路由用户流量,使用标准内核路由。不需要 PGW 或 GTP 基础设施。身份验证仍然通过 Diameter SWx 到 HSS 进行。
流量路径: UE → IPSec → OmniEPDG → 本地 IP 分配 → TUN 接口 → Linux 路由 → 互联网
所需基础设施: 仅 HSS (不需要 PGW)
可选优化: skip_sar 标志绕过 HSS 服务器分配请求/应答,减少连接建立时间。这意味着 HSS 不会跟踪哪个 ePDG 为用户提供服务,HSS 发起的程序 (注销、配置文件推送) 将无法正常工作。适合没有漫游要求的私有部署。
模式比较
| 功能 | GTP 模式 | 简单 VPN 模式 |
|---|---|---|
| 3GPP 兼容 | 是 | 否 (使用 skip_sar),部分 (不使用) |
| 需要 PGW | 是 | 否 |
| 需要 HSS | 是 | 是 (仅身份验证) |
| IP 分配 | 来自 PGW | 本地池 (CIDR) |
| 用户面 | GTP-U 内核模块 | Linux TUN + 路由 |
| HSS 配置文件推送 | 是 (PPR/PPA) | 否 |
| HSS 注销 | 是 (RTR/RTA) | 否 (使用 skip_sar) |
| PGW 发起的拆除 | 是 | 不适用 |
| 漫游支持 | 是 | 否 |
| IPv6 / 双栈 | 是 | 仅 IPv4 |
协议接口
| 接口 | 协议 | 传输 | 模式 | 对等体 | 目的 | 参考 |
|---|---|---|---|---|---|---|
| SWu | IKEv2 / IPSec | UDP | 两者 | UE | 安全隧道和 EAP-AKA 身份验证 | 3GPP TS 33.402 |
| SWx | Diameter | SCTP | 两者 | HSS | 身份验证向量和服务器分配 | 3GPP TS 29.273 第 8 节 |
| S6b | Diameter | SCTP | 仅 GTP | PGW | 会话授权和策略 | 3GPP TS 29.273 第 9 节 |
| S2b | GTPv2-C / GTP-U | UDP | 仅 GTP | PGW | 控制和用户面隧道 | 3GPP TS 29.274 |
功能
核心功能
- EAP-AKA 身份验证 - ���过 HSS 完全 3GPP EAP-AKA 用户身份验证
- IPSec 隧道管理 - UE 和 ePDG 之间基于 IKEv2 的安全隧道
- 双操作模式 - GTP 隧道到 PGW 或使用简单 VPN 的本地出口
- 每个 UE 状态机 - 每个用户独立的 Erlang FSM 进行会话生命周期管理
- 双栈支持 - IPv4、IPv6 和 IPv4v6 PDP 地址类型 (GTP 模式)
GTP 模式功能
- GTP 隧道建立 - 通过 Linux 内核模块进行 GTPv2-C 会话创建和 GTP-U 用户面
- PGW 发起的拆除 - PGW 发送删除承载请求,ePDG 将拆除传递给 UE
- 网络发起的拆除 - HSS 通过 SWx RTR 触发注销,ePDG 拆除所有会话
- 重新身份验证 - HSS 触发的配置文件推送和重新授权,详见 3GPP TS 29.273 第 7.1.2.5.1 节
简单 VPN 模式功能
- 本地 IP 池 - 基于 CIDR 的 IPv4 地址分配,按 IMSI 跟踪
- TUN 接口路由 - 标准 Linux TUN 设备 (
tun_epdg) 和每个 UE 的主机路由 - DNS 配置 - 通过 PCO 提供给 UE 的可配置 DNS 服务器
- 可选的 SAR 跳过 - 绕过 HSS 注册以加快连接建立
安全功能
- 身份验证速率限制 - 每个 IP 和每个 IMSI 的暴力破解保护,具有可配置阈值
- GeoIP 国家阻止 - 使用 MaxMind GeoLite2 的基于国家的访��控制白名单或黑名单
- 死对等检测 - 具有可配置探测的主动存活监控
- ESP 防重放保护 - 符合 RFC 4303 的 64 位滑动窗口
HSS 集成 (SWx Diameter)
- 多媒体身份验证请求/应答 (MAR/MAA) - 检索 EAP-AKA 身份验证向量 (两种模式)
- 服务器分配请求/应答 (SAR/SAA) - 下载用户配置文件和 APN 配置 (在简单模式中可跳过)
- 推送配置文件请求/应答 (PPR/PPA) - 从 HSS 接收更新的用户配置文件 (GTP 模式)
- 注册终止请求/应答 (RTR/RTA) - HSS 发起的用户注销 (GTP 模式)
PGW 集成 (仅限 GTP 模式)
S6b Diameter:
- AA 请求/应答 (AAR/AAA) - 授权 PGW 会话
- 会话终止请求/应答 (STR/STA) - 终止 PGW 会话
- 重新授权请求/应答 (RAR/RAA) - 重新授权活动会话
- 强制终止会话请求/应答 (ASR/ASA) - 强制终止会话
S2b GTPv2-C:
- 创建会话请求/响应 - 建立 GTP 隧道并分配 TEID
- 删除会话请求/响应 - 拆除 GTP 隧道
- 删除承载请求/响应 - PGW 发起的承载管理
快速开始
配置结构
配置在 config/runtime.exs 中完成或通过环境变量进行。vpn_mode 参数在 GTP 和简单 VPN 模式之间进行选择。有关完整参数文档,请参见 配置参考。
典型网络地址 (GTP 模式)
| 组件 | IP 地址 | 端口 | 备注 |
|---|---|---|---|
| OmniEPDG (GTP-U) | 10.74.0.11 | - | GTP-U 隧道端点 |
| OmniEPDG (Diameter S6b) | 10.74.0.12 | 3868 | S6b Diameter 监听器 |
| HSS | 10.74.0.21 | 3868 | SWx Diameter 对等体 |
| PGW | 10.74.0.23 | 2123 | GTPv2-C 和 S6b 对等体 |
典型网络地址 (简单 VPN 模式)
| 组件 | IP 地址 | 备注 |
|---|---|---|
| OmniEPDG (TUN 网关) | 10.44.0.1 | tun_epdg 接口上的网关 IP |
| UE IP 池 | 10.45.0.0/16 | 可配置的 CIDR 池,用于用户 IP |
| HSS | 10.74.0.21:3868 | SWx Diameter 对等体 (仅身份验证) |
3GPP 规范
| 规范 | 标题 | 相关性 |
|---|---|---|
| TS 29.273 | EPS AAA 接口 (SWx, S6b, SWm) | ePDG Diameter 接口的主要规范 |
| TS 29.274 | GTPv2-C 和 GTP-U | S2b 隧道控制和用户面 (GTP 模式) |
| TS 33.402 | 非 3GPP 访问的安全性 | 不受信 WiFi 的 EAP-AKA 身份验证 |
| TS 23.402 | 非 3GPP 访问的架构增强 | 整体 ePDG 架构和程序 |
| TS 23.003 | 编号、寻址和识别 | NAI 格式,IMSI 结构 |
| TS 29.229 | Cx/Dx Diameter (通用定义) | SWx 使用的服务器分配类型值 |
| RFC 6733 | Diameter 基础协议 | Diameter 传输、对等体管理、看门狗 |
| RFC 4187 | EAP-AKA | 通过 IKEv2 使用的身份验证方法 |
按角色文档
网络运营商:
- 从 架构与呼叫流程 开始,了解系统和两种操作模式
- 查看 配置参考 以获取部署参数
- 查看 安全指南 以配置速率限制和 GeoIP 阻止
- 使用 指标参考 设置监控以进行 Prometheus 集成
- 保持 故障排除 指南以备操作使用
系统集成商: