Montar VPN con PPTP en Ubuntu
Tras varios intentos, he conseguido montar un servidor VPN sobre un Ubuntu bsico. Funciona
bien con el cliente VPN que trae Android. Os pongo los pasos por si os interesan.
En un terminal instalamos el servidor PPTP
sudo apt-get install pptpd
Una vez finalizado el proceso se iniciar el servidor automticamente, pero an no est
configurado, para ello haremos lo siguiente:
sudo gedit /etc/pptpd.conf
Se puede usar el editor que se prefiera, yo lo he hecho con nano pero pongo gedit para aquellos
que os resulte ms familar. En ese archivo configuraremos la ip local y remota, descomentndo las
siguientes lneas (quitando la almohadilla # a principio de lnea) o aadindolas
localip 192.168.1.100
remoteip 192.168.1.250-255
netmask 255.255.255.0
Guardamos y cerramos.
La ip local debe coincidir con la de la mquina que monta el servidor, que se puede saber con el
comando ifconfig. Mientras que las remotas deben de no coincidir con ninguna otra mquina de la
red. Mediante el guin podemos establecer un rango, en mi ejemplo va de 250 hasta 255, para 5
conexiones externas.
Ahora configuraremos otro archivo para que nos permita el acceso a internet:
sudo gedit /etc/ppp/pptpd-options
En este archivo descomentmos o aadimos las siguientes lneas para que permitan la resolucin
de DNS y permitan la codificacin de un smartphone
# Network and Routing
ms-dns 91.191.136.152
ms-dns 85.229.85.109
netmask 255.255.255.0
# MPPE should be stateless Imprescindible para Android!!
nomppe-stateful
Guardamos y cerramos. Yo he usado unas DNS que me gustan pero se pueden usar otras como
las de Google (8.8.8.8 - 8.8.4.4) o las de tu ISP.
Ahora vamos a aadir usuarios a nuestra VPN. Para hacerlo modificaremos el archivo chap-
secrets:
sudo gedit /etc/ppp/chap-secret
En nuestro ejemplo vamos a usar como usuario/contrasea lo siguiente Jesus/12345. Tened en
cuenta que cada espacio se debe aadir con el tabulador, y debe quedar algo como lo siguiente:
# Secrets for authentication using CHAP
# client server secret IP addresses
Jesus * 12345 *
Como siempre guardamos y salimos.
Ahora vamos a proceder a activar el IP forwarding, para ello vamos a modificar el archivo
/etc/sysctl.conf:
sudo gedit /etc/sysctl.conf
Buscamos la lnea #net.ipv4.ip_forward=1 y le quitamos la # para descomentarla. Quedando as:
net.ipv4.ip_forward=1
Guardamos los cambios y cerramos el archivo. Y activamos este ltimo cambio con el comando
sudo sysctl -p
Hacemos un par de cambios en iptables para permitir el reenvo de conexin
sudo iptables -P FORWARD ACCEPT
sudo iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE
Lo ponemos en marcha con las modificaciones que hemos hecho
/etc/init.d/pptpd restart
Ya slo queda configurar el cliente para que se conecte, y por supuesto abrir un puerto en el router
(puerto 1723 por defecto) si es necesario. Bueno, y tambin poner un servicio de ip dinmica y
esas cosas ya al gusto de cada cual. A las malas, si el router no permite abrir el puerto PPTP
correctamente, tambin se puede usar la opcin de incluir el servidor en la DMZ del router, aunque
no es lo ms aconsejable.