A tela de VPN do Android mostra uma linha com um nome, um ícone de chave e talvez um botão sempre ativo. Raramente mostra o endpoint, a política de rotas, os servidores DNS ou as credenciais que fazem a conexão funcionar, porque num túnel baseado em app eles pertencem ao app. A consequência prática é uma pergunta de runbook, não filosófica: antes de editar um arquivo baixado ou procurar um armazenamento central de perfis, descubra qual componente é dono da configuração que você quer mudar.

Identifique primeiro o tipo de conexão

Existem pelo menos três arranjos na mesma tela de configurações. Um app pode usar VpnService para criar uma interface virtual e ser dono do protocolo e da configuração privada, incluindo um app de filtragem local sem saída remota. O Android também pode provisionar um perfil IKEv2 da plataforma via Ikev2VpnProfile, disponível desde a API 30, onde a plataforma retém mais do perfil. E um app de provedor pode apresentar sua própria lista de servidores e montar as configurações internamente.

adb shell dumpsys connectivity | grep -i -A12 "VPN"
adb shell cmd connectivity list-owners 2>/dev/null || true

O primeiro comando mostra a rede VPN ativa e as propriedades do seu link, que é o estado aplicado. Se a linha nomear um pacote que você reconhece, comece pela visualização de perfil do próprio app em vez da tela do sistema.

Anote o proprietário e o escopo do perfil

Anote quatro fatos antes de mudar qualquer coisa: o pacote proprietário, se a conexão vive no perfil pessoal ou no de trabalho, o nome do perfil ou da conexão como o app o exibe, e quem o administra. O proprietário de um dispositivo pode provisionar uma VPN de perfil de trabalho que um usuário do perfil pessoal não consegue editar, e o mesmo app instalado duas vezes dá a você dois proprietários independentes.

Este passo evita a hora perdida mais comum, que é editar um perfil que não é o conectado. Os apps costumam guardar vários perfis, e o ativo é uma propriedade do app, não da linha do Android.

Compare o estado solicitado, recebido e aplicado

São três etapas diferentes, e uma discrepância entre elas indica qual componente corrigir.

StageWhere to lookWhat it proves
RequestedThe app's profile editor or imported fileWhat the owner intends to use
ReceivedSanitized app log of server-supplied optionsWhat the peer actually pushed
AppliedLink properties and routes after connectWhat the device is really using

A etapa aplicada é a que você pode observar sem confiar no log de ninguém. Compare os servidores DNS e as rotas nas propriedades do link ativo com os que o perfil declara; se diferirem, o servidor enviou algo ou o app aplicou uma política que você não esperava.

adb shell ip addr show tun0
adb shell ip route show table all | head -40

Os nomes de interface variam entre apps, então liste as interfaces primeiro e leia a que apareceu quando o túnel conectou. Uma rota presente no editor do app mas ausente aqui nunca foi aplicada; uma rota presente aqui mas ausente do editor veio de outro lugar.

Edite o artefato que o proprietário realmente lê

Para um perfil OpenVPN importado, o app geralmente mantém a própria cópia. Editar depois o arquivo baixado originalmente não muda a próxima conexão; use o editor documentado do app, ou importe novamente e confirme qual perfil está ativo agora. Essa é a diferença entre mudar um arquivo e mudar uma configuração.

Apps de provedor muitas vezes montam as configurações a partir de uma lista de servidores em vez de escrever um arquivo editável pelo usuário. A ausência de um botão de exportação não é prova de que a VPN seja falsa, e um arquivo exportado pode omitir chaves vinculadas ao dispositivo ou material de registro que outro dispositivo precisaria. Trate exportação e importação como operações separadas com suas próprias condições.

Escreva a nota de suporte sem expor segredos

Uma nota útil nomeia o app e o perfil exatos, a configuração que parece errada e as evidências de cada etapa. Por exemplo: este perfil recebe um endereço DNS privado do servidor, mas o app de trabalho pretendido não consegue resolver o próprio serviço, e as propriedades de link aplicadas mostram esse resolvedor enquanto o editor do perfil mostra outro.

Mantenha as credenciais fora da nota. Fazer root no dispositivo para buscar no armazenamento privado do app não é necessário para identificar o proprietário, e um caminho suposto para o diretório de dados não é uma interface suportada. Se a resposta exigir bytes que só o app vê, peça ao proprietário uma exportação de diagnóstico em vez de improvisar uma.

Quando o trabalho terminar, feche o ciclo: confirme o nome do perfil ativo, releia o estado aplicado e desconecte uma vez para verificar que a mudança sobrevive a uma reconexão. Uma configuração que só existe no editor não foi implantada.

Artigos relacionados