Exportar un perfil de VPN desde Android parece un paso de copia de seguridade, e o menú que o ofrece non fai nada para corrixir esa impresión. O que levas é unha entrada para un analizador, unha chave que o sistema operativo quizais nunca devolva e unha autorización emitida para ese teléfono concreto. Separa esas tres cousas e aparece a pregunta útil: que peza falta aínda no dispositivo novo?

O ficheiro é a parte fácil. As outras dúas deciden se a migración funciona.

Que contén realmente un perfil exportado

Abre o ficheiro nun editor de texto antes de confiar nel. Un perfil de OpenVPN é unha pequena linguaxe de configuración: remote, proto, data-ciphers e a miúdo bloques <ca>, <cert>, <key> ou <tls-crypt> en liña que o cliente entrega á súa pila TLS. Unha configuración de WireGuard é máis plana: [Interface] contén PrivateKey e Address, logo un [Peer] por punto final con PublicKey, AllowedIPs e Endpoint. IKEv2 chega como .mobileconfig con dicionarios de carga útil en lugar de bloques de chaves.

Nada dese texto é unha credencial por si mesmo. A credencial é a chave privada, e cada formato pégase en liña ou apunta a un alias que só se resolve dentro do cliente que o creou.

Onde vive realmente a chave en Android

Android garda os datos das aplicacións en /data/data/<package>, lexibles só polo UID desa aplicación. Non hai forma compatible de copiar o directorio privado doutra aplicación desde un teléfono sen root, e adb backup deixou de ser unha resposta xeral cando Android 12 o desaprobou e os clientes comezaron a declarar allowBackup="false". Así que unha exportación desde un cliente Android significa o que ese cliente implementa, non unha copia do sistema de ficheiros.

A capa de identidade está debaixo da aplicación. Se un cliente importou a túa chave ao Android Keystore, o material xérase ou envólvese alí, e as exportacións posteriores poden levar unha referencia a un alias do Keystore en lugar dos bytes. As chaves con respaldo de hardware están feitas para que nin a aplicación propietaria poida lelas, como describe Keystore documentation, así que un perfil que apunta a ese alias impórtase limpiamente no mesmo teléfono e falla en calquera outro sitio.

Iso non é unha exportación rota. É a propiedade que se pediu á plataforma que ofrecese.

Que non pode trasladar un perfil

Compara os obxectos co que aceptará un destino:

ObxectoTrasládase?Por que
Protocolo e punto finalSi, se o cliente de destino o admiteTexto plano no perfil
Certificado de CA e comprobación do nome de hostNormalmenteMaterial público, pero o nome de host debe seguir coincidindo co certificado
Certificado de clienteSi, salvo que estea vinculado por dispositivoOs certificados son portables; o emisor decide cantos dispositivos poden usar un
Chave privadaSó se se xerou fóra do KeystoreAs chaves con respaldo de hardware non se poden exportar, só substituír
Conta, MFA, sesión SSONonOs tokens caducan e quedan vinculados ao dispositivo que os obtivo
Rutas, DNS e alcance das aplicaciónsSó como texto de configuraciónAndroid aplícaas ao conectar mediante VpnService.Builder
Lista de aplicacións de túnel divididoRaramenteOs nomes de paquete difiren entre dispositivos, e a lista é estado do cliente

Dúas filas causan a maior parte da confusión. Unha chave xerada no dispositivo e marcada como non exportable desaparece de verdade cos datos da aplicación, así que a substitución é unha chave nova máis un certificado emitido para ela. Un token de sesión copiado a un teléfono novo morre normalmente no primeiro refresco, o que se le como unha importación fallida.

A importación é unha análise e despois unha petición de consentimento

No lado receptor, a importación é unha análise seguida dunha confirmación. O cliente le a configuración, comproba que existe cada bloque referenciado e logo escribe a definición do túnel no seu propio contorno illado, e por iso o ficheiro que escolliches en Descargas non é o que se conecta despois.

Despois chega un paso de autorización que ningún ficheiro pode saltar. Android esixe que a aplicación chame a VpnService.prepare() e reciba o teu consentimento antes de poder establecer un túnel, así que un perfil recén importado aínda mostra o diálogo do sistema unha vez. Logo o túnel constrúese explicitamente mediante addAddress, addRoute, addDnsServer e addAllowedApplication ou addDisallowedApplication para o enrutamento por aplicación. Nada diso vén implícito nun punto final, así que o mesmo perfil pode producir un conxunto de rutas efectivas distinto en dous clientes.

As configuracións baseadas en certificados engaden outra bifurcación. Cando o servidor emite un certificado a un dispositivo concreto, como fan MDM e o rexistro SCEP, reutilizalo nun segundo teléfono ou ben funciona ata que o servidor impón unha sesión por identidade ou ben falla no aperto de mans TLS. Comproba a política do emisor antes de planear reutilizalo.

Verifica o dispositivo novo antes de retirar o vello

Mantén o teléfono antigo conectado ata que o novo supere algo mellor que unha icona verde. Confirma o enderezo de saída desde o dispositivo novo e o resolutor DNS que realmente utilizou. Se split tunneling importa, lanza unha aplicación que debería evitar o túnel e outra que non, e mira cal chega ao teu provedor.

Unha comprobación resolve o enderezo de saída. Abre https://ifconfig.me no navegador do teléfono, logo executa curl -s https://ifconfig.me desde un portátil na mesma Wi-Fi e compara ambas respostas co enderezo que che asignou o provedor.

Só entón retira a identidade antiga, e faino a través do emisor: revoga o certificado ou quita o dispositivo da conta. Borrar un ficheiro de Descargas non remata nada, porque dous dispositivos co mesmo certificado vense idénticos no rexistro do servidor.

Se a exportación resulta non portable, a solución é un rexistro novo en lugar dun paquete de configuración público. Pide un perfil para un segundo dispositivo, ou xera o par de chaves no teléfono novo e envía a CSR; é máis lento, e é o camiño que admite o emisor.

Pasa a lista de comprobación antes de borrar nada: o dispositivo novo conéctase, o enderezo de saída e o DNS coinciden, o alcance por aplicación é o que pretendías, a identidade antiga está revogada e calquera ficheiro de configuración que gardases está en almacenamento cifrado.

Artigos relacionados