Con esta entrada pretendo hacer una pequeña guía para configurar una VPN PPTP (Point to Point Tunneling Protocol) con un servidor Linux y un terminal móvil Android como cliente.
La instalación es muy sencilla y apenas serán necesarios unos cuantos pasos para tenerla funcionando rápidamente.
Lo primero es descargar el tarball de la aplicación Poptop en su última versión 1.3.4 para posteriormente hacer la instalación tal y como indica el archivo INSTALL (típico ./configure, make, make install). En mi caso para una Fedora, genero el rpm y luego lo instalo, por eso de ser más elegante...
mkdir -p ~/rpmbuild/SOURCES/ cd ~/rpmbuild/SOURCES/ wget "http://downloads.sourceforge.net/project/poptop/pptpd/pptpd-1.3.4/pptpd-1.3.4.tar.gz?use_mirror=kent" tar -zxvf pptpd-1.3.4.tar.gz cd pptpd-1.3.4 bash makepackage sudo rpm -ivh ~/rpmbuild/RPMS/x86_64/pptpd-1.3.4-1.fc12.x86_64.rpm
Si todo va bien, sea así o de otra forma, los archivos pptpd y pptpd.conf y otros cuantos deberían quedar instalados en el sistema:
/etc/ppp/options.pptpd /etc/pptpd.conf /etc/rc.d/init.d/pptpd /usr/bin/vpnstats.pl /usr/bin/vpnuser /usr/lib64/pptpd/pptpd-logwtmp.so /usr/sbin/bcrelay /usr/sbin/pptp-portslave /usr/sbin/pptpctrl /usr/sbin/pptpd ...
Ahora es necesario modificar dos archivos de configuración, el del servicio y el de usuarios.
El /etc/pptpd.conf es el del demonio. Ojo que he puesto las DNS de Google y el rango de IPs 192.168.2.100-151 que eran los que a mí me venían bien.
lock name * proxyarp ipcp-accept-local ipcp-accept-remote lcp-echo-failure 3 lcp-echo-interval 5 deflate 0 auth -chap -mschap +mschap-v2 mppe stateless mppc ms-ignore-domain chap-secrets /etc/ppp/chap-secrets ms-dns 8.8.8.8 ms-dns 8.8.4.4 mtu 1450 mru 1450 debug localip 192.168.2.100 remoteip 192.168.2.101-151
Una vez guardado el archivo, sobre el fichero de usuarios y contraseñas: /etc/ppp/chap-secrets creo dos usuarios, aramosf y akelarre
# Secrets for authentication using CHAP # client server secret IP addresses aramosf * Gold3nNYC * akelarre * Ch0riz0fr1to *
Ya solo queda configurar el cliente Android con cuatro sencillos pasos:
1.- En Ajustes, Con. inalámbricas y redes pulsar sobre "Configuración de red VPN"
2.- Añadir VPN
3.- Añadir red VPN "PPTP"
4.- En esta parte especificar un nombre que queramos, la dirección IP de nuestro servidor Linux e importante, deshabilitar la encriptación.
Una vez guardada la configuración, desde el mismo menú "Configuración de red VPN", aparecerá "Redes VPN" con el nombre que se haya asignado y al pulsar sobre la red pedirá usuario y contraseña, que hemos de introducir en base a los que se especificasen en el archivo chap-secrets.
Cuando conecte la VPN el dispositivo tendrá asignada alguna de las direcciones IP remotas (en esta configuración dentro del rango 192.168.2.101-151) y perderá conexión con Internet ya que actualmente el terminal no soporta un enrutado más complejo.
Otra consideración importante es que no se puede habilitar el cifrado MPEE (Microsoft Point-to-Point Encryption) salvo que se modifiquen los binarios del PPP, para lo que hará falta móviles con acceso para el usuario root y sustituirlos por los siguientes archivos: http://melko.hiljanen.com/~qvr/android/ppp/
6 comments :
Se me ha caído un mito, Dab utilizando fedora, yo que lo creía usuario de Debian, Slackware, Gentoo o LFS, :)
Gracias por la información para crear el túnelaunque por el momento no lo voy a poner en prueba. A ver si hay suerte en un futuro próximo.
NaCl u2
Entonces si no activamos la encriptacion todo el trafico va en claro, o se refiere a algun tipo en concreto de encriptacion?
@Rigolox: Creo que no te has dejado ubuntu de casualidad!! :)) A mi me da lo mismo una que otra... son todas lo mismo. Mientras se listen los procesos con ps y no con tasklist... ;)
@Josep: me temo que si no se usa MPEE el tráfico va en claro. De todas formas PPTP incluso con MPEE no es considerado demasiado seguro.
Hola, muy interesante el artículo, pero mi duda es que en su día leí que PPTP era muy vulnerable, ¿sigue siendo así o se ha corregido? Gracias de antemano, saludos.
Muchísimas gracias por el post!!! Genial, como siempre.
Por cierto, me encanta el nombre de la VPN :D
Publicar un comentario