OpenVPN en Android : Configura un cliente OpenVPN en Android con cifrado SSL/TLS

Os presento esta guía para conectar nuestros móviles con Android Eclair 2.1 y Android Froyo 2.2 a nuestro servidor VPN SSL/TLS que hemos hecho en nuestra casa, ya sea usando un ordenador de servidor o el propio router con un firmware de terceros, para acceder a recursos compartidos como si estuviéramos en RED LOCAL y también para navegar con la mayor seguridad posible (anti-sniffers y cosas por el estilo).

***Necesario acceso ROOT en el móvil.

Probado en SuperEclair 8.8 By Superatmel (Eclair 2.1 modificada).

El manual para crear el servidor, certificados, llaves, clientes etc, están aquí:

OpenVPN : Conéctate a cualquier red de forma segura mediante OpenVPN. Manual para GNU/Linux y Windows 7 32bits y 64bits. Cliente/Servidor. SSL/TLS

Archivos Necesarios

Al crear los clientes, deberéis recordar poner al menos 3 clientes (si vas a tener 3 clientes conectados simultáneamente).

Cuando tengamos todos los certificados/llaves:

ca.crt
cliente1.crt
cliente1.key
ta.key (en el caso de que hayáis elegido TLS/AUTH una firma HMAC adicional para todos las negociaciones SSL/TLS para la verificación de la integridad).
client.ovpn o client.conf

Nota: en GNU/Linux recordad que el fichero de configuración es con extensión .CONF, en Windows es .OVPN pero en Android VALE CUALQUIERA DE LAS DOS EXTENSIONES.

Ya sabéis como configurar el client.conf o client.ovpn, los archivos ca.crt y los demás recomiendo poner la ruta completa del archivo (a poder ser).

Lo primero que hacemos en /sdcard/ (tarjeta de memoria) es crear la carpeta openvpn

De tal forma que tenemos: /sdcard/openvpn

Esta es la ruta que debemos poner a los ca.cr, client.key, etc.

Nos bajamos estos dos programas:

OpenVPN Installer

OpenVPN Settings

OpenVPN Android

Configuración OpenVPN Installer

Cuando abráis el programa y le deis a Install, os dirá que necesita ser ROOT, instaláis el programa en System/bin/openvpn cuando os lo pida.

OpenVPN Android

Configuración OpenVPN Settings

Al crear la carpeta openvpn en /sdcard/ automáticamente al abrir OpenVPN Settings os lo pondrá:

OpenVPN Android

Conexión

Marcamos las dos casillas de OpenVPN Settings.

OpenVPN Android

Esperamos un poco mientras conecta y obtiene dirección IP, cuando se conecte nos aparecerá esto:

OpenVPN Android

y en el programa aparecerá la IP del servidor VPN, y como tenemos TUNnelling pues una IP de otro rango (interna).

OpenVPN Android

