VPN pour les appareils mobiles au niveau du réseau

Il y a encore étonnamment peu de matériel dans Runet sur un système aussi ancien et simple, mais pratique, sûr et particulièrement pertinent dans le cadre du développement des technologies de l'Internet des objets telles que le VPN mobile (réseau privé virtuel). Dans cet article, je décrirai comment et pourquoi vous pouvez configurer l'accès à votre réseau privé à n'importe quel appareil doté d'une carte SIM sans avoir à configurer de logiciel spécialisé dessus.


Tâches et limitations


Pour commencer, je répondrai à la question «pourquoi?». Le VPN en tant que technologie est utilisé pour résoudre une variété de problèmes de réseau, unis par une caractéristique commune - le transfert isolé de données entre deux appareils via un grand nombre de nœuds intermédiaires. Sur cette base, des solutions plus complexes sont déjà en cours d'élaboration et les tâches très différentes sont résolues. Dans le cas habituel qui est habituel pour tout le monde, un réseau d'opérateur de ligne fixe est utilisé pour construire un VPN (il y a du matériel formidable pour ceux qui le souhaitent) ou de nombreux protocoles réseau différents (GRE, IPSec, L2TP et autres - le même auteur à ce sujet ) et les produits logiciels qui travaillent avec eux (Cisco AnyConnect, OpenVPN, TOR - eh bien, vous le savez vous-même), mais leur utilisation sur un terminal spécifique en fait immédiatement ressortir un certain nombre d'exigences, dont l'échec entraîne certaines restrictions.

La première limitation sérieuse est que l'appareil doit pouvoir fonctionner avec au moins un de ces protocoles au niveau matériel et logiciel. Ceci est le plus souvent déterminé par un logiciel facile à trouver pour un ordinateur portable ou un smartphone, mais il y a des cas où la tâche est confrontée à un appareil trop simple d'un point de vue matériel, ou son logiciel a des limites: le compteur d'eau veut utiliser un VPN pour transmettre son malheureux octet de lectures une fois par mois pas moins que vous ne souhaitez utiliser un VPN pour modifier votre profil LinkedIn.

Une autre limitation importante est le besoin de personnalisation. Cela fonctionne à la fois pour les appareils «stupides» du premier paragraphe, et pour les smartphones et ordinateurs classiques pour lesquels la restriction précédente est inconnue. Et si avec le premier tout est relativement simple et dépend du temps passé sur la configuration, alors avec le second il y a des options. Souvent, les organisations utilisent des VPN à des fins de sécurité pour empêcher le terminal de service d'accéder au réseau public sans protection appropriée de l'entreprise ou de transférer des données de service via des canaux publics. Les utilisateurs finaux, cependant, peuvent pour une raison quelconque se déconnecter ou oublier d'activer le VPN, ce qui peut laisser de nombreux systèmes de sécurité de l'entreprise.

Ces deux restrictions peuvent être facilement supprimées si l'accès au VPN est fourni au niveau du réseau. Dans le cas des communications mobiles, cela peut être mis en œuvre en utilisant le "VPN mobile". Un appareil de toute complexité capable de transmettre des données les transmettra au bon réseau. Peu importe les paramètres définis sur l'appareil, si le réseau est correctement configuré, il les transférera dans tous les cas où vous le souhaitez, et nulle part ailleurs.

Et en bonus, l'appareil recevra une adresse du réseau interne, configurée à distance, et l'accès ne pourra être obtenu qu'à partir de ce réseau (ou physiquement). Pour une certaine classe d'appareils, c'est très important.

Comment ça marche


PS Core


Il semblerait que le VPN soit un service classique de tous les opérateurs de télécommunications pour le segment B2B, et pourquoi, alors, se concentrer sur cela? Le problème est de savoir comment le réseau de données est organisé pour les appareils connectés via GPRS, HSPA, LTE ou toute autre technologie de communication mobile. Il n'y a pas de vlan familier à tous les administrateurs réseau, il n'y a pas de commutateurs, il n'y a même pas de routeurs dans leur sens habituel. Mais il existe un réseau d'accès radio (RAN) et un noyau de paquets (PS Core).


Un schéma simplifié d'un réseau de paquets d'un opérateur mobile. C'est légèrement différent pour LTE, mais la signification générale reste la même.

En général, chaque appareil possédant une carte SIM enregistrée dans le réseau de paquets (ayant passé la procédure de connexion GPRS ou similaire), avant de commencer à transférer des données quelque part, doit lancer la création d'une session de transfert de données (contexte PDP) sur le routeur principal du réseau de paquets, GGSN . Les détails et le but de ces processus sont très bien décrits ici dans cet article . Ce qui est important pour nous: lors du lancement d'une session, la demande à GGSN, entre autres, inclut des paramètres que beaucoup ont vu sur leurs téléphones ou même traités lors de la configuration, par exemple, de modems usb. Ce sont trois champs: APN, identifiant et mot de passe. L'APN (point d'accès) est une entité très importante dans la logique du GGSN: selon l'APN avec lequel la session est initiée, le GGSN agit de différentes manières. À la suite du succès du traitement d'une demande d'utilisateur, le GGSN doit activer une session de transfert de données et informer l'appareil de ses paramètres, en particulier, l'adresse IP et les adresses DNS données à l'appareil. Il existe un certain nombre de caractéristiques très importantes:

  • Dans une demande d'ouverture de session, l'appareil ne demande jamais quelle adresse IP il souhaite recevoir;
  • En plus des champs "APN", "login" et "mot de passe" spécifiés dans les paramètres de l'appareil, la demande à GGSN transfère également le numéro de téléphone (MSISDN) de l'abonné (ci-après "l'abonné" est l'utilisateur final, un appareil avec une carte SIM, et «Client» - l'organisation cliente du service, qui comprend les abonnés);
  • Lorsqu'une session est activée, GGSN crée un enregistrement de la nouvelle adresse IP dans sa table de routage. Tous les abonnés sur le GGSN sont indiqués par des entrées dans la table de routage avec le préfixe / 32, c'est-à-dire 1 abonné - 1 entrée dans le tableau. GGSN est un routeur très productif;
  • Le réseau d'un opérateur peut, à différentes étapes (à la fois sur SGSN et GGSN), pour diverses raisons, modifier le champ APN dans une demande d'ouverture de session. Cela permet dans certains cas de réduire, et dans certains cas d'exclure complètement les paramètres réseau sur les appareils avec une carte SIM.

