martes, 1 de marzo de 2011

Instalar un servidor VPN en una máquina que también hace de cortafuegos

La máquina ejecuta Ubuntu Desktop 10.04 (podría ser, perfectamente Ubuntu Server). Sirve de cortafuegos entre una red de un departamento de un IES e internet.

Se desea instalar en dicha máquina (podría ser otra de la red interna) un servidor VPN para que los profesores puedan conectarse desde casa.

El proceso es el siguiente:

En el equipo servidor:
sudo apt-get install pptpd

Ahora editamos el fichero de configuración:
sudo vi /etc/pptpd.conf

Bajamos hasta el final del fichero, donde pondremos las siguientes líneas
localip 192.168.0.1
remoteip 192.168.1.1-254


Donde localip es la IP de la interfaz interna del servidor VPN. remoteip es el rango de IPs permitidas para el equipo que se conecte por la VPN. Debe ser un rango coherente con la red interna, claro.

Ahora definimos los usuarios.
sudo vi /etc/ppp/chap-secrets

y escribimos una línea similar a esta:
fulanito pptpd contraseña *

que significa que hemos crado un usuario fulanito, con password "contraseña", para el servidor pptpd y que se puede conectar desde cualquier (*) IP.

Sólo queda reiniciar el servidor pptpd:
/etc/init.d/pptpd restart

En el cortafuegos, es necesario abrir el puerto TCP 1723 y el protocolo IP - GRE, algo que se puede hacer fácilmente si utilizamos una aplicación gráfica como Firewall Builder. En ese caso, hay que crear un servicio TCP personalizado, en el que indicaremos que el rango de puertos de destino es 1723-1723. El protocolo GRE aparece como objeto de la librería Standard, bajo la carpetilla IP.