VPN pessoal ou túnel de pacotes: dois modelos de VPN para iPhone
Um modelo configura o IPsec ou IKEv2 integrado do iOS; o outro inclui um provedor que implementa o próprio protocolo. O nome do produto não diz qual você recebeu.
Dois aplicativos de iPhone podem ambos colocar uma entrada de VPN nos Ajustes, ambos se chamar clientes de VPN e quase não compartilhar nenhuma implementação. A Apple chama de VPN pessoal uma dessas integrações, e esse nome produz a maior parte da confusão. VPN pessoal é uma API para criar e gerenciar configurações que usam a implementação integrada de IPsec ou IKEv2. Um provedor de túnel de pacotes é o outro modelo: o aplicativo inclui uma extensão que implementa o lado cliente do próprio protocolo. Tudo o que as pessoas inferem depois da etiqueta, das cifras à propriedade e até se o telefone precisa ser gerenciado, é inferência e não declaração.
Quem implementa o túnel
A divisão decide quem é responsável quando algo quebra. Com IPsec ou IKEv2 integrados, o iOS possui a máquina de estados do túnel e o aplicativo possui a configuração e os botões. Com um provedor, o aplicativo possui ambos, então um bug de protocolo se torna uma atualização do aplicativo em vez do sistema operacional.
A comparação é curta se você perguntar quem implementa o protocolo.
| Integration | Apple interface | Protocol implementation |
|---|---|---|
| Personal VPN | NEVPNManager with a Personal VPN configuration | The system IPsec or IKEv2 client |
| Packet tunnel | NETunnelProviderManager plus the provider extension | Whatever the extension implements |
A documentação de VPN pessoal também menciona o aviso explícito de autorização do usuário quando um aplicativo salva uma configuração pela primeira vez, o que pertence a esse modelo e não aos aplicativos de VPN em geral.
Duas afirmações sobre a etiqueta que vale a pena abandonar
A primeira é que VPN pessoal seleciona uma cifra. Não seleciona; o conjunto negociado vem do protocolo e da sua configuração, e uma etiqueta Pessoal não diz nada sobre qual você receberá. A segunda é que VPN pessoal implica um proxy ou um túnel limitado. Implica IPsec ou IKEv2 integrados, que é um túnel completo sempre que as rotas dizem isso.
Portanto, a presença de um aplicativo não é prova sobre o protocolo de fio. Um cliente de terceiros que fala WireGuard ou OpenVPN é por construção um aplicativo de provedor, porque o iOS não implementa esses protocolos de forma nativa.
Por que a redação empresarial engana
A documentação da Apple classifica as configurações do NETunnelProviderManager como configurações de VPN empresariais comuns. Essa redação é uma categoria de API, e empurra as pessoas para dois erros opostos: supor que um aplicativo de consumidor não pode usar o modelo de provedor, e supor que o telefone precisa estar sob supervisão para isso. Nenhuma das duas se segue. Aplicativos de consumidor incluem provedores rotineiramente, e a supervisão é uma questão separada sobre quem pode aplicar políticas.
A propriedade da gestão é essa quarta questão, e é independente dos dois modelos. Uma configuração instalada por uma organização carrega a própria identidade, o escopo de tráfego e as regras de ciclo de vida, e essas viajam com o perfil e não com o aplicativo que por acaso esteja instalado. Leia-as junto ao modelo de integração, porque um perfil integrado gerenciado e um perfil de provedor não gerenciado podem estar no mesmo telefone ao mesmo tempo.
Verifique a evidência em vez da captura de tela
As capturas de tela são a pior evidência disponível, porque o agrupamento dos Ajustes muda entre versões. Um perfil gerenciado nomeia o próprio tipo de carga: um perfil integrado declara um tipo de VPN como IKEv2 ou IPsec, enquanto um perfil de provedor carrega um subtipo que nomeia o identificador de pacote do provedor. Isso é verificável no dispositivo à sua frente, e sobrevive ao próximo redesenho.
Quanto ao próprio aplicativo, a classe em uso responde à mesma pergunta do outro lado: objetos de configuração da API de VPN pessoal, ou um gerenciador de provedor e sua extensão.
Depois escolha conforme o que o operador realmente fornece. Onde existe um perfil nativo compatível, o caminho integrado tem menos peças móveis e uma coisa menos para atualizar. Onde o serviço precisa de um protocolo que o iOS não inclui, um aplicativo de provedor é a única opção e seu ritmo de lançamento passa a fazer parte do seu risco.
Guarde o registro com a conexão
Vincule autenticação e política de recursos ao registro de conexão e não ao aplicativo, para que uma reinstalação não leve o modelo de autorização junto. Esse registro é também o que um engenheiro de suporte precisa quando o túnel sobe e nada mais funciona.
A pergunta que vale a pena fazer no final não é qual modelo é melhor. É qual modelo o seu operador suporta, e qual você consegue depurar às duas da manhã com as ferramentas que realmente tem.