Guide d'Opérations et de Déploiement d'OmniTWAG
Créé par Omnitouch
Ce guide est destiné aux opérateurs de réseau, aux administrateurs système et aux clients déployant OmniTWAG.
Table des Matières
- Introduction
- Qu'est-ce que le Déchargement Wi-Fi ?
- Architecture de Déploiement
- Flux de Facturation
- Flux d'Authentification
- Guide de Configuration
- Configuration du Point d'Accès
- Intégration Hotspot 2.0
- Surveillance et Gestion
- Dépannage
- Conformité aux Normes
Introduction
OmniTWAG (Passerelle d'Accès WiFi de Confiance) est une mise en œuvre conforme aux normes d'un TWAG 3GPP qui permet aux opérateurs de réseaux mobiles de décharger en toute sécurité le trafic des abonnés des réseaux cellulaires vers des points d'accès WiFi tout en maintenant une authentification sécurisée basée sur la carte SIM.
Le TWAG authentifie les abonnés WiFi en utilisant leurs identifiants SIM via EAP-AKA (Extensible Authentication Protocol - Authentication and Key Agreement), le même mécanisme d'authentification utilisé dans les réseaux cellulaires. Cela fournit un accès WiFi sécurisé et sans couture pour les abonnés mobiles sans nécessiter de mots de passe WiFi séparés.
Avantages Clés
Pour les Utilisateurs Finaux :
- Aucune Configuration : Fonctionne dès la sortie de la boîte avec une SIM compatible
- Expérience Sans Couture : Connexion automatique comme sur le cellulaire
- Sécurisé : Utilise toujours un WiFi crypté (WPA2)
- Pas de Mots de Passe : Authentification basée sur la SIM
Pour les Opérateurs Mobiles :
- Soulagement de la Capacité Réseau : Réduit la charge sur les stations de base cellulaires
- Déchargement Contrôlé : Seuls les abonnés autorisés peuvent se connecter
- Amélioration de l'Expérience Utilisateur : Le WiFi offre généralement une bande passante plus élevée
- Efficacité Coût : L'infrastructure WiFi est moins coûteuse que le cellulaire
- Identité Cohérente : Même IMSI utilisée pour le WiFi et le cellulaire
- Intégration de Facturation : Peut facturer l'utilisation du WiFi si désiré
Pour les Lieux/Entreprises :
- Sécurité de Niveau Opérateur : Aucun risque de partage de mots de passe
- Scalabilité : Supporte des milliers d'utilisateurs sans provisionnement manuel
- Gestion Simplifiée : Pas besoin de distribuer des mots de passe WiFi
Qu'est-ce que le Déchargement Wi-Fi ?
Le déchargement Wi-Fi permet aux opérateurs de réseaux mobiles de rediriger le trafic de données des abonnés des réseaux cellulaires congestionnés vers des réseaux WiFi.
Comment le TWAG Permet le Déchargement
Le TWAG agit comme la passerelle d'authentification entre :
- Points d'Accès WiFi (via le protocole RADIUS)
- Réseau Central Mobile HSS/HLR (via l'interface Diameter SWx)
Lorsqu'un appareil d'abonné se connecte à un AP WiFi configuré pour le déchargement :
- L'appareil s'identifie en utilisant son IMSI (de la carte SIM)
- L'AP WiFi transmet les demandes d'authentification au TWAG via RADIUS
- Le TWAG communique avec le HSS de l'opérateur pour récupérer les vecteurs d'authentification
- L'authentification par défi-r��ponse EAP-AKA se produit entre l'appareil et le TWAG
- Une fois l'authentification réussie, l'appareil se voit accorder l'accès WiFi
- En option, le trafic peut être tunnelé vers le cœur mobile ou sortir localement
Architecture de Déploiement
Topologie Réseau
Légende des Interfaces :
- STa* : Interface RADIUS/Diameter entre l'AP WiFi et le TWAG (non-3GPP à AAA)
- SWx : Interface Diameter entre le TWAG (Serveur AAA 3GPP) et le HSS
- S2a/S2b : Interface de tunnel GTP pour le retour vers le réseau domicile (optionnel)
- SGi : Interface vers des réseaux de données de paquets externes (Internet)
- 802.11 : Interface radio WiFi
- EAPOL : EAP sur LAN (authentification 802.1X)

Scénarios de Déploiement
Scénario 1 : Sortie Locale (Recommandé pour la Performance)
Avantages :
- Latence réduite (pas de retour vers le cœur)
- Charge réseau central réduite
- Meilleure expérience utilisateur pour les applications à forte bande passante
- Économies sur la capacité de retour
Scénario 2 : Routage vers le Réseau Domicile (Tunnel GTP)
Avantages :
- Application cohérente des politiques
- Facturation/chargement centralisés
- Politiques de sécurité/VPN d'entreprise appliquées
- Mobilité sans couture entre WiFi et cellulaire
Options de Connexion SWx
Option 1 : Connexion Directe au HSS
Cas d'utilisation : Déploiements simples, environnements de laboratoire, HSS unique
Avantages :
- Latence réduite (pas de saut via DRA)
- Configuration simplifiée
- Dépannage plus facile
Option 2 : Via DRA (Agent de Routage Diameter)
Cas d'utilisation : Déploiements multi-HSS, scénarios de roaming, réseaux à grande échelle
Avantages :
- Logique de routage centralisée
- Équilibrage de charge entre plusieurs HSS
- Support de roaming (routes vers le HSS domicile)
- Redondance et basculement
- Collage de session
Flux de Facturation
Le TWAG peut être entièrement intégré pour envoyer des demandes de facturation en ligne basées sur Diameter Gy à un Système de Facturation en Ligne (OCS).
Cela permet de comptabiliser toutes les données consommées sur WiFi, par rapport au solde du client, et est délivré via l'AP sur RADIUS et converti en Gy par le TWAG et transmis au DRA/OCS.
Dans tous les modes, l'utilisation est tracée par les métriques du TWAG.

Modes de Facturation
Le TWAG prend en charge trois modes de facturation en ligne :
1. Facturation Désactivée
Aucune demande de contrôle de crédit n'est envoyée. Aucune autorisation de solde n'est effectuée.
Cas d'utilisation :
- Réseaux WiFi ouverts/gratuits
- Environnements de laboratoire/test
- Réseaux avec facturation hors ligne uniquement (comptabilité RADIUS à la facturation)
Flux :
2. Autorisation Seulement
Un CCR-Initial (Demande de Contrôle de Crédit) est envoyé à l'OCS au début de la session WiFi pour valider que l'abonné a un solde, mais le solde n'est pas diminué pendant la session.
Cas d'utilisation :
- Valider que l'abonné a un compte/solde actif
- Empêcher l'accès WiFi pour les comptes suspendus
- Vérifier l'éligibilité au service sans suivi de quota
- Autoriser le WiFi comme service bonus/illimité pour les clients payants
Flux :
Configuration :
- L'OCS est interrogé au début de la session (CCR-I) et à la fin (CCR-T)
- Aucun message CCR-Update envoyé pendant la session
- Abonné autorisé en fonction de l'état du compte, pas du quota
- Utilisation rapportée à la fin de la session à des fins d'information uniquement
3. Facturation en Ligne Complète Gy (Impl��mentation Complète)
Le flux de facturation en ligne standard 3GPP est suivi. Toute utilisation sur WiFi est transmise à l'OCS pour facturation, l'abonné étant coupé une fois qu'il a dépassé son quota.
Cas d'utilisation :
- Services de données prépayés
- WiFi payant à l'utilisation
- Plans basés sur un quota (par exemple, 10 Go d'allocation mensuelle)
- Facturation et coupure en temps réel
Flux :
Configuration :
- OCS interrogé au début de la session (CCR-I), pendant la session (CCR-U), et à la fin (CCR-T)
- Quota demandé en morceaux configurables (par exemple, 10MB, 50MB, 100MB)
- CCR-Update déclenché à un seuil configurable (par exemple, 80% du quota accordé)
- Le minuteur de validité déclenche une nouvelle autorisation si le quota n'est pas épuisé
- Déconnexion forcée lorsque le quota est épuisé
- Déduction de solde en temps réel
Flux d'Authentification
Séquence Complète d'Authentification EAP-AKA
Points Clés dans le Flux d'Authentification
-
MAR/MAA est la fin de la communication HSS : Après avoir reçu le MAA (Réponse d'Authentification Multimédia) avec XRES, le TWAG gère toutes les vérifications ultérieures localement.
-
TWAG effectue la vérification RES : Le HSS fournit la réponse attendue (XRES), mais le TWAG la compare à la RES réelle de l'UE. Le HSS n'est PAS impliqué dans cette comparaison.
-
L'authentification se fait au niveau du TWAG : Cela diffère de certains diagrammes qui montrent le HSS effectuant la vérification — dans l'architecture 3GPP réelle, le serveur AAA (TWAG) effectue la comparaison.
Format d'Identité
L'appareil répond avec son identité permanente (IMSI) au format NAI :
5055700000000000001@wlan.mnc057.mcc505.3gppnetwork.org
Format : 0<IMSI>@wlan.mnc<MNC>.mcc<MCC>.3gppnetwork.org
Note - Le premier chiffre, avant l'IMSI, est l'identité, cela est généralement 0 mais peut être un autre chiffre unique pour les SIMs/terminaux multi-IMSI.
Clé de Session Maître (MSK)
La Clé de Session Maître (MSK) est une clé cryptographique de 512 bits (64 octets) dérivée lors de l'authentification EAP-AKA. Elle sert de matériel de clé racine pour sécuriser la connexion WiFi.
Dérivation de la MSK :
- À la fois l'UE et le TWAG dérivent indépendamment la même MSK
- L'UE dérive de CK/IK calculé par la SIM
- Le TWAG dérive de CK/IK reçu du HSS
- MSK = PRF'(CK || IK, "Full Authentication", IMSI, ...)
Utilisation de la MSK :
- Dérivation de PMK : PMK = les premiers 256 bits (32 octets) de MSK
- Échange WPA2 en 4 étapes : À la fois l'UE et l'AP utilisent PMK pour dériver PTK
- Cryptage des Données : Tous les trames de données WiFi sont cryptées avec la Clé Temporelle (TK) dérivée de PTK
Pourquoi la MSK est Critique :
- Confidentialité : Sans MSK, le trafic WiFi serait non crypté
- Intégrité : Empêche la falsification des trames WiFi
- Liaison d'Authentification : Lie l'authentification EAP au cryptage WiFi
- Protection contre la Répétition : Une nouvelle MSK empêche les attaques de répétition
- Confidentialité Parfaite : La compromission d'une MSK n'affecte pas les autres
Récupération de Resynchronisation
Si l'appareil détecte un décalage de numéro de séquence (SQN hors synchronisation), il initie une resynchronisation :
- L'appareil calcule AUTS (Token d'Authentification - Synchronisation)
- Envoie EAP-AKA Synchronization-Failure avec AT-AUTS
- TWAG transmet AUTS au HSS
- HSS resynchronise le numéro de séquence et génère de nouveaux vecteurs
- L'authentification est réessayée avec de nouveaux vecteurs
Cela est transparent pour l'utilisateur final et ne nécessite aucune intervention de l'opérateur.
Guide de Configuration
Le TWAG est configuré via des fichiers de configuration Elixir dans le répertoire config/. La configuration principale à l'exécution se trouve dans config/runtime.exs.
Pour les déploiements en production, la configuration est gérée de manière centralisée. Ce qui suit est une référence uniquement, toute valeur modifiée sur un nœud de production sera perdue lors de la prochaine exécution de l'orchestration automatisée.
Configuration Diameter
Située dans config :diameter_ex :
config :diameter_ex,
diameter: %{
# Nom du service pour la pile Diameter
service_name: :omnitouch_twag,
# Adresse IP locale pour l'écoute du service Diameter
listen_ip: "10.5.198.200",
# Port local pour les connexions Diameter (standard est 3868)
listen_port: 3868,
# Hôte d'origine Diameter
host: "omnitwag",
# Domaine d'origine Diameter (correspond à votre domaine réseau)
realm: "epc.mnc057.mcc505.3gppnetwork.org",
# Pairs Diameter (HSS, DRA, serveurs AAA)
peers: [
%{
# Hôte d'origine Diameter du pair
host: "omni-hss01.epc.mnc057.mcc505.3gppnetwork.org",
# Domaine d'origine Diameter du pair
realm: "epc.mnc057.mcc505.3gppnetwork.org",
# Adresse IP du pair (peut être HSS directement ou DRA)
ip: "10.179.2.140",
# Port du pair (standard est 3868)
port: 3868,
# Utiliser TLS pour la sécurité du transport
tls: false,
# Protocole de transport (:diameter_tcp ou :diameter_sctp)
transport: :diameter_tcp,
# Initier la connexion au pair (true) ou attendre que le pair se connecte (false)
initiate_connection: true
}
]
}
Format de Domaine suit 3GPP TS 23.003 :
epc.mnc<MNC>.mcc<MCC>.3gppnetwork.org
Où :
- MNC = Code de Réseau Mobile (par exemple, 057)
- MCC = Code de Pays Mobile (par exemple, 505 pour l'Australie)

Note sur l'Utilisation de DRA : Pour utiliser OmniDRA, configurez l'adresse IP du pair pour pointer vers le DRA au lieu de directement vers le HSS. Le DRA acheminera ensuite les messages vers le HSS approprié en fonction des règles de routage (Destination-Realm, plage IMSI, etc.).
Configuration RADIUS
Située dans config :omnitwag :
config :omnitwag,
radius_config: %{
# Liste des sous-réseaux IP sources autorisées pour les clients RADIUS
# Liste vide = autoriser tout (non recommandé pour la production)
allowed_source_subnets: ["10.7.15.0/24", "192.168.1.0/24"],
# Secret partagé pour les clients RADIUS
# Tous les AP doivent utiliser ce secret
secret: "VOTRE_SECRET_FORT_ICI"
}

Meilleures Pratiques de Sécurité :
- Utiliser des secrets partagés RADIUS forts (20+ caractères)
- Configurer
allowed_source_subnetspour restreindre l'accès des AP - Utiliser des règles de pare-feu pour restreindre davantage l'accès aux ports 1812/1813
Exemple de configuration de sous-réseau :
allowed_source_subnets: ["10.7.15.0/24", "192.168.1.0/24"]
Si vide, toutes les sources sont autorisées (uniquement adapté pour le laboratoire/test).
Configuration de Surveillance Prometheus
Située dans config :omnitwag :
config :omnitwag,
prometheus: %{
# Port pour le point de terminaison des métriques Prometheus
port: 9568
}
Accédez aux métriques à : http://<twag-ip>:9568/metrics
Résumé des Ports
| Port | Protocole | But |
|---|---|---|
| 1812 | UDP | Authentification RADIUS |
| 1813 | UDP | Comptabilité RADIUS |
| 3868 | TCP | Diameter (SWx vers HSS/DRA) |
| 443 | TCP | Tableau de Bord Web HTTPS |
| 8444 | TCP | API REST HTTPS |
| 9568 | TCP | Métriques Prometheus |
Configuration du Point d'Accès
Points d'Accès Supportés
OmniTWAG fonctionne avec tout AP WiFi qui supporte :
- WPA2-Enterprise (authentification 802.1X)
- Fonctionnalité client RADIUS
- Méthode d'authentification EAP-AKA
Plateformes testées : Cisco Aironet, Aruba, Ubiquiti UniFi, Ruckus, APs basés sur hostapd
Exigences Générales de Configuration des AP
- Mode de sécurité WPA2-Enterprise (802.1X)
- Serveur RADIUS pointant vers l'adresse IP du TWAG
- Port d'authentification RADIUS : 1812
- Port de comptabilité RADIUS : 1813 (optionnel mais recommandé)
- Secret partagé RADIUS : Doit correspondre à la configuration du TWAG
- Méthode EAP : EAP-AKA (ou "Tous")
Exemple de Configuration AP Cisco
Configuration CLI :
! Configurer le serveur RADIUS
radius-server host 10.5.198.200 auth-port 1812 acct-port 1813 key VOTRE_SECRET_PARTAGÉ
! Configurer SSID avec 802.1X
dot11 ssid OPERATOR-WIFI
vlan 10
authentication open eap eap_methods
authentication network-eap eap_methods
authentication key-management wpa version 2
! Associer le SSID avec l'interface radio
interface Dot11Radio0
encryption mode ciphers aes-ccm
ssid OPERATOR-WIFI
Interface Web :
- Naviguez vers Sécurité → AAA → Serveur RADIUS
- Ajoutez le serveur RADIUS :
10.5.198.200:1812avec le secret partagé - Naviguez vers la configuration WLAN
- Réglez la Sécurité sur WPA2-Enterprise
- Réglez la méthode EAP sur EAP-AKA ou Tous
- Assignez le groupe de serveurs RADIUS
Exemple de Configuration hostapd
Pour les APs basés sur Linux (OpenWrt, systèmes embarqués) :
# /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
# Configuration RADIUS
auth_server_addr=10.5.198.200
auth_server_port=1812
auth_server_shared_secret=VOTRE_SECRET_PARTAGÉ
acct_server_addr=10.5.198.200
acct_server_port=1813
acct_server_shared_secret=VOTRE_SECRET_PARTAGÉ
# Configuration EAP
eap_server=0
# Hotspot 2.0 (Optionnel - pour déchargement automatique)
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
Meilleures Pratiques d'Architecture Réseau
Important : Placez les APs et le TWAG sur des segments de réseau de confiance. Utilisez des règles de pare-feu pour :
- Autoriser uniquement les AP à atteindre les ports 1812/1813 du TWAG
- Autoriser le TWAG à atteindre le port 3868 du HSS
- Restreindre l'accès de gestion au tableau de bord du TWAG (port 443)
Intégration Hotspot 2.0
Aperçu de Hotspot 2.0 (Passpoint)
Hotspot 2.0 (également appelé Passpoint ou 802.11u) est une norme de l'Alliance WiFi qui permet la découverte et la connexion automatique et sécurisée aux réseaux WiFi sans interaction de l'utilisateur. C'est la technologie clé pour un déchargement WiFi sans couture.
Fonctionnalités Clés :
- Découverte Automatique de Réseau : L'appareil trouve des réseaux compatibles en fonction de critères
- Authentification Automatique : Utilise les identifiants SIM (EAP-AKA) sans saisie de l'utilisateur
- Association Initiale Chiffrée : OSEN (Authentification uniquement par serveur OSU) pour un provisionnement sécurisé
- Accords de Roaming : Supporte les réseaux visités (comme le roaming cellulaire)
- Priorisation : L'appareil préfère les réseaux appartenant à l'opérateur
Configuration AP Hotspot 2.0
Exigences pour l'AP :
- Support 802.11u : Capacité de requête/réponse ANQP
- WPA2-Enterprise : Authentification 802.1X
- Support EAP-AKA : Doit supporter la méthode EAP-AKA
- Configuration ANQP : Annoncer les bonnes informations sur l'opérateur
Exemple de Configuration (AP basé sur hostapd) :
# Configuration Hotspot 2.0 / Passpoint
interworking=1
internet=1
asra=0
esr=0
uesa=0
# Configuration ANQP
anqp_3gpp_cell_net=505,057
domain_name=omnitouchns.com,wlan.mnc057.mcc505.3gppnetwork.org
# Configuration du Domaine NAI
nai_realm=0,wlan.mnc057.mcc505.3gppnetwork.org,0,21[2:1][5:7]
# Format : <encoding>,<realm>,<eap-method>[auth-id:auth-val]
# 21 = EAP-AKA
# 2:1 = Type de Credential : SIM
# 5:7 = Méthode EAP Tunnelée : Aucune (EAP-AKA direct)
# Consortium de Roaming
roaming_consortium=505057
# MCC=505 (USA), MNC=057 (spécifique à l'opérateur)
# Informations sur le Lieu (optionnel)
venue_group=1
venue_type=8
venue_name=eng:WiFi Public de l'Opérateur
# Configuration WPA2-Enterprise
wpa=2
wpa_key_mgmt=WPA-EAP
rsn_pairwise=CCMP
ieee8021x=1
# Configuration RADIUS (pointe vers OmniTWAG)
auth_server_addr=10.5.198.200
auth_server_port=1812
auth_server_shared_secret=VOTRE_SECRET_PARTAGÉ
acct_server_addr=10.5.198.200
acct_server_port=1813
acct_server_shared_secret=VOTRE_SECRET_PARTAGÉ
# Configuration SSID
ssid=OperatorWiFi
utf8_ssid=1
# Indication Hotspot 2.0
hs20=1
hs20_oper_friendly_name=eng:Réseau WiFi de l'Opérateur
Comportement de Déchargement Automatique
Comment Fonctionne le Déchargement Automatique :
- L'appareil avec un profil Passpoint effectue une analyse WiFi périodique
- Envoie une requête ANQP aux APs détectés
- Si la réponse ANQP correspond au profil (MCC/MNC, consortium de roaming) :
- La priorité est ÉLEVÉE (réseau domicile) ou MOYENNE (partenaire de roaming)
- Si la priorité ≥ seuil et le signal > minimum :
- Authentification automatique EAP-AKA
- Si l'authentification réussie et la priorité > connexion actuelle :
- Passer au WiFi, déconnecter les données cellulaires
- Surveiller la qualité du signal et maintenir la connectivité
Facteurs de Priorité :
- Domicile vs. Roaming : Réseau domicile (correspondance MCC/MNC) préféré par rapport au roaming
- Force du Signal : Signal plus fort préféré
- Sécurité : WPA2-Enterprise préféré par rapport à ouvert/WPA2-PSK
- Politique : L'opérateur peut configurer les réseaux préférés
- Surcharge de l'Utilisateur : L'utilisateur peut désactiver manuellement le WiFi ou préférer le cellulaire
Surveillance et Gestion
Tableau de Bord Web
Accédez au tableau de bord de surveillance en temps réel à : https://<twag-ip>/
Fonctionnalités :
- Vue des Clients RADIUS : Abonnés actifs, statut d'authentification, détails de session
- Vue des Points d'Accès : APs connectés, comptes clients, informations SSID
- Vue d'Utilisation des Clients : Données de comptabilité, temps de session, utilisation des données
- Vue des Pairs Diameter : Statut de connexion HSS/DRA
Intégration Prometheus
Configurez Prometheus pour extraire les métriques TWAG :
# prometheus.yml
scrape_configs:
- job_name: 'omnitwag'
static_configs:
- targets: ['10.5.198.200:9568']
metrics_path: '/metrics'
scrape_interval: 15s
Métriques Disponibles :
Métriques du Serveur RADIUS :
radius_access_request_count- Total des paquets RADIUS Access-Request reçusradius_access_accept_count- Total des paquets Access-Accept envoyésradius_access_reject_count- Total des paquets Access-Reject envoyésradius_access_challenge_count- Total des paquets Access-Challenge envoyésradius_accounting_request_count{status_type}- Total des paquets Accounting-Request (étiquetés par statut : start, stop, interim_update, accounting_on, accounting_off)radius_active_clients_count- Clients actuellement authentifiés (poll tous les 5 secondes)radius_access_points_count- Points d'accès enregistrés (poll tous les 5 secondes)
Métriques d'Authentification EAP-AKA :
eap_aka_identity_count- Échanges d'identité EAP-AKAeap_aka_challenge_count- Échanges de défi EAP-AKAeap_aka_sync_failure_count- Échecs de synchronisation (événements de resynchronisation SQN)eap_aka_auth_success_count- Authentifications réussieseap_aka_auth_reject_count- Authentifications rejetées
Métriques du Protocole Diameter :
diameter_message_count{application, command, direction}- Total des messages Diameter (étiquetés par application, type de commande et direction)
Métriques de Mémoire de la VM Erlang :
vm_memory_total- Total de la mémoire allouée (octets)vm_memory_processes- Mémoire utilisée par les processus Erlang (octets)vm_memory_processes_used- Mémoire utilisée par les processus Erlang excluant la mémoire allouée inutilisée (octets)vm_memory_system- Mémoire utilisée par le système d'exécution Erlang (octets)vm_memory_atom- Mémoire utilisée par les atomes (octets)vm_memory_atom_used- Mémoire utilisée par les atomes excluant la mémoire allouée inutilisée (octets)vm_memory_binary- Mémoire utilisée par les binaires (octets)vm_memory_code- Mémoire utilisée par le code chargé (octets)vm_memory_ets- Mémoire utilisée par les tables ETS (octets)
Métriques Système de la VM Erlang :
vm_system_info_process_count- Nombre actuel de processus Erlangvm_system_info_port_count- Nombre actuel de portsvm_system_info_atom_count- Nombre actuel d'atomesvm_system_info_schedulers- Nombre de threads de planificateurvm_system_info_schedulers_online- Nombre de planificateurs actuellement en ligne
Métriques du Planificateur de la VM Erlang :
vm_statistics_run_queue- Longueur totale de toutes les files d'attente d'exécutionvm_total_run_queue_lengths_total- Longueur totale de toutes les files d'attente d'exécution (tous les planificateurs)vm_total_run_queue_lengths_cpu- Longueur totale des files d'attente d'exécution du planificateur CPUvm_total_run_queue_lengths_io- Longueur totale des files d'attente d'exécution du planificateur IO
Collecte de Métriques :
- Les métriques RADIUS et EAP-AKA sont émises en temps réel à mesure que les événements se produisent
- Les comptes de clients actifs et de points d'accès sont pollés toutes les 5 secondes
- Les métriques de la VM sont pollées toutes les 5 secondes depuis l'environnement d'exécution Erlang
- Toutes les métriques sont exposées au format Prometheus à
http://<twag-ip>:9568/metrics
Journalisation
Le TWAG utilise le Logger d'Elixir pour une journalisation structurée.
Voir les Journaux (systemd) :
# Journal en temps réel
journalctl -u twag -f
# Dernières 100 lignes
journalctl -u twag -n 100
# Journaux depuis le dernier démarrage
journalctl -u twag -b
# Journaux pour une plage horaire spécifique
journalctl -u twag --since "2025-10-12 10:00:00" --until "2025-10-12 11:00:00"
Messages de Journal Clés :
Serveur RADIUS écoutant sur le port 1812- Serveur démarréDe {IP} : Demande d'Accès reçue- Demande RADIUS de l'APPhase 1 : Réponse d'Identité- Identité EAP initialePhase 2 : Défi AKA- Défi envoyé à l'appareilAuthentification ACCEPTÉE- Authentification réussieAuthentification REJETÉE- Authentification échouéeAP Enregistré : {IP}- Nouvel AP détecté
Références de Performance
Le débit d'authentification et de signalisation du plan de contrôle (authentifications par seconde, latence de codec et mémoire par opération) est mesuré et publié dans la référence Références de Performance. Les chiffres couvrent le coût cryptographique par authentification (génération de vecteurs Milenage, hiérarchie de clés EAP-AKA', ré-authentification rapide ERP) et le débit de signalisation du codec (encodage/décodage EAP et WLCP).
Dépannage
Échecs d'Authentification
Symptôme : Le client ne peut pas se connecter au WiFi
Étapes de Diagnostic :
- Vérifiez les journaux du TWAG :
journalctl -u twag -f - Vérifiez que le secret partagé RADIUS correspond entre l'AP et le TWAG
- Confirmez que les paquets RADIUS atteignent le TWAG :
tcpdump -i eth0 port 1812 - Vérifiez le provisionnement de l'abonné dans le HSS/configuration
Causes Courantes :
- Secret partagé RADIUS incorrect
- Pare-feu bloquant UDP 1812/1813
- Mismatch RES/XRES (mauvais Ki SIM ou configuration HSS)
- Numéro de séquence (SQN) hors synchronisation (devrait se rétablir automatiquement via resync)
- Problèmes de connectivité réseau entre l'AP et le TWAG
Problèmes de Connexion Diameter
Symptôme : Pair Diameter ne se connecte pas au HSS/DRA
Étapes de Diagnostic :
- Vérifiez la connectivité réseau :
telnet <hss-ip> 3868 - Vérifiez la configuration Diameter (Hôte d'origine, Domaine d'origine, IP du pair)
- Consultez les journaux HSS/DRA pour les tentatives de connexion
- Vérifiez que le pare-feu autorise TCP 3868
Causes Courantes :
- IP/port de pair incorrect dans la configuration
- Pare-feu bloquant TCP 3868
- Mismatch Hôte/Domaine d'origine
- HSS/DRA n'acceptant pas la connexion du TWAG
Problèmes de Performance
Symptôme : Authentification lente (>5 secondes)
Étapes de Diagnostic :
- Vérifiez le temps de réponse du HSS
- Mesurez la latence réseau :
ping <hss-ip>,mtr <hss-ip> - Surveillez l'utilisation des ressources du TWAG :
top,htop - Consultez les paramètres de délai d'attente des requêtes Diameter
Causes Courantes :
- Délai d'attente de requête HSS ou réponse lente
- Latence réseau élevée
- Épuisement des ressources du TWAG (CPU/mémoire)
- Trop d'authentifications simultanées
Outils de Débogage
Capture de Paquet
# Capturer le trafic RADIUS
tcpdump -i eth0 -n port 1812 or port 1813 -w radius.pcap
# Capturer le trafic Diameter
tcpdump -i eth0 -n port 3868 -w diameter.pcap
# Capturer depuis un AP spécifique
tcpdump -i eth0 -n host 10.7.15.72 and port 1812 -w radius-ap1.pcap
Analysez avec Wireshark (supporte les dissectors RADIUS et Diameter).
Console Interactive
Attachez-vous au TWAG en cours d'exécution pour un débogage en direct :
# Shell distant vers le TWAG en cours d'exécution
iex --sname debug --remsh twag@hostname --cookie <cookie>
Depuis la console IEx :
# Lister tous les clients authentifiés
CryptoState.keys()
# Obtenir l'état d'un client spécifique
CryptoState.get("0505338057900001867@wlan.mnc057.mcc505.3gppnetwork.org")
# Lister tous les APs
APState.list()
# Lister les sessions de comptabilité
ClientUsage.list()
Messages d'Erreur Courants
| Message d'Erreur | Signification | Solution |
|---|---|---|
Message-Authenticator validation failed | Mismatch de secret partagé | Vérifiez que le secret RADIUS correspond sur l'AP et le TWAG |
RES verification failed: expected <XRES>, got <RES> | Réponse d'authentification incorrecte | Vérifiez Ki SIM, vérifiez le provisionnement HSS |
Diameter peer connection timeout | Impossible d'atteindre le HSS | Vérifiez le réseau, le pare-feu, la configuration HSS |
Failed to decode EAP message | Paquet EAP mal formé | Vérifiez le firmware de l'AP, peut nécessiter une mise à jour de l'AP |
Unknown EAP-AKA subtype | Message EAP-AKA non supporté | L'appareil utilise une variante EAP-AKA non standard |
Sequence number synchronization required | SQN hors synchronisation | Normal, l'appareil se resynchronisera automatiquement |
Conformité aux Normes
OmniTWAG implémente les spécifications 3GPP et IETF suivantes :
- 3GPP TS 23.402 : Améliorations de l'architecture pour les accès non-3GPP
- 3GPP TS 24.302 : Accès à l'EPC via des réseaux d'accès non-3GPP
- 3GPP TS 29.273 : Interfaces SWx/SWm basées sur Diameter
- 3GPP TS 33.402 : Aspects de sécurité des accès non-3GPP
- 3GPP TS 35.206 : Spécification de l'algorithme Milenage
- RFC 2865 : Authentification RADIUS
- RFC 2866 : Comptabilité RADIUS
- RFC 3579 : Support RADIUS pour EAP
- RFC 4187 : Protocole d'authentification EAP-AKA
- RFC 5448 : EAP-AKA' (version améliorée)
La performance du plan de contrôle mesurée par rapport à ces protocoles est publiée dans la référence Références de Performance.
Résumé
OmniTWAG, créé par Omnitouch, fournit une solution complète et conforme aux normes pour le déchargement WiFi 3GPP :
- Déploiement Flexible : Supporte le déchargement local ou le trafic routé vers le domicile
- Basé sur des Normes : Implémente les protocoles 3GPP SWx, EAP-AKA, RADIUS
- Authentification Sécurisée : Authentification mutuelle basée sur la SIM avec resync automatique
- Cryptage Fort : Clés dérivées de MSK fournissent le cryptage WPA2
- Prêt pour Hotspot 2.0 : Permet un déchargement entièrement automatique et sans contact
- Contrôle de l'Opérateur : Maintient l'identité, la politique, et éventuellement la facturation
- Connectivité Flexible : Connexion directe au HSS ou via OmniDRA pour le routage/l'équilibrage de charge
Version du Document : 2.0 Dernière Mise à Jour : 2025 OmniTWAG - Passerelle d'Accès WiFi de Confiance Copyright © 2025 Omnitouch. Tous droits réservés.