VPN para dispositivos móveis no nível da rede

Ainda há surpreendentemente pouco material no Runet sobre um sistema antigo e simples, mas conveniente, seguro e especialmente relevante em relação ao desenvolvimento da Internet de coisas como tecnologias como VPN móvel (rede privada virtual). Neste artigo, descreverei como e por que você pode configurar o acesso à sua rede privada para qualquer dispositivo com um cartão SIM, sem a necessidade de configurar um software especializado.


Tarefas e limitações


Para começar, responderei à pergunta "por quê?". A VPN como tecnologia é usada para resolver uma variedade de problemas de rede, unidos por um recurso comum - a transferência isolada de dados entre dois dispositivos por meio de um grande número de nós intermediários. Com base nisso, soluções mais complexas já estão sendo criadas e as tarefas muito diferentes estão sendo resolvidas. No caso usual e comum a todos, uma rede de operadora de linha fixa é usada para criar uma VPN (existe um ótimo material para quem deseja) ou muitos protocolos de rede diferentes (GRE, IPSec, L2TP e outros - o mesmo autor sobre isso ) e os produtos de software que trabalham com eles (Cisco AnyConnect, OpenVPN, TOR - bem, você mesmo sabe), mas seu uso em um dispositivo terminal específico apresenta imediatamente uma série de requisitos, cuja falha leva a certas restrições.

A primeira limitação séria é que o dispositivo deve poder trabalhar com pelo menos um desses protocolos nos níveis de hardware e software. Isso geralmente é determinado por um software fácil de encontrar para um laptop ou smartphone, mas há casos em que a tarefa é confrontada com um dispositivo muito simples do ponto de vista de hardware ou seu software tem limitações: o hidrômetro deseja usar uma VPN para transmitir seu infeliz byte de leituras uma vez por mês, não menos do que você deseja usar uma VPN para editar seu perfil do LinkedIn.

Outra limitação importante é a necessidade de personalização. Ele funciona tanto para dispositivos "estúpidos" do primeiro parágrafo quanto para smartphones e computadores clássicos para os quais a restrição anterior é desconhecida. E se com o primeiro tudo é relativamente simples e depende da quantidade de tempo gasto na instalação, então com o último há opções. Muitas vezes, as organizações usam VPNs para fins de segurança para proteger o dispositivo terminal de serviço de acessar a rede pública sem a proteção corporativa adequada ou de transferir dados de serviço por canais públicos. Os usuários finais, no entanto, podem, por algum motivo, desconectar ou esquecer de habilitar a VPN, como resultado dos quais muitos dos sistemas de segurança da empresa podem ficar para trás.

Ambas as restrições podem ser facilmente removidas se o acesso à VPN for fornecido no nível da rede. No caso de comunicações móveis, isso pode ser implementado usando a "VPN móvel". Um dispositivo de qualquer complexidade capaz de transmitir dados o transmitirá para a rede correta. Não importa quais configurações são feitas no dispositivo, se a rede estiver configurada corretamente, ela será transferida de qualquer maneira para onde você quiser e em nenhum outro lugar.

E como um bônus agradável, o dispositivo receberá um endereço da rede interna, configurado remotamente, e o acesso a ele será possível apenas dentro desta rede (ou fisicamente). Para uma determinada classe de dispositivos, isso é muito importante.

Como isso funciona


PS Core


Parece que a VPN é um serviço clássico de todas as operadoras de telecomunicações para o segmento B2B, e por que, então, focar nisso? O problema é como a rede de dados é organizada para dispositivos conectados via GPRS, HSPA, LTE ou outra tecnologia de comunicação móvel. Não há vlan familiar para todos os administradores de rede, não há comutadores, nem roteadores no seu significado usual. Mas há uma rede de acesso via rádio (RAN) e um núcleo de pacotes (PS Core).


Um diagrama simplificado de uma rede de pacotes de uma operadora móvel. É um pouco diferente para LTE, mas o significado geral permanece o mesmo.

No caso geral, cada dispositivo com um cartão SIM registrado na rede de pacotes (que passou no procedimento de conexão GPRS ou similar), antes de começar a transferir dados em algum lugar, deve iniciar a criação de uma sessão de transferência de dados (contexto PDP) no roteador principal da rede de pacotes, GGSN . Os detalhes e o objetivo desses processos estão muito bem descritos aqui neste artigo . O que é importante para nós: ao iniciar uma sessão, a solicitação ao GGSN, entre outros, inclui parâmetros que muitos viram em seus telefones ou até mesmo lidaram com eles ao configurar, por exemplo, modems USB. Estes são três campos: APN, login e senha. O APN (ponto de acesso) é uma entidade muito importante na lógica do GGSN: dependendo de qual APN a sessão é iniciada, o GGSN age de maneiras diferentes. Como resultado do processamento bem-sucedido de uma solicitação do usuário, o GGSN deve ativar uma sessão de transferência de dados e informar o dispositivo de seus parâmetros, em particular, o endereço IP e os endereços DNS fornecidos ao dispositivo. Existem vários recursos muito importantes:

  • Em uma solicitação para iniciar uma sessão, o dispositivo nunca pergunta qual endereço IP gostaria de receber;
  • Além dos campos "APN", "login" e "senha" definidos nas configurações do dispositivo, a solicitação ao GGSN também transfere o número de telefone (MSISDN) do assinante (a seguir "assinante" é o usuário final, um dispositivo com um cartão SIM e “Cliente” - a organização-cliente do serviço, que inclui assinantes);
  • Quando uma sessão é ativada, o GGSN cria um registro do novo endereço IP em sua tabela de roteamento. Todos os assinantes no GGSN são indicados por entradas na tabela de roteamento com o prefixo / 32, ou seja, 1 assinante - 1 entrada na tabela. GGSN é um roteador muito produtivo;
  • A rede de uma operadora pode, em diferentes estágios (tanto no SGSN quanto no GGSN), por vários motivos, alterar o campo APN em uma solicitação para iniciar uma sessão. Isso permite, em alguns casos, reduzir e, em alguns casos, excluir completamente as configurações de rede em dispositivos com um cartão SIM.

