Para instalar un servidor VPN tipo PPTP en Ubuntu o Debian necesitamos el paquete pptpd
(en otras distribuciones puede variar).
apt-get install pptpd
Para el ejemplo imaginaremos un servidor Linux con dos interfaces: una pública donde recibe las peticiones y otra privada (p. ej. 192.168.1.1).
El demonio pptpd se queda escuchando al puerto 1723 para peticiones de clientes. Una vez recibida una petición pasará el control de autentifiación al demonio pppd. Para conexiones desde fuera necesitaremos abrir dicho puerto en el router.
El fichero de configuración: /etc/pptpd.config
speed 115200
#en verdad conectará a la velocidad máxima de la red
option /etc/ppp/pptpd-options
localip 192.168.1.1
#rango de ips para asignar al equipo remoto
remoteip 192.168.1.230-239
En el fichero: /etc/ppp/pptp-options
pondremos:
name servername
domain domainname
auth
ms-dns 62.37.228.20
netmask 255.255.255.0
nodefaultroute
proxyarp
lock
Y en el fichero: /etc/ppp/pap-secrets, algo como:
# client server secret IP addresses
diego * 123asd *
(Podemos seleccionar que ip recibirá cada usuario conectado, o que el servidor la asigne dentro del rango definido en el archivo /etc/ppp/pptpd-options)
Para poder acceder a los servicios de otros equipos de la red, tendriamos que tener una configuración de iptables al menos así:
iptables -F FORWARD
iptables -P FORWARD ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
Ojo con lo anterior!!!, ya que abrimos el acceso sin control a todos los equipos dentro de nuestra red local y con estas reglas de iptables acabamos.