Guia de Operações e Implantação do OmniTWAG
Criado por Omnitouch
Este guia é destinado a operadores de rede, administradores de sistema e clientes que estão implantando o OmniTWAG.
Índice
- Introdução
- O que é Offload de WiFi?
- Arquitetura de Implantação
- Fluxo de Cobrança
- Fluxo de Autenticação
- Guia de Configuração
- Configuração do Ponto de Acesso
- Integração Hotspot 2.0
- Monitoramento e Gerenciamento
- Solução de Problemas
- Conformidade com Padrões
- Documentação
Documentação
Este guia é o ponto de entrada. As páginas abaixo cobrem recursos específicos e referências.
Fluxos de Chamada
- Fluxos de Chamada - Diagramas de sequência de ponta a ponta para anexação, autenticação, endereçamento, cobrança e finalização em todos os modos de breakout e cobrança.
Subsistemas
- Autenticação - EAP-AKA', EAP-AKA e EAP-SIM, sourcing de vetor de autenticação (SWx para o HSS ou Milenage local), derivação de chave e entrega ao AP, e ressincronização.
- Modos de Conexão - Modo de Conexão Única Transparente (TSCM), Modo de Conexão Única (SCM) e Modo de Múltiplas Conexões (MCM/WLCP), negociação de modo e mobilidade.
- Interface S2a GTP-C - Estabelecimento de sessão, gerenciamento de bearer e finalização com o PGW sobre S2a.
- Plano do Usuário e Caminho de Dados - Tunelamento GTP-U, GRE, encaminhamento de downlink, bearers e Modelos de Fluxo de Tráfego.
- Gerenciamento de Endereço IP - Como o endereço de um UE é entregue via DHCPv4, DHCPv6, Anúncio de Roteador IPv6 e PCO.
- Cobrança Online - A interface Gy para o OCS: fluxo de controle de crédito, relatório de cota e modos de cobrança.
Recursos
- Segredos Compartilhados RADIUS (por grupo de IP de origem) - Gerenciar muitos segredos compartilhados, cada um vinculado a uma sub-rede de IP de origem, e definir o tipo de breakout por AP (tuneado, NSWO ou local) e modo de cobrança.
- Pools de IP - Pools de endereços dirigidos por API para NSWO (breakout local ancorado no TWAG), associado a uma credencial de ponto de acesso.
- Sessões - A visualização de sessão ao vivo por assinante com tráfego/contabilidade mesclados, e ações por sessão (expulsar, iniciar/parar contabilidade).
- Rejeições RADIUS - Fontes RADIUS rejeitadas: pontos de acesso desconhecidos e pontos de acesso com um segredo compartilhado errado.
- Contabilidade por AP - Totais de tráfego agregados e contagens de sessão para cada ponto de acesso.
Referência
- Arquitetura - Arquitetura de componentes e processos internos.
- Referência de Métricas - Métricas Prometheus e consultas de exemplo.
- Benchmarks de Desempenho - Throughput de controle medido.
Introdução
OmniTWAG (Gateway de Acesso WiFi Confiável) é uma implementação compatível com padrões de um TWAG 3GPP que permite que operadores de rede móvel descarreguem com segurança o tráfego de assinantes de redes celulares para pontos de acesso WiFi, mantendo a autenticação segura baseada em SIM.
O TWAG autentica assinantes WiFi usando suas credenciais SIM via EAP-AKA (Protocolo de Autenticação Extensível - Acordo de Autenticação e Chave), o mesmo mecanismo de autenticação usado em redes celulares. Isso fornece acesso WiFi contínuo e seguro para assinantes móveis sem exigir senhas WiFi separadas.
Principais Benefícios
Para Usuários Finais:
- Zero Configuração: Funciona imediatamente com SIM compatível
- Experiência Contínua: Conexão automática como celular
- Seguro: Sempre usa WiFi criptografado (WPA2)
- Sem Senhas: Autenticação baseada em SIM
Para Operadores Móveis:
- Alívio da Capacidade da Rede: Reduz a carga nas estações base celulares
- Offload Controlado: Apenas assinantes autorizados podem se conectar
- Melhoria na Experiência do Usuário: WiFi geralmente oferece maior largura de banda
- Eficiência de Custo: A infraestrutura WiFi é menos cara que a celular
- Identidade Consistente: Mesmo IMSI usado para WiFi e celular
- Integração de Cobrança: Pode cobrar pelo uso de WiFi se desejado
Para Locais/Empresas:
- Segurança de Nível Operador: Sem risco de compartilhamento de senhas
- Escalabilidade: Suporta milhares de usuários sem provisionamento manual
- Gerenciamento Simplificado: Sem necessidade de distribuir senhas WiFi
O que é Offload de WiFi?
Offload de WiFi permite que operadores de rede móvel redirecionem o tráfego de dados dos assinantes de redes celulares congestionadas para redes WiFi.
Como o TWAG Habilita o Offload
O TWAG atua como o gateway de autenticação entre:
- Pontos de Acesso WiFi (via protocolo RADIUS)
- Rede Central Móvel HSS/HLR (via interface Diameter SWx)
Quando o dispositivo de um assinante se conecta a um AP WiFi configurado para offload:
- O dispositivo se identifica usando seu IMSI (do cartão SIM)
- O AP WiFi encaminha solicitações de autenticação para o TWAG via RADIUS
- O TWAG se comunica com o HSS do operador para recuperar vetores de autenticação
- A autenticação de desafio-resposta EAP-AKA ocorre entre o dispositivo e o TWAG
- Após a autenticação bem-sucedida, o dispositivo recebe acesso WiFi
- Opcionalmente, o tráfego pode ser tunelado de volta para o núcleo móvel ou quebrar localmente
Arquitetura de Implantação
Topologia de Rede
Legenda da Interface:
- STa*: Interface RADIUS/Diameter entre AP WiFi e TWAG (não-3GPP para AAA)
- SWx: Interface Diameter entre TWAG (Servidor AAA 3GPP) e HSS
- S2a/S2b: Interface de túnel GTP para backhaul para a rede doméstica (opcional)
- SGi: Interface para redes de dados de pacotes externas (Internet)
- 802.11: Interface de rádio WiFi
- EAPOL: EAP sobre LAN (autenticação 802.1X)

