Exportación de VPN en Android: que pasa realmente a un teléfono novo
Unha exportación de VPN en Android envía axustes e ás veces unha chave, pero nunca a autorización do dispositivo. Comproba que se move realmente antes de borrar o teléfono antigo.
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:
| Obxecto | Trasládase? | Por que |
|---|---|---|
| Protocolo e punto final | Si, se o cliente de destino o admite | Texto plano no perfil |
| Certificado de CA e comprobación do nome de host | Normalmente | Material público, pero o nome de host debe seguir coincidindo co certificado |
| Certificado de cliente | Si, salvo que estea vinculado por dispositivo | Os certificados son portables; o emisor decide cantos dispositivos poden usar un |
| Chave privada | Só se se xerou fóra do Keystore | As chaves con respaldo de hardware non se poden exportar, só substituír |
| Conta, MFA, sesión SSO | Non | Os tokens caducan e quedan vinculados ao dispositivo que os obtivo |
| Rutas, DNS e alcance das aplicacións | Só como texto de configuración | Android aplícaas ao conectar mediante VpnService.Builder |
| Lista de aplicacións de túnel dividido | Raramente | Os 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.