Nos três primeiros pontos, surge imediatamente a pergunta: que tipo de endereço IP é emitido para o assinante?
Isso é determinado pelas configurações do APN com o qual a solicitação para ativar a sessão veio. Cerca de 99% dos usuários de dados móveis usam acesso regular à Internet. Estes são internet.mts.ru, internet.beeline.ru e assim por diante, pontos de acesso conhecidos. No caso do acesso à Internet, o GGSN emite endereços de acordo com o princípio clássico do DHCP nas sub-redes cinza especificadas nas configurações. Ao acessar a rede pública, eles são fechados pelo NAT clássico (ou melhor, por sua versão, que é PAT).

Mas o GGSN é capaz de mais. Para selecionar um endereço IP, ele pode fazer uma solicitação AAA ao servidor de autorização (Radius, por exemplo). Essa lógica é configurada para APNs individuais, dependendo de sua finalidade. O caso mais simples é o serviço de fornecer um endereço IP público permanente. Esses endereços, em regra, são atribuídos aos assinantes no faturamento do operador (BSS) e, dependendo da arquitetura de TI, eles acabam em um banco de dados específico, que é acessado pela solicitação GGSN. Devido ao fato de ele conhecer o MSISDN (número de telefone) do assinante, que estará contido na solicitação, esse banco de dados será bastante simples e poderá conter apenas vários números e endereços. Além disso, se o cliente planeja usar um cartão SIM para conectar vários dispositivos (se o cartão SIM estiver no roteador WiFi do escritório remoto, por exemplo), esta tabela também poderá conter a chamada "rota emoldurada" - o prefixo da rede localizado " para ”um cartão SIM, que será anunciado a todos os dispositivos da rede usando protocolos de roteamento dinâmico.

Nem um único GGSN


Além de emitir endereços, também é necessário fornecer tráfego de assinante para redes de clientes, cada uma por conta própria. Aqui tudo funciona muito mais tradicionalmente. No GGSN, o tráfego especializado para trabalhar com o VPN APN é roteado para um roteador separado da rede da operadora (pode ser chamado de maneira diferente, às vezes é um roteador VPN), que, por sua vez, executa a função de um PE clássico no esquema L3VPN. Ele adiciona os rótulos, cabeçalhos e isso é tudo e envia todo esse fluxo de tráfego através dos roteadores da rede de transporte para as articulações ou túneis pré-configurados para a rede do cliente. Esta parte já é muito mais tradicional e muitas vezes descrita em outros lugares, por isso não vou me concentrar nela neste material.

Dado todos esses detalhes, pode haver várias maneiras de organizar uma VPN móvel e elas diferem entre si por uma combinação dos seguintes recursos:

  • Os endereços IP, como já descrito, podem ser emitidos dinamicamente (sempre que um endereço diferente de uma determinada sub-rede) e estaticamente (sempre que o mesmo endereço para um assinante específico), que é determinado pelas configurações de / ou APN e / ou do servidor Radius ;
  • Os endereços IP podem ser emitidos por um servidor Radius sob controle do operador ou sob controle do cliente;
  • Os dispositivos conectados a uma VPN móvel podem interagir apenas entre si ou ter acesso a uma rede cliente L3VPN normal por meio de uma interface direta (porta VPN) com um operador ou através de túnel na Internet;
  • Em alguns casos, pode ser necessário usar um nome de usuário e senha para ativar com êxito uma sessão e, às vezes, nem é necessário preencher o campo "APN".

Existem várias dezenas dessas combinações com diferentes tipos de encapsulamento, equilibrando o tráfego entre os canais de acesso ao cliente VPN “principal” e o princípio de emissão de endereços. Na maioria dos casos, o esquema geral é o seguinte:



Como resultado, após um processo bastante rápido de registro na rede e obtenção de um endereço IP, o dispositivo obtém acesso à rede do cliente e a rede do cliente obtém acesso ao dispositivo. Ao mesmo tempo, o assinante é isolado de todos os outros assinantes do operador que não estão relacionados a um cliente específico, ele não precisa de configurações adicionais e todo o tráfego é enviado para a rede do cliente sem alternativa, onde é processado de acordo com as políticas internas do cliente.

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


All Articles