Nel runet c'è ancora sorprendentemente poco materiale su una tecnologia così antica e semplice, ma conveniente, sicura e particolarmente attuale alla luce dello sviluppo di Internet delle cose, come il VPN mobile (rete privata virtuale). In questo articolo descriverò come e perché è possibile configurare l'accesso alla propria rete privata da qualsiasi dispositivo con una scheda SIM senza la necessità di configurare software specifico su di esso.

Obiettivi e limitazioni
Iniziamo rispondendo alla domanda "perché?". Il VPN come tecnologia viene utilizzato per risolvere una varietà di compiti di rete, accomunati da una caratteristica comune: la trasmissione isolata dei dati tra due dispositivi attraverso un gran numero di nodi intermedi. Su questa base si costruiscono soluzioni più complesse e si risolvono queste svariate problematiche. Nel caso comune, per costruire un VPN si utilizza la rete di un operatore di telecomunicazioni (per chi desidera approfondire ci sono ) o una moltitudine di protocolli di rete diversi (GRE, IPSec, L2TP e altri — lo stesso autore ) e prodotti software che vi lavorano (Cisco AnyConnect, OpenVPN, TOR — beh, lo sapete anche voi), ma il loro utilizzo su un dispositivo finale specifico pone subito una serie di requisiti, il mancato rispetto dei quali porta a determinate limitazioni.
La prima seria limitazione è che il dispositivo deve essere in grado di lavorare, a livello hardware e software, con almeno uno di questi protocolli. Spesso ciò viene determinato dal software, che è facilmente reperibile per computer portatili o smartphone, ma ci sono casi in cui la questione si pone per un dispositivo troppo semplice dal punto di vista hardware, o il suo software presenta limitazioni: un contatore dell'acqua vuole utilizzare il VPN per trasmettere il suo misero byte di lettura una volta al mese, non meno di quanto voi vogliate utilizzare il VPN per modificare il vostro profilo LinkedIn.
Un'altra importante limitazione è la necessità di configurazione. Essa funziona sia per i dispositivi "stupidi" del primo punto sia per smartphone e computer classici, per i quali la precedente limitazione è sconosciuta. E se per i primi la situazione è relativamente semplice e dipende dal tempo investito nella configurazione, per i secondi ci sono diverse opzioni. Spesso, le organizzazioni utilizzano VPN per motivi di sicurezza, onde proteggere i dispositivi terminali aziendali dall'accesso a reti pubbliche senza la dovuta protezione aziendale o dalla trasmissione di dati aziendali su canali pubblici. Gli utenti finali, per qualche motivo, possono disattivare o dimenticare di attivare la VPN, il che può mettere "in pericolo" molti sistemi di sicurezza aziendale.
Entrambe queste limitazioni possono essere facilmente superate se l'accesso alla VPN è garantito a livello di rete. Nel caso della connessione mobile, ciò può essere realizzato tramite una "VPN mobile". Qualsiasi dispositivo, indipendentemente dalla sua complessità, che sia in grado di trasmettere dati, li trasmetterà nella rete corretta. Non importa quali impostazioni siano configurate sul dispositivo; con una rete correttamente configurata, esso trasmetterà comunque verso la direzione giusta e non altrove.
E come bonus, il dispositivo riceverà un indirizzo dalla rete interna, configurabile da remoto, e l'accesso ad esso sarà possibile solo dall'interno di questa rete (o fisicamente). Questo è molto importante per una certa classe di dispositivi.
Come funziona
PS Core
A prima vista, la VPN sembra essere un servizio classico offerto da tutti gli operatori di telecomunicazioni per il segmento B2B, quindi perché sottolinearlo? Tutto sta nel modo in cui è strutturata la rete di trasmissione dati per i dispositivi connessi tramite GPRS, HSPA, LTE o altre tecnologie di comunicazione mobile. Qui non ci sono i vlan a cui sono abituati tutti gli amministratori di rete, non ci sono switch, non ci sono nemmeno router nel loro significato abituale. Ma c'è una rete di accesso radio (RAN) e un nucleo di pacchetto (PS Core).

