VPN за мобилни устройства на ниво мрежа

В интернет пространството в България все още има удивително малко материали за такава стара и проста, но удобна, безопасна и особено актуална технология, свързана с развитието на Интернет на нещата, като мобилен VPN (виртуална частна мрежа). В тази статия ще опиша как и защо можете да настроите достъп до вашата частна мрежа за всяко устройство с СИМ карта без необходимост от настройка на специализиран софтуер.
VPN за мобилни устройства на ниво мрежа

Задачи и ограничения

Първо ще отговоря на въпроса "защо?". VPN като технология се използва за решаване на най-различни мрежови задачи, свързани с изолирана предаване на данни между две устройства през множество междинни възли. На базата на това се изграждат по-сложни решения и се решават различните задачи. В обичайния, познат случай за изграждане на VPN се използва мрежата на оператор на фиксирана връзка (за желаещите в детайли има прекрасен материал) или множество различни мрежови протоколи (GRE, IPSec, L2TP и други — същият автор об этом) и софтуерни продукти, които работят с тях (Cisco AnyConnect, OpenVPN, TOR — вие и сами знаете), но използването им на конкретно крайно устройство веднага поставя редица изисквания, неизпълнението на които води до определени ограничения.

Първото сериозно ограничение е, че устройството трябва на хардуерно и софтуерно ниво да може да работи поне с един от тези протоколи. Най-често това се определя от софтуера, който лесно може да бъде намерен за лаптоп или смартфон, но има случаи, когато задачата стои пред твърде простото от хардуерна гледна точка устройство, или софтуерът му има ограничения: водомерът иска да използва VPN, за да предаде своя нещастен байт показания веднъж на месец, не по-малко от вас, които искате да използвате VPN за редактиране на профила си в LinkedIn.

Друго важно ограничение е необходимостта от настройка. То работи както за "глупавите" устройства от първата точка, така и за класическите смартфони и компютри, на които предходното ограничение не е познато. И ако при първите всичко е относително просто и зависи от времето, необходимо за настройка, то при вторите има варианти. Често организации използват VPN за целите на сигурността, за да предпазят служебното крайно устройство от излизане в публичната мрежа без необходимата корпоративна защита или от предаване на служебни данни през публични канали. Крайните потребители обаче поради различни свои причини могат да деактивират или забравят да активират VPN, в резултат на което много системи за сигурност на компанията могат да се окажат "извън борда".

И двете тези ограничения лесно могат да бъдат премахнати, ако достъпът до VPN се осигурява на мрежовото ниво. В случая с мобилната свързаност това може да бъде реализирано с помощта на „мобилен VPN“. Устройство с всякаква сложност, способно да предава данни, ще ги предава в правилната мрежа. Няма значение какви настройки са направени на устройството, при правилно конфигурирана мрежа то във всеки случай ще ги предава там, където е необходимо, и никъде другаде.

И като приятен бонус, устройството ще получава адрес от вътрешната мрежа, който може да се настройва отдалечено, а достъпът до него ще бъде възможен само от вътре в тази мрежа (или физически). За определен клас устройства това е много важно.

Как работи

PS Core

На пръв поглед, VPN е класическа услуга на всички оператори за връзка за B2B сегмента, та защо е необходимо да се акцентира на това? Всичко е във начина, по който е настроена мрежата за предаване на данни за устройствата, свързани чрез GPRS, HSPA, LTE или друга технология за мобилна връзка. Тук няма познатите на всички мрежови администратори vlan, няма суичове, няма дори маршрутизатори в обичайния им смисъл. Има мрежа за радиодостъп (RAN) и пакетно ядро (PS Core).

VPN за мобилни устройства на ниво мрежа
Определена схема на пакетната мрежа на мобилния оператор. Тя е малко различна за LTE, но общият принцип остава същият.

Обикновено, всяко устройство със SIM карта, регистрирано в пакетната мрежа (преминало през процедурата GPRS attach или аналогична), преди да започне да предава данни нанякъде, трябва да инициира създаването на сесия за предаване на данни (PDP context) на маршрутизатора на ядрото на пакетната мрежа, GGSN. Детайлите и целта на тези процеси са много добре описани тук. тази статия. Какво е важно за нас: при иницииране на сесия, в заявката към GGSN, наред с другите, фигурират параметри, които много хора са виждали на своите телефони или са имали работа с тях при настройването, например, usb-модеми. Това са три полета: APN, логин и парола. APN (точка на достъп) е много важна сущност в логиката на работа на GGSN: в зависимост от това, с коя APN се инициира сесия, GGSN действа по различен начин. В резултат на успешната обработка на заявката на потребителя, GGSN трябва да активира сесия за предаване на данни и да информира устройството за нейните параметри, в частност, предоставения IP адрес и адресите на DNS. Тук има редица важни особености:

  • В заявката за иницииране на сесия, устройството никога не запитва, какъв IP адрес би искало да получи;
  • Освен зададените в настройките на устройството полета „APN“, „логин“ и „парола“, в заявката към GGSN се предава и номерът на телефона (MSISDN) на абоната (тук и по-долу „абонат“ е крайният потребител, едно устройство със SIM карта, а „клиент“ — организацията-поръчител на услугата, в която влизат абонатите);
  • При активация на сесията GGSN създава запис в своята таблица за маршрутизация относно новия IP адрес. Всички абонати на GGSN са обозначени в таблицата за маршрутизация с префикс /32, т.е. 1 абонат — 1 запис в таблицата. GGSN е изключително производителен маршрутизатор;
  • Мрежата на оператора може на различни етапи (както на SGSN, така и на GGSN) по различни причини да променя полето APN в заявката за иницииране на сесия. Това позволява в някои случаи да се намали, а в други да се избегне настройката на параметрите на мрежата на устройствата с SIM карта.