La conexión es automática si lo tenemos activado en OpenVPN Settings, si no queremos que se conecte a la VPN (porque estamos en una conexión segura) podemos desactivarlo de ahí, aseguráos de conectaros a la VPN antes de sincronizar los datos con Google, que aunque viajen por SSL, es mucho más seguro ir por la VPN (y luego desde ahí por SSL.

MANUAL OPENVPN PARA NEXUS S CON GINGERBREAD

Manual realizado por Sergio de Luz (Bron) para REDESZone.net

24 Comentarios
  1. karmacoma dice:

    Hola Sergio

    estoy intentando hacerlo en un Xperia X8 y todo me va aparentemente bien pero cuando intento que se conecte me falla diciendo “FATAL: cannot allocate TUN/TAP dev dynamically” la cosa es que he visto googleando que puede ser que me falte el ficherillo tun.ko y hacer el insmod en el teléfono si no lo incluye el kernel.

    He buscado pero no consigo que me funcione ningún tun.ko para el SW de mi teléfono, el 2.1 original. ¿Sabes o tienes alguno que sepas que pueda funcionar? ¿Hay alguna otra manera de que el SO defina los dispositivos tun?

    mil gracias de antemano

    • Instalaste los 2 programitas que digo en el manual y no te funciona?

      Es que creo que debes ser root para que el propio programa pueda cambiar el enrutado.

      • karmacoma dice:

        hola Sergio

        gracia por responder tan rápido
        si, instalé los dos. Creo que como root. Cuando dices “cambiar el enrutado”, ¿a qué te refieres?

        saludos

        • Cuando activas la VPN, las rutas internas del móvil cambian, no tienes que tocar tú nada porque se hace automáticamente, pero debes ser ROOT para poder hacerlo.

          • karmacoma dice:

            hola,

            entiendo que debo serlo porque me aparece un mensaje del “superuser” para garantizar el acceso al openvpn installer….

            a lo mejor te refieres a otra cosa pero desde luego toda la autenticación va bien y es en el momento de abrir el TUN cuando casca…

            saludos

          • Creo que no tienes el módulo de TUN en el kernel de tu Android.

            Echale un ojo a esto: http://forum.xda-developers.com/showthread.php?t=758300

            Yo no he tenido esos problemas porque tengo una ROM cocinada y sí vendría instalado…por eso ando perdido, porque no he tenido este problema.

            Mira a ver si puedes con esa información que te he pasado.

  2. karmacoma dice:

    Nada, no hay manera, el tun.ko más parecido que encuentro es el del x10 y no me funciona…. Alguna recomendación de ROM “cocinada”

    saludos y gracias de nuevo

    • Pasate por el foro de http://www.movilzona.es a ver si pueden ayudarte, es que yo tengo una HTC Magic y se Sony ni idea… ;)

      • karmacoma dice:

        Bueno, finalmente he encontrado un tun.ko compatible con la 2.1 original del X8. Se trata de la que se incluye en el mod xCyanogenShakira – gingerbread – v3. Si quieres pego el enlace y una pequeñas instrucciones.

        Saludos

        • Sí, ponmelo para futuros usuarios :D

          Gracias!!!

          • karmacoma dice:

            Ok, no tenía claro si se podían poner links a otros foros ;-P

            Este es el link al post desde el que se puede descargar la mod de la que hablo arriba

            http://forum.xda-developers.com/showthread.php?t=1044876

            Os bajais el mod, buscais en /system/lib/modules y copiais el tun.ko a vuestro X8. En principio debería ser al directorio /system/lib/modules pero realmente no hace falta ya que el OpenVPN Settings te permite dar el path del fichero.

            Si lo guardais por ejemplo en el /sdcard/openvpn, arracais el OpenVPN Settings, vais a “advanced” – “TUN module settings”, en la primera opción (Load Module using) seleccionais “insmod” y en la segunda (Path to tun module) escribís el path /sdcard/openvpn/tun.ko

            Si lo teneis todo bien configurado debería funcionar. Como experiencia personal tened cuidado al poner el remote en el client.conf que igual no estais poniendo la ip de vuestro cable modem/adsl router

            Espero que este claro

            Saludetes

          • karmacoma dice:

            Estoy pensando que si quieres te puedo mandar el fichero en cuestión, para ahorrar pasos a la hora de bajarlo y eso, no me cuesta ningún trabajo así que ¡tu mandas!

          • No es necesario, lo has explicado perfectamente y valdrá a otros usuarios.

            Muchas gracias :D :D

  3. Jaime Alberto dice:

    Hola, yo ya hice todo, solo que al conectarme no me asigna IP del servidor, me dice “Conectado a XX.XX.XX.XX as “, osea que no me asigna una direccion IP. El servidor OpenVPN ya esta probado, con un clinete en Windows y si asigna IP.

    ¿Cual podria ser el problema?

    Saludos y Muchas Gracias.

  4. PEDRO GONZALEZ dice:

    tengo un celular chino android 2.2.1, que se le agrego ip y no funciona el wifi , adicional a la falla el wifi aparece con error no he podido borrar en el IP ESTATICA DIECCION IP, PUERTA DE ENLACE, MASCARA DE RED, DNS 1 Y DNS2 . AGRADEZCO ME AYUDEN PARA ACTIVAR EL WIFI NUEVAMENTE….?

  5. Rob dice:

    Para arreglar el problema de “FATAL: cannot allocate TUN/TAP dev dynamically”

    Se puede descargar uno el archivo aquí.

    https://play.google.com/store/apps/details?id=com.aed.tun.installer&hl=es

  6. Rob dice:

    Buenas tengo un par de dudas.
    Instale todo el servidor en windows, que me conecta perfectamente. El cliente en android que me indica que tb esta conectado. Pero no tengo claro que este redireccionando el trafico por la vpn por algunos motivos.

    - Aquí, en la pantalla http://www.redeszone.net/wp-content/uploads/openvpn_android5.png el trafico de subida y bajada no varia, y se supone que deberia subir a medida que haces peticiones.
    Podrias comprobar si el tuyo sube?

    - Si hago un trace route con algun programa, nunca me indica como parte de la ruta que el paquete siguio la ip de donde esta el servidor openVPN. (Lo probe desde una red publica, supuestamente usando la vpn).

    - Esta no se fijo si es, pero la comento igualmente. Si veo en alguna web cual es mi IP, me sale la IP publica de la red donde estoy conectado, y entiendo que deberia salir la IP publica de la red donde tengo instalado el servidor openVPN.

    Y gracias por el tutorial.

  7. Ro dice:

    Buenas
    Me surgieron varias dudas, tengo un Xperia Play 2.3.4, este me sirve? o forzosamente debo ser 2.2 o 2.1? necesito alguna ROM en especial?

    De antemano gracias (:

  8. argentino dice:

    hola mi problema es que realizo todo el funcionamiento correcto pero cuando quiero conectar me dice connect to wifi before link to vpn server si me pueden ayudar gracias

Dejar una respuesta

Redes Zone no se hace responsable de las opiniones de los internautas
Por favor revisa la ortografía y respeta las normas de la web.
XHTML: Puedes utilizar los siguientes tags:
<a href=""> <b> <i> <strong>

Redes Zone © 2010 - 2012