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
- Documentation
Documentation
Ce guide est le point d'entrée. Les pages ci-dessous couvrent des fonctionnalités spécifiques et des références.
Flux d'Appels
- Flux d'Appels - Diagrammes de séquence de bout en bout pour l'attachement, l'authentification, l'adressage, la facturation et la déconnexion à travers chaque mode de rupture et de facturation.
Sous-systèmes
- Authentification - EAP-AKA', EAP-AKA et EAP-SIM, sourcing des vecteurs d'authentification (SWx vers le HSS ou Milenage local), dérivation et livraison de clés au point d'accès, et resynchronisation.
- Modes de Connexion - Mode de Connexion Unique Transparent (TSCM), Mode de Connexion Unique (SCM) et Modes de Multi-Connexion (MCM/WLCP), négociation de mode et mobilité.
- Interface GTP-C S2a - Établissement de session, gestion des porteurs et déconnexion avec le PGW via S2a.
- Plan Utilisateur et Chemin de Données - Tunnel GTP-U, GRE, transfert descendant, porteurs et Modèles de Flux de Trafic.
- Gestion des Adresses IP - Comment l'adresse d'un UE est livrée via DHCPv4, DHCPv6, Annonce de Routeur IPv6 et PCO.
- Facturation en Ligne - L'interface Gy vers l'OCS : flux de contrôle de crédit, rapport de quota et modes de facturation.
Fonctionnalités
- Secrets Partagés RADIUS (par groupe d'IP source) - Gérer de nombreux secrets partagés, chacun lié à un sous-réseau d'IP source, et définir le type de rupture par point d'accès (tunnélisé, NSWO, ou local) et le mode de facturation.
- Pools d'IP - Pools d'adresses pilotés par API pour NSWO (rupture locale ancrée par TWAG), associés à un identifiant de point d'accès.
- Sessions - La vue des sessions en direct par abonné avec un trafic/comptabilité fusionnés, et des actions par session (expulser, démarrer/arrêter la comptabilité).
- Rejets RADIUS - Sources RADIUS rejetées : points d'accès inconnus et points d'accès avec un mauvais secret partagé.
- Comptabilité par Point d'Accès - Totaux de trafic agrégés et comptes de sessions pour chaque point d'accès.
Référence
- Architecture - Architecture des composants internes et des processus.
- Référence des Métriques - Métriques Prometheus et requêtes d'exemple.
- Références de Performance - Débit mesuré du plan de contrôle.
Introduction
OmniTWAG (Passerelle d'Acc��s WiFi de Confiance) est une implémentation 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 SIM.
Le TWAG authentifie les abonnés WiFi en utilisant leurs identifiants SIM via EAP-AKA (Protocole d'Authentification Extensible - Accord d'Authentification et de Clé), le même mécanisme d'authentification utilisé dans les réseaux cellulaires. Cela fournit un accès WiFi sécurisé et transparent 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 Transparente : 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 mot 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)
Lorsque le dispositif d'un abonné se connecte à un point d'accès WiFi configuré pour le déchargement :
- Le dispositif s'identifie en utilisant son IMSI (de la carte SIM)
- Le point d'accès 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 le dispositif et le TWAG
- Après une authentification réussie, le dispositif obtient l'accès WiFi
- En option, le trafic peut être tunnélisé vers le noyau mobile ou se déconnecter localement
Architecture de Déploiement
Topologie du Réseau
Légende des Interfaces :
- STa* : Interface RADIUS/Diameter entre le point d'accès WiFi et le TWAG (non-3GPP vers 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 : Rupture Locale (Recommandé pour la Performance)
Avantages :
- Latence réduite (pas de retour au noyau)
- Charge réseau central réduite
- Meilleure expérience utilisateur pour les applications à large bande
- É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é transparente 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 HSS domicile)
- Redondance et basculement
- Stickiness 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 livré via le point d'accès sur RADIUS et converti en Gy par le TWAG et transmis au DRA/OCS.
Dans tous les modes, l'utilisation est suivie 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 vers 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-Mise à Jour 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 Gy Complète (Implémentation Complète)
Le flux de facturation en ligne standard 3GPP est suivi. Toute utilisation sur WiFi est transmise à l'OCS pour facturation, avec l'abonné 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 des quotas (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é par morceaux configurables (par exemple, 10MB, 50MB, 100MB)
- CCR-Mise à Jour déclenché à un seuil configurable (par exemple, 80% du quota accordé)
- Le minuteur de validité déclenche une ré-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 produit au 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é
Le dispositif 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 / appareils multi-IMSI.
Clé de Session Maîtresse (MSK)
La Clé de Session Maîtresse (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 MSK :
- 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, "Authentification Complète", IMSI, ...)
Utilisation de MSK :
- Dérivation de PMK : PMK = les 256 premiers bits (32 octets) de MSK
- Poignée de Main WPA2 en 4 Étapes : 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 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 MSK fraîche empêche les attaques par répétition
- Confidentialité Parfaite en Avant : La compromission d'une MSK n'affecte pas les autres
Récupération de Resynchronisation
Si le dispositif détecte un décalage de numéro de séquence (SQN hors synchronisation), il initie la resynchronisation :
- Le dispositif calcule AUTS (Jeton 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
- Authentification 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, toutes les valeurs modifiées sur un nœud de production seront perdues lors du prochain lancement 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
}
]
}
Le Format de Domaine suit la norme 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 alors les messages vers le HSS approprié en fonction des règles de routage (Destination-Realm, plage d'IMSI, etc.).
Configuration RADIUS
Située dans config :omnitwag :
config :omnitwag,
radius_config: %{
# Liste des sous-réseaux d'IP source autorisés pour les clients RADIUS
# Liste vide = autoriser tous (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é :
- Utilisez des secrets partagés RADIUS forts (20+ caractères)
- Configurez
allowed_source_subnetspour restreindre l'accès des AP - Utilisez 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-Entreprise (authentification 802.1X)
- Fonctionnalité client RADIUS
- Méthode d'authentification EAP-AKA
Plateformes testées : Cisco Aironet, Aruba, Ubiquiti UniFi, Ruckus, AP basés sur hostapd
Exigences Générales de Configuration AP
- Mode de sécurité WPA2-Entreprise (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 à 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
- Définissez la Sécurité sur WPA2-Entreprise
- Définissez la méthode EAP sur EAP-AKA ou Tous
- Assignez le groupe de serveurs RADIUS
Exemple de Configuration hostapd
Pour les AP basés sur Linux (OpenWrt, systèmes embarqués) :
# /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=OPERATOR-WIFI
# WPA2-Entreprise
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
Exemple de Configuration Ubiquiti airOS
Les dispositifs Ubiquiti airMAX (par exemple, NanoStation M2 et similaires, airOS 6) fonctionnent avec le TWAG en utilisant simplement WPA2-Entreprise (EAP) ; Hotspot 2.0 n'est pas requis. Configurez ce qui suit dans l'onglet WIRELESS de l'appareil.
Paramètres de Base sans Fil
| Paramètre | Valeur |
|---|---|
| Mode sans fil | Point d'Accès |
| WDS (Mode Pont Transparent) | Désactivé |
| SSID | OperatorWiFi |
| Code Pays / Mode 802.11 | par déploiement (par exemple, B/G/N mixte) |
| Largeur de Canal | 20 MHz |
Sécurité sans Fil
| Paramètre | Valeur |
|---|---|
| Sécurité | WPA2-AES |
| Authentification WPA | EAP |
| IP / Port du Serveur d'Authentification | {TWAG_IP} : 1812 |
| Secret du Serveur d'Authentification | le secret partagé configuré pour l'IP source de cet AP |
| Comptabilité | Activé |
| IP / Port du Serveur de Comptabilité | {TWAG_IP} : 1813 |
| Secret du Serveur de Comptabilité | le secret partagé (même que l'auth) |
| ACL MAC | Désactivé |
Notes spécifiques à airOS :
- airOS n'envoie pas un attribut RADIUS
NAS-IP-Address. Le TWAG identifie ces AP par leur IP source de paquet, donc ils apparaissent toujours dans la liste des Points d'Accès et peuvent être ciblés pour CoA. - airOS ne transmet pas de comptabilité intermédiaire de son propre chef. Le TWAG annonce
Acct-Interim-Interval(300 s par défaut) dans l'Acceptation d'Accès, que airOS respecte, donc les mises à jour d'utilisation intermédiaires arrivent sans configuration supplémentaire de l'AP. - Le secret partagé doit correspondre à un identifiant RADIUS dont le sous-réseau couvre l'IP source de l'AP (voir Secrets Partagés RADIUS).
Exemple de Configuration MikroTik RouterOS
Les AP MikroTik (RouterOS) font WPA2-Entreprise en relayant EAP au TWAG en tant que serveur RADIUS externe. Configurez un profil de sécurité, un client RADIUS, et appliquez le profil à l'interface sans fil.
# Profil de sécurité WPA2-Entreprise (EAP)
/interface wireless security-profiles
add name=twag-eap mode=dynamic-keys authentication-types=wpa2-eap \
unicast-ciphers=aes-ccm group-ciphers=aes-ccm
# Client RADIUS pour le service sans fil, pointant vers le TWAG
/radius
add service=wireless address={TWAG_IP} secret=VOTRE_SECRET_PARTAGÉ \
authentication-port=1812 accounting-port=1813 timeout=3s
# Activer la comptabilité RADIUS (l'intervalle intermédiaire est pris à partir de l'intervalle Acct-Interim-Interval du serveur ; RouterOS a également /radius incoming pour CoA/Déconnexion)
/radius incoming set accept=yes
# Appliquer le profil à la radio
/interface wireless
set wlan1 ssid=OperatorWiFi mode=ap-bridge band=2ghz-b/g/n \
security-profile=twag-eap disabled=no
Notes spécifiques à RouterOS :
- Définissez
/radius incoming accept=yespour que le TWAG puisse envoyer CoA / Déconnexion (par exemple, pour détruire ou ré-autoriser une session). - RouterOS respecte l'
Acct-Interim-Intervalque le TWAG retourne dans l'Acceptation d'Accès ; aucun paramètre d'intervalle intermédiaire séparé n'est requis. - Assurez-vous que l'IP source de l'AP est couverte par un sous-réseau d'identifiant RADIUS sur le TWAG (voir Secrets Partagés RADIUS).
Exemple de Configuration TP-Link Omada
Les points d'accès EAP Omada font WPA2-Entreprise avec un serveur RADIUS externe. Ils sont configurés via le Contrôleur Omada (matériel OC200/OC300, contrôleur logiciel, ou Omada Cloud) plutôt que par CLI par AP. Créez un profil RADIUS et appliquez-le au SSID.
Profil RADIUS (Paramètres → Profils → RADIUS)
| Paramètre | Valeur |
|---|---|
| IP / Port du Serveur d'Authentification | {TWAG_IP} : 1812 |
| Secret du Serveur d'Authentification | le secret partagé pour l'IP source de cet AP |
| Comptabilité | Activée |
| IP / Port du Serveur de Comptabilité | {TWAG_IP} : 1813 |
| Secret du Serveur de Comptabilité | le secret partagé (même que l'auth) |
Réseau Sans Fil (Paramètres → Réseaux Sans Fil → votre SSID)
| Paramètre | Valeur |
|---|---|
| SSID | OperatorWiFi |
| Sécurité | WPA-Entreprise (WPA2) |
| Profil RADIUS | le profil créé ci-dessus |
| Comptabilité RADIUS | Activée |
Notes spécifiques à Omada :
- Omada respecte l'
Acct-Interim-Intervalque le TWAG retourne dans l'Acceptation d'Accès, donc les mises à jour d'utilisation intermédiaires arrivent avec le défaut du TWAG (300 s). - Omada envoie normalement
NAS-IP-Address, donc ses AP apparaissent directement dans la liste des Points d'Accès (le fallback sur IP source n'est nécessaire que pour les AP qui l'omettent). - Le secret partagé doit correspondre à un identifiant RADIUS dont le sous-réseau couvre l'IP source de l'AP (voir Secrets Partagés RADIUS).
Meilleures Pratiques d'Architecture Réseau
Important : Placez les AP 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
Vue d'Ensemble de Hotspot 2.0 (Passpoint)
Hotspot 2.0 (également appelé Passpoint ou 802.11u) est une norme de la WiFi Alliance qui permet la découverte et la connexion automatique et sécurisée à des réseaux WiFi sans interaction de l'utilisateur. C'est la technologie clé pour le déchargement WiFi transparent.
Fonctionnalités Clés :
- Découverte Automatique de Réseau : Le dispositif trouve des réseaux compatibles en fonction de critères
- Authentification Automatique : Utilise des identifiants SIM (EAP-AKA) sans saisie de l'utilisateur
- Association Initiale Cryptée : OSEN (Authentification uniquement par Serveur OSU) pour un approvisionnement sécurisé
- Accords de Roaming : Supporte les réseaux visités (comme le roaming cellulaire)
- Priorisation : Le dispositif 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-Entreprise : Authentification 802.1X
- Support EAP-AKA : Doit supporter la méthode EAP-AKA
- Configuration ANQP : Annoncez 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 : {encodage},{domaine},{méthode-eap}[auth-id:auth-val]
# 21 = EAP-AKA
# 2:1 = Type de Credential : SIM
# 5:7 = Méthode EAP Tunelé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:Réseau WiFi Public de l'Opérateur
# Configuration WPA2-Entreprise
wpa=2
wpa_key_mgmt=WPA-EAP
rsn_pairwise=CCMP
ieee8021x=1
# Configuration RADIUS (pointant 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 :
- Un dispositif avec un profil Passpoint effectue une analyse WiFi périodique
- Envoie une requête ANQP aux AP 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 : Le réseau domicile (correspondance MCC/MNC) est préféré au roaming
- Force du Signal : Signal plus fort préféré
- Sécurité : WPA2-Entreprise préféré au WiFi ouvert/WPA2-PSK
- Politique : L'opérateur peut configurer les réseaux préférés
- Surcharge 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 : AP 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 du 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 (sondés toutes les 5 secondes)radius_access_points_count- Points d'accès enregistrés (sondés toutes 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 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 non utilisé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 non utilisé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 de 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 sondés toutes les 5 secondes
- Les métriques de la VM sont sondées toutes les 5 secondes depuis l'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 la 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 Clés dans les Journaux :
Serveur RADIUS à l'écoute 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é au dispositifAuthentification 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 codec du plan de signalisation (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 des abonnés 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 : Le 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 demandes 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 concurrentes
Outils de Débogage
Capture de Paquet
# Capture du trafic RADIUS
tcpdump -i eth0 -n port 1812 or port 1813 -w radius.pcap
# Capture du trafic Diameter
tcpdump -i eth0 -n port 3868 -w diameter.pcap
# Capture 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 AP
APState.list()
# Lister les sessions de comptabilité
ClientUsage.list()
Messages d'Erreur Courants
| Message d'Erreur | Signification | Solution |
|---|---|---|
Échec de validation de Message-Authenticator | Mismatch de secret partagé | Vérifiez que le secret RADIUS correspond entre l'AP et le TWAG |
Échec de vérification RES : attendu {XRES}, obtenu {RES} | Réponse d'authentification incorrecte | Vérifiez Ki SIM, vérifiez le provisionnement HSS |
Délai d'attente de connexion au pair Diameter | Impossible d'atteindre le HSS | Vérifiez le réseau, le pare-feu, la configuration HSS |
Échec de décodage du message EAP | Paquet EAP mal formé | Vérifiez le firmware de l'AP, peut nécessiter une mise à jour de l'AP |
Sous-type EAP-AKA inconnu | Message EAP-AKA non pris en charge | Dispositif utilisant une variante EAP-AKA non standard |
Synchronisation du numéro de séquence requise | SQN hors synchronisation | Normal, le dispositif se resynchronisera automatiquement |
Conformité aux Normes
OmniTWAG met en œuvre 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)
Les performances du plan de contrôle mesurées par rapport à ces protocoles sont publiées 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 la rupture locale ou le trafic routé vers le domicile
- Basé sur des Normes : Met en œuvre 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 fournissant un 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 optionnellement la facturation
- Connectivité Flexible : Connexion directe au HSS ou via OmniDRA pour le routage/l'équilibrage de charge
OmniTWAG - Passerelle d'Accès WiFi de Confiance Copyright © Omnitouch. Tous droits réservés.