PPTP (Point to Point Tunneling Protocol), es un protocolo de comunicaciones desarrollado por Microsoft, U.S. Robotics, Ascend Communications, 3Com/Primary Access, ECI Telematics conocidas colectivamente como PPTP Forum, para implementar redes privadas virtuales o VPN.
Primero que nada instalamos el paquete "pptpd", en este caso usaremos Debian Squeeze.
serv-vpn:~# aptitude install pptpd
Después de la instalación deberíamos tener lo necesario para comenzar a configurar nuestro servidor pptpd o vpn.
Entonces comenzamos la configuración, editamos el archivo /etc/pptpd.conf
serv-vpn:~# nano /etc/pptpd.conf
Una vez abierto editamos el archivo de tal modo que quede de la siguiente forma:
ppp /usr/sbin/pppd
option /etc/ppp/pptpd-options
localip 172.16.1.1
remoteip 172.16.1.2-100
Donde "localip" será la IP del servidor VPN y "remoteip" el rango de IPs que se le asignaran a los clientes al momento de la conexión (ustedes pueden elegir la IP y rango que deseen, no tiene porque ser la misma)
Guardamos cambios y cerramos.
Ahora editamos el archivo pptpd-options, señalado en nuestro pptpd.conf, el cual esta ubicado en /etc/ppp
serv-vpn:~# nano /etc/ppp/pptpd-options
Lo dejamos de tal modo que quede algo asi:
name VPN-PPTP
require-mschap-v2
require-mppe-128
ms-dns 172.16.1.1
proxyarp
nodefaultroute
lock
La línea "name" será el nombre de nuestra vpn, "ms-dns" son los servidores dns que serán asignados a nuestros clientes windows. (Cualquier otra línea que no aparezca aquí, debe ser comentada, para un correcto funcionamiento).
Guardamos y cerramos.
Ahora solo nos queda configurar las cuentas de los clientes, para esto editamos el archivo "chap-secrets" que se encuentra en /etc/ppp/
serv-vpn:~# nano /etc/ppp/chap-secrets
Este archivo se compone de 4 campos: Usuario, servidor, password y dirección IP. Entonces agregamos un usuario:
cliente1 VPN-PPTP clave-del-cliente1 *
En este caso "cliente1" será nuestro usuario, "VPN-PPTP" nuestro servidor vpn, "clave-del-cliente1" nuestro password y el "*" sera la dirección IP, ponemos un * para que el servidor asigne una IP automáticamente.
Guardamos los cambios y reiniciamos el pptpd.
serv-vpn:~# invoke-rc.d pptpd restart
Con esto tenemos listo nuestro servidor pptpd (VPN)
Ahora probaremos el funcionamiento, creando una nueva conexión vpn en windows.
- Vamos a inicio
- Panel de control
- Conexiones de red
- Crear nueva conexión
- Siguiente
- Conectarse a la red de mi lugar de trabajo
- Siguiente
- Conexión de red privada virtual
- Siguiente
- En el cuadro de texto colocamos un nombre a la conexión, por ejemplo "VPN de mi Pincha"
- Siguiente
- No usar la conexión inicial
- Siguiente
- En el cuadro de texto colocamos la IP del servidor, si estamos en una red local colocamos la IP de la red local, 172.16.1.1 o si es un equipo remoto, colocamos la IP publica del equipo en Internet, por ejemplo 200.x.x.34
- Siguiente
- Finalizar
Ahora ingresamos nuestro nombre de usuario "cliente1" y nuestro password "clave-del-cliente1", presionamos conectar, si todo resulta bien tendremos una conexión satisfactoria a nuestro servidor vpn.
Nota: Debemos de tener en cuenta que tanto el Server PPTP y el Cliente de Windows, trabajan con los puertos 1723 TCP y 47 GRE (es un protocolo para el establecimiento de túneles a través de Internet).
Solo queda, probar...