Schema semplificato della rete di pacchetto di un operatore di telefonia mobile. È leggermente diverso per LTE, ma il significato generale rimane lo stesso.
In generale, ogni dispositivo con una SIM registrato in una rete a pacchetto (che ha completato la procedura di GPRS attach o simile) deve iniziare a creare una sessione di trasmissione dati (PDP context) sul router del nucleo della rete a pacchetto, GGSN, prima di poter inviare dati a qualsiasi destinazione. I dettagli e la finalità di questi processi sono ben delineati in . Ciò che è importante per noi: all'inizio della sessione nella richiesta al GGSN, tra gli altri, sono inclusi parametri che molti hanno visto nei propri telefoni o con cui hanno avuto a che fare durante la configurazione, ad esempio modem USB. Questi sono tre campi: APN, nome utente e password. L'APN (Access Point Name) è un'entità molto importante nella logica operativa del GGSN: a seconda di quale APN avvia la sessione, il GGSN reagisce in modo diverso. In seguito a una corretta elaborazione della richiesta dell'utente, il GGSN deve attivare una sessione di trasmissione dati e comunicare al dispositivo i relativi parametri, in particolare l'indirizzo IP fornito al dispositivo e gli indirizzi DNS. Qui ci sono alcune caratteristiche molto importanti:
- Nella richiesta di attivazione della sessione, il dispositivo non richiede mai quale indirizzo IP vorrebbe ricevere;
- Oltre ai campi 'APN', 'nome utente' e 'password' definiti nelle impostazioni del dispositivo, nella richiesta al GGSN viene anche trasmesso il numero di telefono (MSISDN) dell'abbonato (qui e in seguito 'abbonato' si riferisce all'utente finale, un dispositivo con SIM, e 'cliente' è l'organizzazione che richiede il servizio e che comprende abbonati);
- Durante l'attivazione della sessione, il GGSN crea nella sua tabella di routing una voce per il nuovo indirizzo IP. Tutti gli abbonati nel GGSN sono identificati da voci nella tabella di routing con un prefisso /32, cioè 1 abbonato = 1 voce nella tabella. Il GGSN è un router ad alte prestazioni;
- La rete dell'operatore può, in diverse fasi (sia SGSN che GGSN), modificare il campo APN nella richiesta di attivazione della sessione per vari motivi. Ciò consente, in alcuni casi, di ridurre o addirittura escludere la configurazione dei parametri di rete sui dispositivi con SIM.
Dai primi tre punti sorge subito la domanda: quale indirizzo IP viene fornito all'abbonato?
Questo è determinato dalle impostazioni dell'APN con cui è stata inviata la richiesta di attivazione della sessione. Circa il 99% degli utenti di dati mobili utilizza l'accesso normale a Internet. Questi sono i punti di accesso noti a tutti, come internet.mts.ru, internet.beeline.ru e così via. Nel caso dell'accesso a Internet, il GGSN assegna indirizzi secondo il principio del classico DHCP, utilizzando le reti grigie definite nelle impostazioni. Quando si accede alla rete pubblica, vengono chiusi tramite un classico NAT (o meglio, la sua versione PAT).
Ma il GGSN è capace di molto di più. Per la scelta dell'indirizzo IP, può fare una richiesta AAA a un server di autorizzazione (ad esempio, Radius). Tale logica viene configurata per singoli APN in base alla loro finalità. Il caso più semplice è il servizio di fornitura di un indirizzo IP pubblico statico. Questi indirizzi vengono generalmente assegnati agli abbonati nella fatturazione (BSS) dell'operatore e, a seconda dell'architettura IT, vengono inseriti in uno o nell'altro database che il GGSN consulta con la sua richiesta. Poiché conosce l'MSISDN (numero di telefono) dell'abbonato, che sarà incluso nella richiesta, tale database sarà piuttosto semplice e potrà contenere solo un collegamento tra numero e indirizzo. Inoltre, nel caso in cui il cliente preveda di utilizzare una scheda SIM per connettere più dispositivi (se la scheda SIM è in un router WiFi in un ufficio remoto, ad esempio), questa tabella potrà contenere anche il cosiddetto "framed route" - il prefisso di rete che si trova "dietro" la scheda SIM, che sarà annunciato a tutti i dispositivi nella rete tramite protocolli di routing dinamico.
Non di solo GGSN si vive
Oltre a fornire indirizzi, è necessario anche instradare il traffico degli abbonati verso le reti dei clienti, ciascuno verso la propria. Qui tutto funziona in modo molto più tradizionale. Sul GGSN, il traffico destinato a lavorare con l'APN VPN viene instradato su un router separato della rete dell'operatore (che può avere nomi diversi, a volte - router VPN), il quale a sua volta svolge la funzione di PE classico nello schema L3VPN. Aggiunge le etichette, gli header necessari e tutto il resto, e invia tutto il flusso di traffico attraverso i router di rete di trasporto verso punti di interconnessione o tunnel preconfigurati verso la rete del cliente. Questa parte è già molto più tradizionale e descritta più volte altrove, quindi non mi soffermerò su di essa in questo materiale.
Considerando tutti questi dettagli, esistono diversi modi di organizzare un VPN mobile e si differenziano tra loro per la combinazione delle seguenti caratteristiche:
- Gli indirizzi IP, come già descritto, possono essere assegnati dinamicamente (ogni volta un indirizzo diverso da una sottorete definita) e staticamente (ogni volta lo stesso indirizzo per un particolare abbonato), il che è definito e/o dalle impostazioni dell'APN e/o dalle impostazioni del server Radius;
- Gli indirizzi IP possono essere assegnati da un server Radius sotto il controllo dell'operatore o sotto il controllo del cliente;
- I dispositivi connessi a un VPN mobile possono interagire solo tra loro, oppure avere accesso alla normale rete L3VPN del cliente tramite un punto di interconnessione diretto (porta VPN) con l'operatore o tramite tunneling sopra la rete Internet;
- In alcuni casi, l'utilizzo di un nome utente e una password per l'attivazione della sessione può essere obbligatorio, mentre in altri casi non è nemmeno necessario compilare il campo "APN".
Tali combinazioni con diversi tipi di tunneling, bilanciamento del traffico tra i canali di accesso al "VPN principale" del cliente e il principio di assegnazione degli indirizzi sono molteplici. Per la maggior parte dei casi, lo schema generale appare come segue:

Alla fine, dopo un processo di registrazione in rete piuttosto veloce e l'ottenimento di un indirizzo IP, il dispositivo accede alla rete del cliente, mentre la rete del cliente accede al dispositivo. In questo processo, l'utente è isolato da tutti gli altri utenti dell'operatore, che non hanno alcuna relazione con il cliente specifico, non ha bisogno di ulteriori impostazioni e tutto il traffico viene indirizzato senza alternative nella rete del cliente, dove viene elaborato secondo le politiche interne del cliente.
Fonte: habr.com