Cenários de Implantação
Cenário 1: Breakout Local (Recomendado para Desempenho)
Benefícios:
- Menor latência (sem retorno ao núcleo)
- Carga reduzida na rede central
- Melhor experiência do usuário para aplicações de alta largura de banda
- Economia de custos na capacidade de backhaul
Cenário 2: Roteamento para Rede Domiciliar (Túnel GTP)
Benefícios:
- Aplicação consistente de políticas
- Cobrança/contabilidade centralizada
- Políticas de VPN/segurança corporativa aplicáveis
- Mobilidade contínua entre WiFi e celular
Opções de Conexão SWx
Opção 1: Conexão Direta ao HSS
Caso de Uso: Implantações simples, ambientes de laboratório, único HSS
Benefícios:
- Menor latência (sem salto pelo DRA)
- Configuração simplificada
- Depuração mais fácil
Opção 2: Via DRA (Agente de Roteamento Diameter)
Caso de Uso: Implantações multi-HSS, cenários de roaming, redes de grande escala
Benefícios:
- Lógica de roteamento centralizada
- Balanceamento de carga entre múltiplos HSS
- Suporte a roaming (roteia para o HSS doméstico)
- Redundância e failover
- Persistência de sessão
Fluxo de Cobrança
O TWAG pode ser totalmente integrado para enviar solicitações de cobrança online baseadas em Diameter Gy para um Sistema de Cobrança Online (OCS).
Isso permite a contabilidade de todos os dados consumidos no WiFi, contra o saldo do cliente, e é entregue via AP no RADIUS e convertido para Gy pelo TWAG e encaminhado para o DRA/OCS.
Em todos os modos, o uso é rastreado pelas métricas do TWAG.

Modos de Cobrança
O TWAG suporta três modos de cobrança online:
1. Cobrança Desativada
Nenhuma solicitação de controle de crédito é enviada. Nenhuma autorização de saldo é realizada.
Casos de Uso:
- Redes WiFi abertas/gratuitas
- Ambientes de laboratório/teste
- Redes com cobrança offline apenas (contabilidade RADIUS para faturamento)
Fluxo:
2. Somente Autorização
Um CCR-Initial (Solicitação de Controle de Crédito) é enviado ao OCS no início da sessão WiFi para validar se o assinante tem saldo, mas o saldo não é descontado durante a sessão.
Casos de Uso:
- Validar se o assinante tem conta/saldo ativo
- Prevenir acesso WiFi para contas suspensas
- Verificar elegibilidade de serviço sem rastreamento de cota
- Permitir WiFi como serviço bônus/ilimitado para clientes pagantes
Fluxo:
Configuração:
- OCS é consultado no início da sessão (CCR-I) e no final (CCR-T)
- Nenhuma mensagem CCR-Update enviada durante a sessão
- Assinante autorizado com base no status da conta, não na cota
- Uso relatado no final da sessão apenas para fins informativos
3. Cobrança Online Gy Total (Implementação Completa)
O fluxo de cobrança online padrão 3GPP é seguido. Todo uso no WiFi é passado para o OCS para cobrança, com o assinante sendo desconectado uma vez que exceder sua cota.
Casos de Uso:
- Serviços de dados pré-pagos
- WiFi pay-per-use
- Planos baseados em cota (por exemplo, 10GB de limite mensal)
- Cobrança em tempo real e desconexão
Fluxo:
Configuração:
- OCS consultado no início da sessão (CCR-I), durante a sessão (CCR-U) e no final (CCR-T)
- Cota solicitada em blocos configuráveis (por exemplo, 10MB, 50MB, 100MB)
- CCR-Update acionado em limite configurável (por exemplo, 80% da cota concedida)
- Temporizador de validade aciona re-autorização se a cota não for esgotada
- Desconexão forçada quando a cota for esgotada
- Dedução de saldo em tempo real
Fluxo de Autenticação
Sequência Completa de Autenticação EAP-AKA
Pontos Chave no Fluxo de Autenticação
-
MAR/MAA é o fim da comunicação com o HSS: Após receber o MAA (Resposta de Autenticação Multimídia) com XRES, o TWAG lida com todas as verificações subsequentes localmente.
-
TWAG realiza a verificação de RES: O HSS fornece a resposta esperada (XRES), mas o TWAG a compara com o RES real do UE. O HSS NÃO está envolvido nesta comparação.
-
A autenticação acontece no TWAG: Isso é diferente de alguns diagramas que mostram o HSS fazendo a verificação. Na arquitetura 3GPP real, o servidor AAA (TWAG) realiza a comparação.
Formato de Identidade
O dispositivo responde com sua identidade permanente (IMSI) no formato NAI:
5055700000000000001@wlan.mnc057.mcc505.3gppnetwork.org
Formato: 0{IMSI}@wlan.mnc{MNC}.mcc{MCC}.3gppnetwork.org
Nota - O primeiro dígito, antes do IMSI, é a identidade, geralmente 0, mas pode ser outro número de um único dígito para SIMs / dispositivos multi-IMSI.
Chave de Sessão Mestre (MSK)
A Chave de Sessão Mestre (MSK) é uma chave criptográfica de 512 bits (64 bytes) derivada durante a autenticação EAP-AKA. Ela serve como o material de chave raiz para proteger a conexão WiFi.
Derivação do MSK:
- Tanto o UE quanto o TWAG derivam independentemente o mesmo MSK
- UE deriva de CK/IK computado pelo SIM
- TWAG deriva de CK/IK recebido do HSS
- MSK = PRF'(CK || IK, "Autenticação Completa", IMSI, ...)
Uso do MSK:
- Derivação do PMK: PMK = primeiros 256 bits (32 bytes) do MSK
- Aperto de Mão WPA2 4-Way: Tanto UE quanto AP usam PMK para derivar PTK
- Criptografia de Dados: Todos os quadros de dados WiFi criptografados com Chave Temporal (TK) do PTK
Por que o MSK é Crítico:
- Confidencialidade: Sem MSK, o tráfego WiFi seria não criptografado
- Integridade: Previne a adulteração de quadros WiFi
- Vinculação de Autenticação: Liga a autenticação EAP à criptografia WiFi
- Proteção contra Repetição: MSK fresco previne ataques de repetição
- Perfeita Segurança em Avanço: Comprometimento de um MSK não afeta outros
Recuperação de Ressincronização
Se o dispositivo detectar uma discrepância no número de sequência (SQN fora de sincronia), ele inicia a ressincronização:
- O dispositivo calcula AUTS (Token de Autenticação - Sincronização)
- Envia EAP-AKA Falha de Sincronização com AT-AUTS
- TWAG encaminha AUTS para HSS
- HSS ressincroniza o número de sequência e gera novos vetores
- A autenticação é tentada novamente com vetores frescos
Isso é transparente para o usuário final e não requer intervenção do operador.
Guia de Configuração
O TWAG é configurado via arquivos de configuração Elixir no diretório config/. A configuração principal em tempo de execução está em config/runtime.exs.
Para implantações em produção, a configuração é gerenciada centralmente. O abaixo é apenas uma referência, quaisquer valores alterados em um nó de produção serão perdidos na próxima vez que a orquestração automatizada for executada.
Configuração Diameter
Localizada em config :diameter_ex:
config :diameter_ex,
diameter: %{
# Nome do serviço para a pilha Diameter
service_name: :omnitouch_twag,
# Endereço IP local para vincular o serviço Diameter
listen_ip: "10.5.198.200",
# Porta local para conexões Diameter (padrão é 3868)
listen_port: 3868,
# Host de Origem Diameter
host: "omnitwag",
# Realm de Origem Diameter (corresponde ao seu realm de rede)
realm: "epc.mnc057.mcc505.3gppnetwork.org",
# Pares Diameter (HSS, DRA, servidores AAA)
peers: [
%{
# Host de Origem Diameter do par
host: "omni-hss01.epc.mnc057.mcc505.3gppnetwork.org",
# Realm de Origem Diameter do par
realm: "epc.mnc057.mcc505.3gppnetwork.org",
# Endereço IP do par (pode ser HSS diretamente ou DRA)
ip: "10.179.2.140",
# Porta do par (padrão é 3868)
port: 3868,
# Usar TLS para segurança de transporte
tls: false,
# Protocolo de transporte (:diameter_tcp ou :diameter_sctp)
transport: :diameter_tcp,
# Iniciar conexão com o par (true) ou esperar o par se conectar (false)
initiate_connection: true
}
]
}
Formato de Realm segue 3GPP TS 23.003:
epc.mnc{MNC}.mcc{MCC}.3gppnetwork.org
Onde:
- MNC = Código da Rede Móvel (por exemplo, 057)
- MCC = Código do País Móvel (por exemplo, 505 para Austrália)

Nota sobre o Uso do DRA: Para usar o OmniDRA, configure o IP do par para apontar para o DRA em vez de diretamente para o HSS. O DRA então roteará mensagens para o HSS apropriado com base nas regras de roteamento (Realm de Destino, faixa de IMSI, etc.).
Configuração RADIUS
Localizada em config :omnitwag:
config :omnitwag,
radius_config: %{
# Lista de sub-redes de IP de origem permitidas para clientes RADIUS
# Lista vazia = permitir todos (não recomendado para produção)
allowed_source_subnets: ["10.7.15.0/24", "192.168.1.0/24"],
# Segredo compartilhado para clientes RADIUS
# Todos os APs devem usar este segredo
secret: "YOUR_STRONG_SECRET_HERE"
}

Melhores Práticas de Segurança:
- Use segredos compartilhados RADIUS fortes (20+ caracteres)
- Configure
allowed_source_subnetspara restringir o acesso do AP - Use regras de firewall para restringir ainda mais o acesso às portas 1812/1813
Exemplo de configuração de sub-rede:
allowed_source_subnets: ["10.7.15.0/24", "192.168.1.0/24"]
Se vazio, todas as fontes são permitidas (apenas adequado para laboratório/teste).
Configuração de Monitoramento Prometheus
Localizada em config :omnitwag:
config :omnitwag,
prometheus: %{
# Porta para o endpoint de métricas do Prometheus
port: 9568
}
Acesse as métricas em: http://<twag-ip>:9568/metrics
Resumo de Portas
| Porta | Protocolo | Propósito |
|---|---|---|
| 1812 | UDP | Autenticação RADIUS |
| 1813 | UDP | Contabilidade RADIUS |
| 3868 | TCP | Diameter (SWx para HSS/DRA) |
| 443 | TCP | Painel Web HTTPS |
| 8444 | TCP | API REST HTTPS |
| 9568 | TCP | Métricas Prometheus |
Configuração do Ponto de Acesso
Pontos de Acesso Suportados
OmniTWAG funciona com qualquer AP WiFi que suporte:
- WPA2-Enterprise (autenticação 802.1X)
- Funcionalidade de cliente RADIUS
- Método de autenticação EAP-AKA
Plataformas testadas: Cisco Aironet, Aruba, Ubiquiti UniFi, Ruckus, APs baseados em hostapd
Requisitos Gerais de Configuração do AP
- Modo de segurança WPA2-Enterprise (802.1X)
- Servidor RADIUS apontando para o endereço IP do TWAG
- Porta de autenticação RADIUS: 1812
- Porta de contabilidade RADIUS: 1813 (opcional, mas recomendado)
- Segredo compartilhado RADIUS: Deve corresponder à configuração do TWAG
- Método EAP: EAP-AKA (ou "Todos")
Exemplo de Configuração do AP Cisco
Configuração CLI:
! Configurar servidor RADIUS
radius-server host 10.5.198.200 auth-port 1812 acct-port 1813 key YOUR_SHARED_SECRET
! Configurar SSID com 802.1X
dot11 ssid OPERATOR-WIFI
vlan 10
authentication open eap eap_methods
authentication network-eap eap_methods
authentication key-management wpa version 2
! Associar SSID à interface de rádio
interface Dot11Radio0
encryption mode ciphers aes-ccm
ssid OPERATOR-WIFI
Interface Web:
- Navegue até Segurança → AAA → Servidor RADIUS
- Adicione servidor RADIUS:
10.5.198.200:1812com segredo compartilhado - Navegue até a configuração WLAN
- Defina a Segurança como WPA2-Enterprise
- Defina o método EAP como EAP-AKA ou Todos
- Atribua o grupo de servidor RADIUS
Exemplo de Configuração do hostapd
Para APs baseados em Linux (OpenWrt, sistemas embarcados):
# /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=OPERATOR-WIFI
# WPA2-Enterprise
wpa=2
wpa_key_mgmt=WPA-EAP
wpa_pairwise=CCMP
ieee8021x=1
# Configuração RADIUS
auth_server_addr=10.5.198.200
auth_server_port=1812
auth_server_shared_secret=YOUR_SHARED_SECRET
acct_server_addr=10.5.198.200
acct_server_port=1813
acct_server_shared_secret=YOUR_SHARED_SECRET
# Configuração EAP
eap_server=0
# Hotspot 2.0 (Opcional - para offload automático)
interworking=1
internet=1
anqp_3gpp_cell_net=505,057
domain_name=wlan.mnc057.mcc505.3gppnetwork.org
nai_realm=0,wlan.mnc057.mcc505.3gppnetwork.org,0,21[2:1][5:7]
roaming_consortium=505057
hs20=1
Exemplo de Configuração do Ubiquiti airOS
Dispositivos Ubiquiti airMAX (por exemplo, NanoStation M2 e similares, airOS 6) funcionam com o TWAG usando WPA2-Enterprise simples (EAP); Hotspot 2.0 não é necessário. Configure o seguinte na aba WIRELESS do dispositivo.
Configurações Básicas de Wireless
| Configuração | Valor |
|---|---|
| Modo Wireless | Ponto de Acesso |
| WDS (Modo de Ponte Transparente) | Desativado |
| SSID | OperatorWiFi |
| Código do País / Modo 802.11 | por implantação (por exemplo, B/G/N misto) |
| Largura do Canal | 20 MHz |
Segurança Wireless
| Configuração | Valor |
|---|---|
| Segurança | WPA2-AES |
| Autenticação WPA | EAP |
| IP do Servidor de Autenticação / Porta | {TWAG_IP} : 1812 |
| Segredo do Servidor de Autenticação | o segredo compartilhado configurado para o IP de origem deste AP |
| Servidor de Contabilidade | Habilitado |
| IP do Servidor de Contabilidade / Porta | {TWAG_IP} : 1813 |
| Segredo do Servidor de Contabilidade | o segredo compartilhado (mesmo que autenticação) |
| ACL de MAC | Desativado |
Notas específicas para airOS:
- airOS não envia um atributo RADIUS
NAS-IP-Address. O TWAG identifica tais APs pelo IP de origem do pacote, então eles ainda aparecem na lista de Pontos de Acesso e podem ser alvo para CoA. - airOS não envia contabilidade interina por conta própria. O TWAG anuncia
Acct-Interim-Interval(padrão 300 s) na Aceitação de Acesso, que o airOS respeita, então atualizações de uso interinas chegam sem configuração extra do AP. - O segredo compartilhado deve corresponder a uma credencial RADIUS cuja sub-rede cobre o IP de origem do AP (veja Segredos Compartilhados RADIUS).
Exemplo de Configuração do MikroTik RouterOS
APs MikroTik (RouterOS) fazem WPA2-Enterprise retransmitindo EAP para o TWAG como um servidor RADIUS externo. Configure um perfil de segurança, um cliente RADIUS e aplique o perfil à interface wireless.
# Perfil de segurança WPA2-Enterprise (EAP)
/interface wireless security-profiles
add name=twag-eap mode=dynamic-keys authentication-types=wpa2-eap \
unicast-ciphers=aes-ccm group-ciphers=aes-ccm
# Cliente RADIUS para o serviço wireless, apontando para o TWAG
/radius
add service=wireless address={TWAG_IP} secret=YOUR_SHARED_SECRET \
authentication-port=1812 accounting-port=1813 timeout=3s
# Habilitar contabilidade RADIUS (o intervalo interino é retirado do servidor's
# Acct-Interim-Interval; RouterOS também tem /radius incoming para CoA/Desconectar)
/radius incoming set accept=yes
# Aplicar o perfil à rádio
/interface wireless
set wlan1 ssid=OperatorWiFi mode=ap-bridge band=2ghz-b/g/n \
security-profile=twag-eap disabled=no
Notas específicas para RouterOS:
- Defina
/radius incoming accept=yespara que o TWAG possa enviar CoA / Desconectar (por exemplo, para encerrar ou reautorizar uma sessão). - RouterOS respeita o
Acct-Interim-Intervalque o TWAG retorna na Aceitação de Acesso; nenhuma configuração separada de intervalo interino é necessária. - Certifique-se de que o IP de origem do AP está coberto por uma sub-rede de credencial RADIUS no TWAG (veja Segredos Compartilhados RADIUS).
Exemplo de Configuração do TP-Link Omada
Os pontos de acesso EAP Omada fazem WPA2-Enterprise com um servidor RADIUS externo. Eles são configurados através do Controlador Omada (hardware OC200/OC300, controlador de software ou Omada Cloud) em vez de CLI por AP. Crie um perfil RADIUS e aplique-o ao SSID.
Perfil RADIUS (Configurações → Perfis → RADIUS)
| Configuração | Valor |
|---|---|
| IP do Servidor de Autenticação / Porta | {TWAG_IP} : 1812 |
| Segredo do Servidor de Autenticação | o segredo compartilhado para o IP de origem deste AP |
| Contabilidade | Habilitado |
| IP do Servidor de Contabilidade / Porta | {TWAG_IP} : 1813 |
| Segredo do Servidor de Contabilidade | o segredo compartilhado (mesmo que autenticação) |
Rede Wireless (Configurações → Redes Sem Fio → seu SSID)
| Configuração | Valor |
|---|---|
| SSID | OperatorWiFi |
| Segurança | WPA-Enterprise (WPA2) |
| Perfil RADIUS | o perfil criado acima |
| Contabilidade RADIUS | Habilitada |
Notas específicas para Omada:
- Omada respeita o
Acct-Interim-Intervalque o TWAG retorna na Aceitação de Acesso, então atualizações de uso interinas chegam com o padrão do TWAG (300 s). - Omada normalmente envia
NAS-IP-Address, então seus APs aparecem diretamente na lista de Pontos de Acesso (a alternativa de IP de origem só é necessária para APs que o omitem). - O segredo compartilhado deve corresponder a uma credencial RADIUS cuja sub-rede cobre o IP de origem do AP (veja Segredos Compartilhados RADIUS).
Melhores Práticas de Arquitetura de Rede
Importante: Coloque APs e TWAG em segmentos de rede confiáveis. Use regras de firewall para:
- Permitir apenas APs alcançarem as portas 1812/1813 do TWAG
- Permitir que o TWAG alcance a porta 3868 do HSS
- Restringir o acesso de gerenciamento ao painel do TWAG (porta 443)
Integração Hotspot 2.0
Visão Geral do Hotspot 2.0 (Passpoint)
Hotspot 2.0 (também chamado de Passpoint ou 802.11u) é um padrão da WiFi Alliance que permite a descoberta e conexão automática e segura de redes WiFi sem interação do usuário. É a tecnologia chave para offload contínuo de WiFi.
Principais Recursos:
- Descoberta Automática de Redes: O dispositivo encontra redes compatíveis com base em critérios
- Autenticação Automática: Usa credenciais SIM (EAP-AKA) sem entrada do usuário
- Associação Inicial Criptografada: OSEN (Autenticação Somente do Servidor OSU) para provisionamento seguro
- Acordos de Roaming: Suporta redes visitadas (como roaming celular)
- Priorização: O dispositivo prefere redes de propriedade do operador
Configuração do AP Hotspot 2.0
Requisitos para AP:
- Suporte a 802.11u: Capacidade de consulta/resposta ANQP
- WPA2-Enterprise: Autenticação 802.1X
- Suporte a EAP-AKA: Deve suportar o método EAP-AKA
- Configuração ANQP: Anunciar informações corretas do operador
Exemplo de Configuração (AP baseado em hostapd):
# Configuração Hotspot 2.0 / Passpoint
interworking=1
internet=1
asra=0
esr=0
uesa=0
# Configuração ANQP
anqp_3gpp_cell_net=505,057
domain_name=omnitouchns.com,wlan.mnc057.mcc505.3gppnetwork.org
# Configuração do Realm NAI
nai_realm=0,wlan.mnc057.mcc505.3gppnetwork.org,0,21[2:1][5:7]
# Formato: {encoding},{realm},{eap-method}[auth-id:auth-val]
# 21 = EAP-AKA
# 2:1 = Tipo de Credencial: SIM
# 5:7 = Método EAP Tunelado: Nenhum (EAP-AKA direto)
# Consórcio de Roaming
roaming_consortium=505057
# MCC=505 (EUA), MNC=057 (específico do operador)
# Informações do Local (opcional)
venue_group=1
venue_type=8
venue_name=eng:Rede WiFi Pública do Operador
# Configuração WPA2-Enterprise
wpa=2
wpa_key_mgmt=WPA-EAP
rsn_pairwise=CCMP
ieee8021x=1
# Configuração RADIUS (aponta para OmniTWAG)
auth_server_addr=10.5.198.200
auth_server_port=1812
auth_server_shared_secret=YOUR_SHARED_SECRET
acct_server_addr=10.5.198.200
acct_server_port=1813
acct_server_shared_secret=YOUR_SHARED_SECRET
# Configuração SSID
ssid=OperatorWiFi
utf8_ssid=1
# Indicação Hotspot 2.0
hs20=1
hs20_oper_friendly_name=eng:Rede WiFi do Operador
Comportamento de Offload Automático
Como Funciona o Offload Automático:
- Dispositivo com perfil Passpoint realiza varredura periódica de WiFi
- Envia consulta ANQP para APs detectados
- Se a resposta ANQP corresponder ao perfil (MCC/MNC, consórcio de roaming):
- A prioridade é ALTA (rede doméstica) ou MÉDIA (parceiro de roaming)
- Se a prioridade ≥ limite e sinal > mínimo:
- Autenticação automática EAP-AKA
- Se a autenticação for bem-sucedida e a prioridade > conexão atual:
- Trocar para WiFi, desconectar dados celulares
- Monitorar qualidade do sinal e manter conectividade
Fatores de Prioridade:
- Doméstico vs. Roaming: Rede doméstica (correspondência MCC/MNC) preferida sobre roaming
- Força do Sinal: Sinal mais forte preferido
- Segurança: WPA2-Enterprise preferido sobre aberto/WPA2-PSK
- Política: O operador pode configurar redes preferidas
- Substituição do Usuário: O usuário pode desativar manualmente o WiFi ou preferir celular
Monitoramento e Gerenciamento
Painel Web
Acesse o painel de monitoramento em tempo real em: https://<twag-ip>/
Recursos:
- Visualização de Clientes RADIUS: Assinantes ativos, status de autenticação, detalhes da sessão
- Visualização de Pontos de Acesso: APs conectados, contagens de clientes, informações do SSID
- Visualização de Uso do Cliente: Dados de contabilidade, tempo de sessão, uso de dados
- Visualização de Pares Diameter: Status de conexão HSS/DRA
Integração Prometheus
Configure o Prometheus para coletar métricas do TWAG:
# prometheus.yml
scrape_configs:
- job_name: 'omnitwag'
static_configs:
- targets: ['10.5.198.200:9568']
metrics_path: '/metrics'
scrape_interval: 15s
Métricas Disponíveis:
Métricas do Servidor RADIUS:
radius_access_request_count- Total de pacotes RADIUS Access-Request recebidosradius_access_accept_count- Total de pacotes Access-Accept enviadosradius_access_reject_count- Total de pacotes Access-Reject enviadosradius_access_challenge_count- Total de pacotes Access-Challenge enviadosradius_accounting_request_count{status_type}- Total de pacotes Accounting-Request (marcados por status: início, parada, atualização interina, contabilidade ativa, contabilidade desativada)radius_active_clients_count- Clientes atualmente autenticados (poll a cada 5 segundos)radius_access_points_count- Pontos de acesso registrados (poll a cada 5 segundos)
Métricas de Autenticação EAP-AKA:
eap_aka_identity_count- Trocas de Identidade EAP-AKAeap_aka_challenge_count- Trocas de Desafio EAP-AKAeap_aka_sync_failure_count- Falhas de sincronização (eventos de ressincronização SQN)eap_aka_auth_success_count- Autenticações bem-sucedidaseap_aka_auth_reject_count- Autenticações rejeitadas
Métricas do Protocolo Diameter:
diameter_message_count{application, command, direction}- Total de mensagens Diameter (marcadas por aplicação, tipo de comando e direção)
Métricas de Memória do VM Erlang:
vm_memory_total- Total de memória alocada (bytes)vm_memory_processes- Memória usada por processos Erlang (bytes)vm_memory_processes_used- Memória usada por processos Erlang excluindo memória alocada não utilizada (bytes)vm_memory_system- Memória usada pelo sistema de execução Erlang (bytes)vm_memory_atom- Memória usada por átomos (bytes)vm_memory_atom_used- Memória usada por átomos excluindo memória alocada não utilizada (bytes)vm_memory_binary- Memória usada por binários (bytes)vm_memory_code- Memória usada por código carregado (bytes)vm_memory_ets- Memória usada por tabelas ETS (bytes)
Métricas do Sistema VM Erlang:
vm_system_info_process_count- Número atual de processos Erlangvm_system_info_port_count- Número atual de portasvm_system_info_atom_count- Número atual de átomosvm_system_info_schedulers- Número de threads de agendadorvm_system_info_schedulers_online- Número de agendadores atualmente online
Métricas do Agendador VM Erlang:
vm_statistics_run_queue- Comprimento total de todas as filas de execuçãovm_total_run_queue_lengths_total- Comprimento total de todas as filas de execução (todos os agendadores)vm_total_run_queue_lengths_cpu- Comprimento total das filas de execução do agendador de CPUvm_total_run_queue_lengths_io- Comprimento total das filas de execução do agendador de IO
Coleta de Métricas:
- Métricas RADIUS e EAP-AKA são emitidas em tempo real à medida que os eventos ocorrem
- Contagens de clientes ativos e pontos de acesso são coletadas a cada 5 segundos
- Métricas do VM são coletadas a cada 5 segundos a partir do runtime Erlang
- Todas as métricas são expostas no formato Prometheus em
http://<twag-ip>:9568/metrics
Registro
O TWAG usa o Logger do Elixir para registro estruturado.
Visualizar Logs (systemd):
# Registro em tempo real
journalctl -u twag -f
# Últimas 100 linhas
journalctl -u twag -n 100
# Logs desde o último boot
journalctl -u twag -b
# Logs para intervalo de tempo específico
journalctl -u twag --since "2025-10-12 10:00:00" --until "2025-10-12 11:00:00"
Mensagens de Log Chave:
Servidor RADIUS ouvindo na porta 1812- Servidor iniciadoDe {IP}: Solicitação de Acesso recebida- Solicitação RADIUS do APFase 1: Resposta de Identidade- Identidade EAP inicialFase 2: Desafio AKA- Desafio enviado para o dispositivoAutenticação ACEITA- Autenticação bem-sucedidaAutenticação REJEITADA- Autenticação falhadaAP Registrado: {IP}- Novo AP detectado
Benchmarks de Desempenho
O throughput de autenticação e sinalização do plano de controle (autenticações por segundo, latência de codec e memória por operação) é medido e publicado na referência Benchmarks de Desempenho. Os números cobrem o custo criptográfico por autenticação (geração de vetor Milenage, a hierarquia de chaves EAP-AKA', re-autenticação rápida ERP) e throughput de codec do plano de sinalização (codificação/decodificação EAP e WLCP).
Solução de Problemas
Falhas de Autenticação
Sintoma: Cliente não consegue se conectar ao WiFi
Passos de Diagnóstico:
- Verifique os logs do TWAG:
journalctl -u twag -f - Verifique se o segredo compartilhado RADIUS corresponde entre o AP e o TWAG
- Confirme se os pacotes RADIUS estão chegando ao TWAG:
tcpdump -i eth0 port 1812 - Verifique o provisionamento do assinante no HSS/configuração
Causas Comuns:
- Segredo compartilhado RADIUS incorreto
- Firewall bloqueando UDP 1812/1813
- Desvio RES/XRES (SIM Ki errado ou configuração do HSS)
- Número de sequência (SQN) fora de sincronia (deve se recuperar automaticamente via ressincronização)
- Problemas de conectividade de rede entre o AP e o TWAG
Problemas de Conexão Diameter
Sintoma: Par Diameter não se conectando ao HSS/DRA
Passos de Diagnóstico:
- Verifique a conectividade de rede:
telnet {hss-ip} 3868 - Verifique a configuração Diameter (Host de Origem, Realm de Origem, IP do par)
- Revise os logs do HSS/DRA para tentativas de conexão
- Verifique se o firewall permite TCP 3868
Causas Comuns:
- IP/porta do par incorretos na configuração
- Firewall bloqueando TCP 3868
- Desvio Host/Realm
- HSS/DRA não aceitando conexão do TWAG
Problemas de Desempenho
Sintoma: Autenticação lenta (>5 segundos)
Passos de Diagnóstico:
- Verifique o tempo de resposta do HSS
- Meça a latência da rede:
ping {hss-ip},mtr {hss-ip} - Monitore o uso de recursos do TWAG:
top,htop - Revise as configurações de tempo limite de solicitação Diameter
Causas Comuns:
- Tempo limite de consulta HSS ou resposta lenta
- Alta latência de rede
- Exaustão de recursos do TWAG (CPU/memória)
- Muitas autenticações simultâneas
Ferramentas de Depuração
Captura de Pacotes
# Capturar tráfego RADIUS
tcpdump -i eth0 -n port 1812 or port 1813 -w radius.pcap
# Capturar tráfego Diameter
tcpdump -i eth0 -n port 3868 -w diameter.pcap
# Capturar de um AP específico
tcpdump -i eth0 -n host 10.7.15.72 and port 1812 -w radius-ap1.pcap
Analise com Wireshark (suporta dissectores RADIUS e Diameter).
Console Interativo
Anexe-se ao TWAG em execução para depuração ao vivo:
# Shell remoto para o TWAG em execução
iex --sname debug --remsh twag@hostname --cookie {cookie}
Do console IEx:
# Listar todos os clientes autenticados
CryptoState.keys()
# Obter estado de cliente específico
CryptoState.get("0505338057900001867@wlan.mnc057.mcc505.3gppnetwork.org")
# Listar todos os APs
APState.list()
# Listar sessões de contabilidade
ClientUsage.list()
Mensagens de Erro Comuns
| Mensagem de Erro | Significado | Solução |
|---|---|---|
Falha na validação do Message-Authenticator | Desvio de segredo compartilhado | Verifique se o segredo RADIUS corresponde no AP e no TWAG |
Falha na verificação RES: esperado {XRES}, recebido {RES} | Resposta de autenticação incorreta | Verifique SIM Ki, verifique o provisionamento do HSS |
Tempo limite de conexão com o par Diameter | Não consegue alcançar HSS | Verifique rede, firewall, configuração do HSS |
Falha ao decodificar mensagem EAP | Pacote EAP malformado | Verifique firmware do AP, pode precisar de atualização do AP |
Subtipo EAP-AKA desconhecido | Mensagem EAP-AKA não suportada | Dispositivo usando variante EAP-AKA não padrão |
Sincronização do número de sequência necessária | SQN fora de sincronia | Normal, dispositivo irá ressincronizar automaticamente |
Conformidade com Padrões
OmniTWAG implementa as seguintes especificações 3GPP e IETF:
- 3GPP TS 23.402: Melhorias de arquitetura para acessos não 3GPP
- 3GPP TS 24.302: Acesso ao EPC via redes de acesso não 3GPP
- 3GPP TS 29.273: Interfaces SWx/SWm baseadas em Diameter
- 3GPP TS 33.402: Aspectos de segurança de acessos não 3GPP
- 3GPP TS 35.206: Especificação do algoritmo Milenage
- RFC 2865: Autenticação RADIUS
- RFC 2866: Contabilidade RADIUS
- RFC 3579: Suporte RADIUS para EAP
- RFC 4187: Protocolo de autenticação EAP-AKA
- RFC 5448: EAP-AKA' (versão aprimorada)
O desempenho do plano de controle medido contra esses protocolos é publicado na referência Benchmarks de Desempenho.
Resumo
OmniTWAG, criado pela Omnitouch, fornece uma solução completa e compatível com padrões para offload de WiFi 3GPP:
- Implantação Flexível: Suporta breakout local ou tráfego roteado para casa
- Baseado em Padrões: Implementa protocolos 3GPP SWx, EAP-AKA, RADIUS
- Autenticação Segura: Autenticação mútua baseada em SIM com ressincronização automática
- Criptografia Forte: Chaves derivadas do MSK fornecem criptografia WPA2
- Pronto para Hotspot 2.0: Permite offload totalmente automático e sem toque
- Controle do Operador: Mantém identidade, política e opcionalmente cobrança
- Conectividade Flexível: Conexão direta ao HSS ou via OmniDRA para roteamento/balanceamento de carga
OmniTWAG - Gateway de Acesso WiFi Confiável Copyright © Omnitouch. Todos os direitos reservados.