În spațiul online din Rusia există încă o surprinzătoare lipsă de materiale despre o tehnologie atât de veche și simplă, dar utilă, sigură și deosebit de relevantă în contextul dezvoltării Internetului Lucrurilor, cum ar fi VPN-ul mobil (rețea privată virtuală). În acest articol, voi descrie cum și de ce poți configura accesul la rețeaua ta privată de pe orice dispozitiv cu cartela SIM, fără a necesita instalarea de software specializat.

Sarcini și limitări
Mai întâi, voi răspunde la întrebarea „de ce?”. VPN-ul ca tehnologie este folosit pentru a rezolva cele mai diverse sarcini de rețea, toate unite prin caracteristica comună de transmitere izolată a datelor între două dispozitive printr-un număr mare de noduri intermediare. Pe baza acestei caracteristici se construiesc soluții mai complexe și se rezolvă acele multe sarcini. În cazul obișnuit, cunoscut de toată lumea, pentru a construi un VPN se folosește rețeaua operatorului de telecomunicații fixe (cei interesați de detalii au ) sau o varietate de protocoale de rețea (GRE, IPSec, L2TP și altele – același autor ) și produsele software care lucrează cu acestea (Cisco AnyConnect, OpenVPN, TOR – și voi știți bine), dar utilizarea lor pe un dispozitiv final specific impune imediat o serie de cerințe, neîndeplinirea cărora duce la anumite limitări.
Prima limitare serioasă este că dispozitivul trebuie să fie capabil, la nivel hardware și software, să lucreze măcar cu unul dintre aceste protocoale. Cel mai adesea, aceasta depinde de software, care este ușor de găsit pentru laptopuri sau smartphone-uri, dar există cazuri în care sarcina apare în fața unui dispozitiv prea simplu din punct de vedere hardware sau software-ul acestuia are limitări: un contor de apă vrea să utilizeze VPN pentru a transmite micuțul său byte de date o dată pe lună, la fel cum tu dorești să folosești VPN pentru a-ți edita profilul LinkedIn.
O altă limitare importantă este necesitatea configurării. Aceasta funcționează atât pentru dispozitivele „simple” menționate în primul punct, cât și pentru smartphone-uri și calculatoare clasice, care nu sunt conștiente de limita anterioară. Iar pentru primele, totul este relativ simplu și depinde de timpul necesar pentru configurare, dar pentru celelalte există variante. Adesea, organizațiile folosesc VPN-uri din motive de siguranță pentru a proteja dispozitivele terminale de accesul la rețeaua publică fără o protecție corporativă adecvată sau de transmiterea datelor de serviciu prin canale publice. Utilizatorii finali pot, din diverse motive, să dezactiveze sau să uite să activeze VPN-ul, ceea ce poate lăsa multe sisteme de securitate ale companiei „în afara”,
Ambele aceste limitări sunt ușor de eliminat dacă accesul la VPN este asigurat la nivel de rețea. În cazul rețelelor mobile, aceasta poate fi realizată printr-un „VPN mobil”. Un dispozitiv, indiferent de complexitate, capabil să transmită date, le va transmite către rețeaua corectă. Nu contează ce setări sunt realizate pe dispozitiv, dacă rețeaua este configurată corect, va transmite tot timpul în locul dorit și nicăieri altundeva.
Și ca un bonus plăcut, dispozitivul va primi o adresă din rețeaua internă, configurabilă de la distanță, iar accesul la acesta va fi posibil doar din interiorul acestei rețele (sau fizic). Pentru un anumit tip de dispozitive, acest lucru este foarte important.
Cum funcționează
PS Core
Ar părea că VPN-ul este un serviciu clasic oferit de toți operatorii de telecomunicații pentru segmentul B2B, și de ce ar trebui să ne concentrăm atât de mult pe acest aspect? Totul se reduce la modul în care este concepută rețeaua de transmitere a datelor pentru dispozitivele conectate prin GPRS, HSPA, LTE sau alte tehnologii de comunicație mobilă. Aici nu există VLAN-uri cunoscute de toți administratorii de rețea, nu există comutatoare, nu există chiar și routere în sensul obișnuit. În schimb, există o rețea de acces radio (RAN) și un nucleu de pachete (PS Core).

Schema simplificată a rețelei de pachete a operatorului de telecomunicații mobile. Aceasta diferă puțin pentru LTE, dar sensul general rămâne același.
În general, fiecare dispozitiv cu SIM, înregistrat în rețeaua de pachete (care a trecut prin procedura de atașare GPRS sau similară), înainte de a începe să transfere date, trebuie să inițieze crearea unei sesiuni de transfer de date (context PDP) pe routerul nucleului rețelei de pachete, GGSN. Detalii și scopul acestor procese sunt foarte bine descrise aici . Ce este important pentru noi: la inițierea sesiunii, în cererea către GGSN, printre altele se regăsesc parametrii pe care mulți i-au văzut în telefoanele lor sau chiar s-au confruntat cu ei la configurarea, de exemplu, a modemurilor USB. Acestea sunt trei câmpuri: APN, nume de utilizator și parolă. APN (punct de acces) este o entitate foarte importantă în logica funcționării GGSN: în funcție de APN cu care este inițiată sesiunea, GGSN acționează diferit. Ca urmare a procesării cu succes a cererii utilizatorului, GGSN trebuie să activeze o sesiune de transfer de date și să comunice dispozitivului parametrii acesteia, în special, adresa IP acordată dispozitivului și adresele DNS. Aici există o serie de caracteristici foarte importante:
- În cererea pentru inițierea unei sesiuni, dispozitivul nu solicită niciodată ce adresă IP ar dori să primească;
- Pe lângă câmpurile «APN», «nume de utilizator» și «parolă» stabilite în setările dispozitivului, în cererea către GGSN este transmis și numărul de telefon (MSISDN) al abonatului (aici și mai departe, «abonat» se referă la utilizatorul final, un dispozitiv cu SIM, iar «client» este organizația care solicită serviciul, din care fac parte abonații);
- La activarea sesiunii, GGSN creează în tabela sa de rutare o înregistrare a noii adrese IP. Toți abonații de la GGSN sunt desemnați prin înregistrări în tabela de rutare cu prefixul /32, adică 1 abonat — 1 înregistrare în tabel. GGSN este un router foarte performant;
- Rețeaua operatorului poate schimba, în diferite etape (și la SGSN, și la GGSN), din diverse motive, câmpul APN din cererea pentru inițierea sesiunii. Acest lucru permite, în anumite cazuri, reducerea, iar în altele, chiar eliminarea necesității de configurare a parametrilor rețelei pe dispozitivele cu SIM.
Referitor la primele trei puncte, imediat apare întrebarea: ce adresă IP este acordată abonatului?
Aceasta este determinată de setările APN-ului prin care a venit solicitarea de activare a sesiunii. Aproximativ 99% dintre utilizatorii de date în rețele mobile folosesc acces obișnuit la Internet. Acestea sunt cunoscutele puncte de acces internet.mts.ru, internet.beeline.ru și așa mai departe. În cazul accesului la Internet, GGSN-ul furnizează adrese pe principiul DHCP-ului clasic din subrețelele gri specificate în setări. La ieșirea în rețeaua publică, acestea sunt închise prin NAT clasic (sau mai precis, prin versiunea sa PAT).
Dar GGSN-ul poate face mai mult. Pentru a selecta o adresă IP, acesta poate efectua o cerere AAA către serverul de autorizare (de exemplu, Radius). Această logică este configurată pentru APN-uri separate, în funcție de destinația lor. Cel mai simplu caz este serviciul de furnizare a unei adrese IP publice permanente. Astfel de adrese sunt, de obicei, alocate abonaților în sistemul de facturare (BSS) al operatorului și, în funcție de arhitectura IT, ajung în una sau alta dintre bazele de date, la care GGSN-ul se adresează cu solicitarea. Datorită faptului că îi este cunoscut MSISDN-ul (numărul de telefon) al abonatului, care va fi inclus în cerere, această bază de date poate fi destul de simplă și poate conține doar asociația număr-adresă. În plus, în cazul în care clientul intenționează să folosească un singur card SIM pentru a conecta mai multe dispozitive (dacă cardul SIM se află într-un router WiFi al unei birouri la distanță, de exemplu), această tabelă poate conține de asemenea așa numita „framed route” — prefixul rețelei care se află „în spatele” cardului SIM, care va fi anunțat tuturor dispozitivelor din rețea prin protocoalele de rutare dinamică.
Nu doar GGSN-ul.
Pe lângă furnizarea adreselor, trebuie să livrăm și traficul abonaților către rețelele clientului, fiecare către a sa. Aici, totul funcționează deja într-un mod mult mai tradițional. Pe GGSN, traficul specializat pentru lucrul cu APN VPN este rutat către un router separat al rețelei operatorului (care poate fi denumit în multe feluri, uneori — router VPN), care la rândul său îndeplinește funcția unui PE clasic în schema L3VPN. Acesta adaugă etichetele, anteturile necesare și tot ce este necesar și trimite acest flux de trafic prin routerele rețelei de transport către sticurile sau tunelurile preconfigurate către rețeaua clientului. Această parte este mult mai tradițională și a fost descrisă de multe ori în alte locuri, prin urmare, nu voi insista asupra ei în acest material.
Având în vedere toate aceste detalii, metodele de organizare a VPN-ului mobil pot fi multiple și vor diferi între ele prin combinația următoarelor trăsături:
- Adresele IP, așa cum a fost descris anterior, pot fi alocate dinamic (adică o adresă diferită de fiecare dată dintr-un subnet specificat) și static (aceeași adresă de fiecare dată pentru un anumit abonat), ceea ce este determinat de și/sau configurațiile APN și/sau de configurațiile serverului RADIUS;
- Adresele IP pot fi alocate de un server RADIUS administrat de operator sau de un server administrat de client;
- Dispozitivele conectate la VPN-ul mobil pot interacționa fie între ele, fie pot avea acces la rețeaua obișnuită L3VPN a clientului printr-un interfață directă (port VPN) cu operatorul sau prin tunelare prin rețeaua Internet;
- În unele cazuri, utilizarea unui nume de utilizator și a unei parole pentru activarea cu succes a sesiunii poate fi obligatorie, iar uneori nu este necesar nici măcar să completăm câmpul „APN”.
Există multe astfel de combinații cu diferite tipuri de tunelare, echilibrarea traficului între canalele de acces la „VPN-ul principal” al clientului și principiul de alocare a adreselor. Pentru majoritatea cazurilor, schema generală arată în felul următor:

În cele din urmă, după un proces destul de rapid de înregistrare online și obținerea adresei IP, dispozitivul primește acces la rețeaua clientului, iar rețeaua clientului obține acces la dispozitiv. În acest timp, abonatul este izolat de toți ceilalți abonați ai operatorului, care nu au legătură cu clientul specific, nu este necesară nicio configurație suplimentară, iar tot traficul este direcționat fără alternativă către rețeaua clientului, unde este procesat conform politicilor interne ale acestuia.
Sursa: habr.com
