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 进行会话控制,并通过 GTP-U(通过 Linux 内核模块)进行用户平面隧道。此模式完全符合 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 隧道管理 - 基于 IKEv2 的 UE 和 ePDG 之间的安全隧道
- 双重操作模式 - 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:
- 创建会话请求/响应 - 建立带有 TEID 分配的 GTP 隧道
- 删除会话请求/响应 - 拆除 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 集成
- 保持 故障排除 指南以备操作使用
系统集成商: