Pular para o conteúdo principal

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

  1. Introdução
  2. O que é Offload de WiFi?
  3. Arquitetura de Implantação
  4. Fluxo de Cobrança
  5. Fluxo de Autenticação
  6. Guia de Configuração
  7. Configuração do Ponto de Acesso
  8. Integração Hotspot 2.0
  9. Monitoramento e Gerenciamento
  10. Solução de Problemas
  11. Conformidade com Padrões
  12. 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


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:

  1. O dispositivo se identifica usando seu IMSI (do cartão SIM)
  2. O AP WiFi encaminha solicitações de autenticação para o TWAG via RADIUS
  3. O TWAG se comunica com o HSS do operador para recuperar vetores de autenticação
  4. A autenticação de desafio-resposta EAP-AKA ocorre entre o dispositivo e o TWAG
  5. Após a autenticação bem-sucedida, o dispositivo recebe acesso WiFi
  6. 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)

Web UI Client

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.

Web UI Client Usage & Accounting

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

  1. 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.

  2. 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.

  3. 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:

  1. Tanto o UE quanto o TWAG derivam independentemente o mesmo MSK
  2. UE deriva de CK/IK computado pelo SIM
  3. TWAG deriva de CK/IK recebido do HSS
  4. MSK = PRF'(CK || IK, "Autenticação Completa", IMSI, ...)

Uso do MSK:

  1. Derivação do PMK: PMK = primeiros 256 bits (32 bytes) do MSK
  2. Aperto de Mão WPA2 4-Way: Tanto UE quanto AP usam PMK para derivar PTK
  3. 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:

  1. O dispositivo calcula AUTS (Token de Autenticação - Sincronização)
  2. Envia EAP-AKA Falha de Sincronização com AT-AUTS
  3. TWAG encaminha AUTS para HSS
  4. HSS ressincroniza o número de sequência e gera novos vetores
  5. 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)

Web UI view showing diameter peers

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"
}

Web UI view showing connected WiFi APs

Melhores Práticas de Segurança:

  • Use segredos compartilhados RADIUS fortes (20+ caracteres)
  • Configure allowed_source_subnets para 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

PortaProtocoloPropósito
1812UDPAutenticação RADIUS
1813UDPContabilidade RADIUS
3868TCPDiameter (SWx para HSS/DRA)
443TCPPainel Web HTTPS
8444TCPAPI REST HTTPS
9568TCPMé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

  1. Modo de segurança WPA2-Enterprise (802.1X)
  2. Servidor RADIUS apontando para o endereço IP do TWAG
  3. Porta de autenticação RADIUS: 1812
  4. Porta de contabilidade RADIUS: 1813 (opcional, mas recomendado)
  5. Segredo compartilhado RADIUS: Deve corresponder à configuração do TWAG
  6. 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:

  1. Navegue até SegurançaAAAServidor RADIUS
  2. Adicione servidor RADIUS: 10.5.198.200:1812 com segredo compartilhado
  3. Navegue até a configuração WLAN
  4. Defina a Segurança como WPA2-Enterprise
  5. Defina o método EAP como EAP-AKA ou Todos
  6. 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çãoValor
Modo WirelessPonto de Acesso
WDS (Modo de Ponte Transparente)Desativado
SSIDOperatorWiFi
Código do País / Modo 802.11por implantação (por exemplo, B/G/N misto)
Largura do Canal20 MHz

Segurança Wireless

ConfiguraçãoValor
SegurançaWPA2-AES
Autenticação WPAEAP
IP do Servidor de Autenticação / Porta{TWAG_IP} : 1812
Segredo do Servidor de Autenticaçãoo segredo compartilhado configurado para o IP de origem deste AP
Servidor de ContabilidadeHabilitado
IP do Servidor de Contabilidade / Porta{TWAG_IP} : 1813
Segredo do Servidor de Contabilidadeo segredo compartilhado (mesmo que autenticação)
ACL de MACDesativado

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=yes para que o TWAG possa enviar CoA / Desconectar (por exemplo, para encerrar ou reautorizar uma sessão).
  • RouterOS respeita o Acct-Interim-Interval que 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).

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çãoValor
IP do Servidor de Autenticação / Porta{TWAG_IP} : 1812
Segredo do Servidor de Autenticaçãoo segredo compartilhado para o IP de origem deste AP
ContabilidadeHabilitado
IP do Servidor de Contabilidade / Porta{TWAG_IP} : 1813
Segredo do Servidor de Contabilidadeo segredo compartilhado (mesmo que autenticação)

Rede Wireless (Configurações → Redes Sem Fio → seu SSID)

ConfiguraçãoValor
SSIDOperatorWiFi
SegurançaWPA-Enterprise (WPA2)
Perfil RADIUSo perfil criado acima
Contabilidade RADIUSHabilitada

Notas específicas para Omada:

  • Omada respeita o Acct-Interim-Interval que 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:

  1. Suporte a 802.11u: Capacidade de consulta/resposta ANQP
  2. WPA2-Enterprise: Autenticação 802.1X
  3. Suporte a EAP-AKA: Deve suportar o método EAP-AKA
  4. 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:

  1. Dispositivo com perfil Passpoint realiza varredura periódica de WiFi
  2. Envia consulta ANQP para APs detectados
  3. 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)
  4. Se a prioridade ≥ limite e sinal > mínimo:
    • Autenticação automática EAP-AKA
  5. Se a autenticação for bem-sucedida e a prioridade > conexão atual:
    • Trocar para WiFi, desconectar dados celulares
  6. Monitorar qualidade do sinal e manter conectividade

Fatores de Prioridade:

  1. Doméstico vs. Roaming: Rede doméstica (correspondência MCC/MNC) preferida sobre roaming
  2. Força do Sinal: Sinal mais forte preferido
  3. Segurança: WPA2-Enterprise preferido sobre aberto/WPA2-PSK
  4. Política: O operador pode configurar redes preferidas
  5. 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 recebidos
  • radius_access_accept_count - Total de pacotes Access-Accept enviados
  • radius_access_reject_count - Total de pacotes Access-Reject enviados
  • radius_access_challenge_count - Total de pacotes Access-Challenge enviados
  • radius_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-AKA
  • eap_aka_challenge_count - Trocas de Desafio EAP-AKA
  • eap_aka_sync_failure_count - Falhas de sincronização (eventos de ressincronização SQN)
  • eap_aka_auth_success_count - Autenticações bem-sucedidas
  • eap_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 Erlang
  • vm_system_info_port_count - Número atual de portas
  • vm_system_info_atom_count - Número atual de átomos
  • vm_system_info_schedulers - Número de threads de agendador
  • vm_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ção
  • vm_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 CPU
  • vm_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 iniciado
  • De {IP}: Solicitação de Acesso recebida - Solicitação RADIUS do AP
  • Fase 1: Resposta de Identidade - Identidade EAP inicial
  • Fase 2: Desafio AKA - Desafio enviado para o dispositivo
  • Autenticação ACEITA - Autenticação bem-sucedida
  • Autenticação REJEITADA - Autenticação falhada
  • AP 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:

  1. Verifique os logs do TWAG: journalctl -u twag -f
  2. Verifique se o segredo compartilhado RADIUS corresponde entre o AP e o TWAG
  3. Confirme se os pacotes RADIUS estão chegando ao TWAG: tcpdump -i eth0 port 1812
  4. 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:

  1. Verifique a conectividade de rede: telnet {hss-ip} 3868
  2. Verifique a configuração Diameter (Host de Origem, Realm de Origem, IP do par)
  3. Revise os logs do HSS/DRA para tentativas de conexão
  4. 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:

  1. Verifique o tempo de resposta do HSS
  2. Meça a latência da rede: ping {hss-ip}, mtr {hss-ip}
  3. Monitore o uso de recursos do TWAG: top, htop
  4. 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 ErroSignificadoSolução
Falha na validação do Message-AuthenticatorDesvio de segredo compartilhadoVerifique se o segredo RADIUS corresponde no AP e no TWAG
Falha na verificação RES: esperado {XRES}, recebido {RES}Resposta de autenticação incorretaVerifique SIM Ki, verifique o provisionamento do HSS
Tempo limite de conexão com o par DiameterNão consegue alcançar HSSVerifique rede, firewall, configuração do HSS
Falha ao decodificar mensagem EAPPacote EAP malformadoVerifique firmware do AP, pode precisar de atualização do AP
Subtipo EAP-AKA desconhecidoMensagem EAP-AKA não suportadaDispositivo usando variante EAP-AKA não padrão
Sincronização do número de sequência necessáriaSQN fora de sincroniaNormal, 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:

  1. Implantação Flexível: Suporta breakout local ou tráfego roteado para casa
  2. Baseado em Padrões: Implementa protocolos 3GPP SWx, EAP-AKA, RADIUS
  3. Autenticação Segura: Autenticação mútua baseada em SIM com ressincronização automática
  4. Criptografia Forte: Chaves derivadas do MSK fornecem criptografia WPA2
  5. Pronto para Hotspot 2.0: Permite offload totalmente automático e sem toque
  6. Controle do Operador: Mantém identidade, política e opcionalmente cobrança
  7. 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.