Sur les trois premiers points, la question se pose immédiatement: quel type d'adresse IP est délivrée à l'abonné?
Ceci est déterminé par les paramètres de l'APN avec lequel la demande d'activation de la session est arrivée. Environ 99% des utilisateurs de données mobiles utilisent un accès Internet régulier. Ce sont internet.mts.ru, internet.beeline.ru, etc., des points d'accès bien connus. Dans le cas de l'accès à Internet, GGSN émet des adresses selon le principe DHCP classique à partir des sous-réseaux gris spécifiés dans les paramètres. Lors de l'accès au réseau public, ils sont fermés par le NAT classique (ou plutôt, par sa version, qui est PAT).

Mais GGSN est capable de plus. Pour sélectionner une adresse IP, il peut faire une demande AAA au serveur d'autorisation (Radius par exemple). Cette logique est configurée pour des APN individuels en fonction de leur objectif. Le cas le plus simple est le service de fourniture d'une adresse IP publique permanente. Ces adresses sont, en règle générale, attribuées aux abonnés dans la facturation de l'opérateur (BSS), et selon l'architecture informatique, elles se retrouvent dans une base de données particulière, accessible par la demande GGSN. Du fait qu'il connaît le MSISDN (numéro de téléphone) de l'abonné, qui sera contenu dans la demande, une telle base de données sera assez simple et ne pourra contenir qu'un tas de numéros et d'adresses. De plus, si le client prévoit d'utiliser une carte SIM pour connecter plusieurs appareils (si la carte SIM est située dans le routeur WiFi du bureau distant, par exemple), ce tableau peut également contenir ce que l'on appelle la «route encadrée» - le préfixe de réseau situé « pour »une carte SIM, qui sera annoncée à tous les appareils du réseau à l'aide de protocoles de routage dynamique.

Pas un seul GGSN


En plus d'émettre des adresses, il est également nécessaire de fournir du trafic d'abonné aux réseaux clients, chacun à lui. Ici, tout fonctionne beaucoup plus traditionnellement. Sur GGSN, le trafic spécialisé pour travailler avec VPN APN est routé vers un routeur distinct du réseau de l'opérateur (il peut être appelé différemment, parfois c'est un routeur VPN), qui à son tour remplit la fonction d'un PE classique dans le schéma L3VPN. Il ajoute les étiquettes, les en-têtes nécessaires et c'est tout et envoie tout ce flux de trafic via les routeurs du réseau de transport aux liaisons ou tunnels préconfigurés vers le réseau du client. Cette partie est déjà beaucoup plus traditionnelle et souvent décrite ailleurs, je ne vais donc pas me concentrer sur elle dans ce document.

Compte tenu de tous ces détails, il peut y avoir plusieurs façons d'organiser un VPN mobile, et ils différeront les uns des autres par une combinaison des fonctionnalités suivantes:

  • Les adresses IP, comme déjà décrit, peuvent être émises dynamiquement (à chaque fois une adresse différente d'un sous-réseau donné) et statiquement (à chaque fois la même adresse pour un abonné particulier), qui est déterminée par / ou les paramètres APN et / ou les paramètres du serveur Radius ;
  • Les adresses IP peuvent être émises par un serveur Radius sous le contrôle de l'opérateur ou sous le contrôle du client;
  • Les appareils connectés à un VPN mobile peuvent soit interagir uniquement les uns avec les autres, soit avoir accès à un réseau client L3VPN régulier via une interface directe (port VPN) avec un opérateur ou via un tunneling sur Internet;
  • Dans certains cas, l'utilisation d'un nom d'utilisateur et d'un mot de passe pour activer avec succès une session peut être nécessaire, et parfois il n'est même pas nécessaire de remplir le champ «APN».

Il existe plusieurs dizaines de ces combinaisons avec différents types de tunnellisation, équilibrant le trafic entre les canaux d'accès au client VPN «principal» et le principe de l'émission d'adresses. Dans la plupart des cas, le schéma général est le suivant:



Par conséquent, après un processus assez rapide d'enregistrement sur le réseau et d'obtention d'une adresse IP, l'appareil obtient l'accès au réseau du client et le réseau du client accède à l'appareil. Dans le même temps, l'abonné est isolé de tous les autres abonnés de l'opérateur qui ne sont pas liés à un client particulier, il n'a pas besoin de paramètres supplémentaires et tout le trafic est envoyé sur le réseau du client sans alternative, où il est traité conformément aux politiques internes du client.

Source: https://habr.com/ru/post/fr444946/


All Articles