Todavía hay sorprendentemente poco material en Runet sobre una tecnología tan antigua y simple, pero conveniente, segura y especialmente relevante en relación con el desarrollo de Internet de las cosas, como la VPN móvil (red privada virtual). En este artículo, describiré cómo y por qué puede configurar el acceso a su red privada a cualquier dispositivo con una tarjeta SIM sin la necesidad de configurar un software especializado en ella.

Tareas y limitaciones
Para empezar, responderé la pregunta "¿por qué?". La VPN como tecnología se utiliza para resolver una variedad de problemas de red, unidos por una característica común: la transferencia aislada de datos entre dos dispositivos a través de una gran cantidad de nodos intermedios. En base a esto, ya se están construyendo soluciones más complejas y se están resolviendo las tareas muy diferentes. En el caso habitual que es habitual para todos, se utiliza una red de operador de línea fija para construir una VPN (hay un
excelente material para aquellos que lo deseen) o muchos protocolos de red diferentes (GRE, IPSec, L2TP y otros, el mismo autor al
respecto ) y los productos de software que trabajan con ellos (Cisco AnyConnect, OpenVPN, TOR (bueno, usted mismo lo sabe), pero su uso en un dispositivo terminal específico plantea de inmediato una serie de requisitos, cuyo incumplimiento conlleva ciertas restricciones.
La primera limitación seria es que el dispositivo debe poder trabajar con al menos uno de estos protocolos a nivel de hardware y software. Esto suele estar determinado por un software que es fácil de encontrar para una computadora portátil o teléfono inteligente, pero hay casos en los que la tarea se enfrenta a un dispositivo que es demasiado simple desde el punto de vista del hardware, o su software tiene limitaciones: el medidor de agua quiere usar una VPN para transmitir su desafortunado byte de lecturas una vez al mes, no menos de lo que desea usar una VPN para editar su perfil de LinkedIn.
Otra limitación importante es la necesidad de personalización. Funciona tanto para dispositivos "estúpidos" del primer párrafo como para teléfonos inteligentes y computadoras clásicos para los que se desconoce la restricción anterior. Y si con el primero todo es relativamente simple y depende de la cantidad de tiempo dedicado a la configuración, entonces con el último hay opciones. A menudo, las organizaciones usan VPN con fines de seguridad para proteger el terminal de servicio del acceso a la red pública sin la protección corporativa adecuada o de la transferencia de datos del servicio a través de canales públicos. Sin embargo, los usuarios finales pueden, por alguna razón, desconectarse u olvidarse de habilitar VPN, como resultado de lo cual muchos de los sistemas de seguridad de la compañía pueden quedar atrás.
Ambas restricciones pueden eliminarse fácilmente si se proporciona acceso a la VPN a nivel de red. En el caso de las comunicaciones móviles, esto se puede implementar utilizando la "VPN móvil". Un dispositivo de cualquier complejidad capaz de transmitir datos lo transmitirá a la red correcta. No importa qué ajustes se realicen en el dispositivo, si la red está configurada correctamente, en cualquier caso los transferirá a donde desee y a ningún otro lugar.
Y como una buena ventaja, el dispositivo recibirá una dirección de la red interna, configurada de forma remota, y el acceso a ella solo será posible desde esta red (o físicamente). Para una cierta clase de dispositivos, esto es muy importante.
Como funciona
PS Core
Parece que VPN es un servicio clásico de todos los operadores de telecomunicaciones para el segmento B2B, y ¿por qué, entonces, centrarse en esto? La cuestión es cómo se organiza la red de datos para dispositivos conectados a través de GPRS, HSPA, LTE u otra tecnología de comunicación móvil. No hay un vlan familiar para todos los administradores de red, no hay conmutadores, ni siquiera hay enrutadores en su significado habitual. Pero hay una red de acceso de radio (RAN) y un núcleo de paquetes (PS Core).
Un diagrama simplificado de una red de paquetes de un operador móvil. Es ligeramente diferente para LTE, pero el significado general sigue siendo el mismo.En general, cada dispositivo con una tarjeta SIM registrada en la red de paquetes (después de haber pasado el procedimiento de conexión GPRS o similar), antes de comenzar a transferir datos en algún lugar, debe iniciar la creación de una sesión de transferencia de datos (contexto PDP) en el enrutador central de la red de paquetes, GGSN . Los detalles y el propósito de estos procesos se describen muy bien aquí en
este artículo . Lo que es importante para nosotros: al iniciar una sesión, la solicitud a GGSN, entre otros, incluye parámetros que muchos vieron en sus teléfonos o incluso abordaron al configurar, por ejemplo, módems usb. Estos son tres campos: APN, inicio de sesión y contraseña. El APN (punto de acceso) es una entidad muy importante en la lógica del GGSN: dependiendo del APN con el que se inicia la sesión, el GGSN actúa de diferentes maneras. Como resultado del procesamiento exitoso de una solicitud de usuario, el GGSN debe activar una sesión de transferencia de datos e informar al dispositivo de sus parámetros, en particular, la dirección IP y las direcciones DNS dadas al dispositivo. Hay una serie de características importantes muy importantes:
- En una solicitud para iniciar una sesión, el dispositivo nunca pregunta qué dirección IP le gustaría recibir;
- Además de los campos "APN", "inicio de sesión" y "contraseña" especificados en la configuración del dispositivo, la solicitud a GGSN también transfiere el número de teléfono (MSISDN) del suscriptor (en adelante "suscriptor" es el usuario final, un dispositivo con una tarjeta SIM, y "Cliente": la organización-cliente del servicio, que incluye suscriptores);
- Cuando se activa una sesión, GGSN crea un registro de la nueva dirección IP en su tabla de enrutamiento. Todos los suscriptores en el GGSN se indican mediante entradas en la tabla de enrutamiento con el prefijo / 32, es decir 1 suscriptor - 1 entrada en la tabla. GGSN es un enrutador muy productivo;
- La red de un operador puede en diferentes etapas (tanto en SGSN como en GGSN) cambiar el campo APN por varias razones en una solicitud para iniciar una sesión. Esto permite en algunos casos reducir y, en algunos casos, excluir por completo la configuración de red en dispositivos con una tarjeta SIM.
En los primeros tres puntos, surge la pregunta inmediata: ¿qué tipo de dirección IP se emite al suscriptor?
Esto está determinado por la configuración del APN con el que llegó la solicitud para activar la sesión. Alrededor del 99% de los usuarios de datos móviles utilizan el acceso regular a Internet. Estos son internet.mts.ru, internet.beeline.ru, etc., puntos de acceso conocidos. En el caso del acceso a Internet, GGSN emite direcciones de acuerdo con el principio clásico de DHCP desde las subredes grises especificadas en la configuración. Al acceder a la red pública, están cerrados por el NAT clásico (o más bien, por su versión, que es PAT).
Pero GGSN es capaz de más. Para seleccionar una dirección IP, puede hacer una solicitud AAA al servidor de autorización (Radius, por ejemplo). Esta lógica está configurada para APN individuales dependiendo de su propósito. El caso más simple es el servicio de proporcionar una dirección IP pública permanente. Tales direcciones, por regla general, se asignan a los suscriptores en la facturación del operador (BSS) y, según la arquitectura de TI, terminan en una base de datos particular, a la que se accede mediante la solicitud GGSN. Debido al hecho de que conoce el MSISDN (número de teléfono) del suscriptor, que se incluirá en la solicitud, dicha base de datos será bastante simple y puede contener solo un montón de números y direcciones. Además, si el cliente planea usar una tarjeta SIM para conectar varios dispositivos (si la tarjeta SIM se encuentra en el enrutador WiFi de la oficina remota, por ejemplo), esta tabla también puede contener la llamada "ruta enmarcada": el prefijo de red ubicado " para "una tarjeta SIM, que se anunciará a todos los dispositivos de la red mediante protocolos de enrutamiento dinámico.
Ni un solo GGSN
Además de emitir direcciones, también es necesario entregar tráfico de suscriptores a las redes de los clientes, cada una por su cuenta. Aquí todo funciona mucho más tradicionalmente. En GGSN, el tráfico especializado para trabajar con VPN APN se enruta a un enrutador separado de la red del operador (se le puede llamar de manera diferente, a veces es un enrutador VPN), que a su vez realiza la función de un PE clásico en el esquema L3VPN. Agrega las etiquetas, encabezados necesarios, y eso es todo, y envía todo este flujo de tráfico a través de los enrutadores de la red de transporte a las juntas o túneles preconfigurados a la red del cliente. Esta parte ya es mucho más tradicional y muchas veces se describe en otra parte, por lo que no me centraré en ella en este material.
Teniendo en cuenta todos estos detalles, puede haber varias formas de organizar una VPN móvil, y serán diferentes entre sí por una combinación de las siguientes características:
- Las direcciones IP, como ya se describió, se pueden emitir dinámicamente (cada vez que una dirección diferente de una subred dada) y estáticamente (cada vez la misma dirección para un suscriptor en particular), que se determina por ambas / o las configuraciones APN y / o las configuraciones del servidor Radius ;
- Las direcciones IP pueden ser emitidas por un servidor Radius bajo el control del operador o bajo el control del cliente;
- Los dispositivos conectados a una VPN móvil pueden interactuar solo entre sí o tener acceso a una red de cliente L3VPN normal a través de una interfaz directa (puerto VPN) con un operador o mediante túneles a través de Internet;
- En algunos casos, puede ser necesario utilizar un nombre de usuario y una contraseña para activar una sesión con éxito, y a veces ni siquiera es necesario completar el campo "APN".
Hay varias docenas de combinaciones de este tipo con diferentes tipos de túneles, equilibrando el tráfico entre los canales de acceso al cliente VPN "principal" y el principio de emisión de direcciones. Para la mayoría de los casos, el esquema general es el siguiente:

Como resultado, después de un proceso bastante rápido de registrarse en la red y obtener una dirección IP, el dispositivo obtiene acceso a la red del cliente, y la red del cliente obtiene acceso al dispositivo. Al mismo tiempo, el suscriptor está aislado de todos los demás suscriptores del operador que no están relacionados con un cliente en particular, no necesita ninguna configuración adicional y todo el tráfico se envía a la red del cliente sin otra alternativa, donde se procesa de acuerdo con las políticas internas del cliente.