16 mar 2012

Como crear una VPN con PPTP en Linux Debian, con clientes Windows.

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...

4 comentarios:

  1. El mejor vpn es vpn ninja, que lo conseguis desde www.vpnninja.com, te dan una semana de prueba tambien

    ResponderEliminar
  2. solo me permite una conexión al tiempo, tengo algo mal configurado?

    ResponderEliminar
  3. www.vpnninja.com??? vas a pagar por algo que podes hacer vos gratis? como se ve configurar una vpn con pptp es de lo mas sencillo además es gratis y libre.

    ResponderEliminar
  4. Hola buenas. entiendo que con esta linea:
    require-mppe-128
    Estamos forzando que el tráfico generado esté cifrado. No?

    ResponderEliminar