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).

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 Open VPN para Nexus S con versión de Android Gingerbread

Compártelo. ¡Gracias!

  • karmacoma

    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

    • http://www.redeszone.net Sergio De Luz

      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

        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

        • http://www.redeszone.net Sergio De Luz

          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

            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

          • http://www.redeszone.net Sergio De Luz

            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.

  • karmacoma

    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

    • http://www.redeszone.net Sergio De Luz

      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

        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

        • http://www.redeszone.net Sergio De Luz

          Sí, ponmelo para futuros usuarios :D

          Gracias!!!

          • karmacoma

            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

            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!

          • http://www.redeszone.net Sergio De Luz

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

            Muchas gracias :D :D

          • Miguel Garcia

            que tal

            karmacoma

            me podrias mandar el tun.ko por correo?

            Gracias

  • Pingback: SSH Tunneling en Android : Instala y configura SSH Tunneling en Android : Redes Zone : Portal sobre telecomunicaciones y redes

  • Jaime Alberto

    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.

  • PEDRO GONZALEZ

    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….?

  • Rob

    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

  • Rob

    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.

    • http://www.redeszone.net Sergio De Luz

      Eso es porque no tienes el módulo TUN (Tunneling) en el Android, porque como bien dices, debe pillar la IP del servidor OpenVPN. Revisa el tema del módulo TUN.

  • Ro

    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 (:

    • http://www.redeszone.net Sergio De Luz

      Es válida para cualquier versión siempre y cuando puedas instalar el tun.ko en el terminal :) Es recomendable ser ROOT; yo tengo la 2.3.7 y perfecto (root).

  • argentino

    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

    • http://www.redeszone.net Sergio De Luz

      Estás conectado a internet ya sea por 3G o Wi-Fi?

  • Anónimo

    Ola mi problema es:hago todos los pasos y todo va bien hasta q m tengo q registrar y lo ago pero m marca error con mi direccion y sí la ingreso correctamente sólo m falta eso para q m den el pasword me. Tendras respuesta para esto nunca

  • Tavo Colombia

    Umm… Si les interesa una solución alternativa… yo instalé DroidVPN desde la Play Store y luego me inscribí en la página http://droidvpn.com e inicié la aplicación DroidVPN con mi correo y el pass que me dió la página y se conectó!… ahora me funciona todo por 3G sin restricciones :) llevo 10 minutos usando esto y por ahora está muy estable.

    • http://www.redeszone.net Sergio De Luz

      Ya pero esto está orientado a crearte tú el servidor VPN y administrar tú todo lo que pasa por él…es más seguro ya que eres tú el que sabe lo que haces :D

  • Elkin Colombia

    Hola, segui el tutorial al pie de la letra y aun no me puedo conectar…cuando activo la vpn, me solicita usuario y clave. Las ingreso correctamente y se queda en estado “Connecting”.
    Que puedo hacer.

    Gracias.

    • http://www.redeszone.net Sergio De Luz

      Tienes el servidor VPN configurado correctamente?

      • Elkin Colombia

        Si, de hecho al servidor nos conectamos por pc normales, e incluso desde otro telefono android siguiendo los pasos…De los 3 telefonos con los que se ha intentado, solo 1 no conecta se queda esperando despues de ingresar usuario y clave. Y aun no se porque.

        Gracias.

        • Elkin Colombia

          Aparentemente ya resolvi el problema de que la vpn no se conectaba, era porque no tenia instalado “BusyBox”, pero ahora apenas conecta, se reinicia el telefono..una incognita mas… :S

  • yahir

    hola en donde aparte de market y de google play puedo descargar los siguientes programas openvpn settings openvpn installer y tun.ko installer porfavor y gracias por el apollo. :) (y)

  • yahir

    y busybox

  • carlos

    saludos no pude descargar los archivos, no los tendra para descargarlos por aqui??? gracias

  • shinigami

    oye men cres k sirva para mexico ?

  • Pingback: KIT de supervivencia básico para el verano: Internet everywhere!

  • Pingback: VPN’s « Hacksturias.net

  • Pingback: Controla remotamente tu equipo desde cualquier lugar del mundo : Manuales de ayuda disponibles

  • Pingback: OpenVPN en Android : Instalación y configuración de OpenVPN en Nexus S con Android Gingerbread

  • Pingback: La Policía Nacional advierte sobre los peligros de conectarnos a redes WiFi ajenas

RedesZone © 2010 - 2014