По първите три пункта веднага възниква въпросът: какъв IP адрес се предоставя на абоната?
Това се определя от настройките на APN, от която е получена заявката за активиране на сесията. Около 99% от потребителите на данни в мобилните мрежи използват обикновен достъп до Интернет. Това са известните точки за достъп, като internet.mts.ru, internet.beeline.ru и така нататък. В случай на достъп до Интернет GGSN предоставя адреси според принципа на класическия DHCP от предварително зададените сиви подсетки. При изход към публичната мрежа те се затварят с класически NAT (по-точно с версията му, позната като PAT).

Но GGSN може да направи повече. За избор на IP адрес той може да направи ААА заявка до сървъра за удостоверяване (например Radius). Тази логика се конфигурира за отделни APN в зависимост от тяхното предназначение. Най-простият случай е услугата за предоставяне на постоянен публичен IP адрес. Такива адреси обикновено се закрепват за абонатите в биллинга (BSS) на оператора и в зависимост от ИТ архитектурата влизат в база данни, до която GGSN отправя заявката. Благодарение на това, че му е известен MSISDN (номер на телефона) на абоната, който ще бъде включен в заявката, такава база данни ще бъде сравнително проста и може да съдържа само връзка между номера и адреса. Допълнително, в случай че клиентът планира да използва една SIM карта за свързване на няколко устройства (например, ако SIM картата е в WiFi рутер на отдалечен офис), тази таблица може също да съдържа така нареченото „framed route“ — префикс на мрежата, намираща се „зад“ SIM картата, който ще бъде анонсиран на всички устройства в мрежата по протоколите на динамичното маршрутизиране.

Не само с GGSN.

В допълнение към предоставянето на адреси, е необходимо да се достави трафикът на абонатите до клиентските мрежи, всеки до своята. Тук всичко работи по доста по-традиционен начин. На GGSN трафикът, специализиран за работа с VPN APN, се маршрутизира към отделен рутер на мрежата на оператора (може да се нарича по различен начин, понякога — VPN рутер), който от своя страна изпълнява функцията на класически RE в схемата L3VPN. Той добавя необходимите етикети, заглавия и така нататък и изпраща целия този поток трафик през рутерите на транспортната мрежа до предварително настроените съединения или тунели до мрежата на клиента. Тази част вече е далеч по-традиционна и е описана многократно на други места, затова няма да я заострям в този материал.

С оглед на всички тези детайли, начина за организиране на мобилен VPN може да бъде различен и те ще се различават помежду си по комбинацията от следните характеристики:

  • IP адресите, както вече беше описано, могат да се предоставят динамично (всеки път различен адрес от определен подмрежа) и статично (всеки път един и същ адрес на конкретен абонат), което се определя и/или от настройките на APN, и/или от настройките на Radius-сървъра;
  • IP адресите могат да се предоставят от Radius-сървъра под управлението на оператора или под управлението на клиента;
  • Устройствата, свързани към мобилния VPN, могат да взаимодействат или само помежду си, или да имат достъп до обикновената L3VPN мрежа на клиента чрез директно съединение (VPN порт) с оператора или чрез тунелиране през Интернет;
  • В някои случаи употребата на потребителско име и парола за успешна активизация на сесията може да бъде задължителна, а понякога не се изисква дори да се попълва полето 'APN'.

Тези комбинации с различни типове тунелиране, балансиране на трафика между каналите за достъп до 'основния' VPN на клиента и принципите на предоставяне на адреси обхващат няколко десетки. За повечето случаи общата схема изглежда по следния начин:
VPN за мобилни устройства на ниво мрежа

В резултат на сравнително бързия процес на регистрация в мрежата и получаване на IP адрес, устройството получава достъп до мрежата на клиента, а мрежата на клиента получава достъп до устройството. При това абонатът е изолиран от всички други абонати на оператора, които нямат отношение към конкретния клиент, не му се изискват никакви допълнителни настройки и целият трафик без никаква алтернатива се насочва към мрежата на клиента, където се обработва в съответствие с вътрешните политики на клиента.

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster