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í:
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
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.
Configuración OpenVPN Settings
Al crear la carpeta openvpn en /sdcard/ automáticamente al abrir OpenVPN Settings os lo pondrá:
Conexión
Marcamos las dos casillas de OpenVPN Settings.
Esperamos un poco mientras conecta y obtiene dirección IP, cuando se conecte nos aparecerá esto:
y en el programa aparecerá la IP del servidor VPN, y como tenemos TUNnelling pues una IP de otro rango (interna).
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






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.
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.
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.
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…
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
Gracias!!!
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
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
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.
Tiene tu móvil activado el TUN ??
Mira esto: http://www.redeszone.net/2011/08/20/openvpn-en-android-instalacion-y-configuracion-de-openvpn-en-nexus-s-con-android-gingerbread/
Necesitas el módulo TUN.
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….?
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
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.
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.
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 (:
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).
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
Estás conectado a internet ya sea por 3G o Wi-Fi?