Sigue a

VPN Ubuntu

En esta ocasión vamos a aprender a montar nuestro propio servidor de VPN PPTP en Ubuntu. De esta manera no tendremos que recurrir a usar servicios de terceros cuando necesitemos navegar de forma segura desde sitios públicos. Nosotros hemos usado una máquina con Ubuntu 12.04 64Bits totalmente actualizado para el tutorial.

Lo primero de todo, saber que nuestro equipo debe tener una dirección IP estática, si no sabéis cómo configurarlo adecuadamente podéis aprender a hacerlo, ayer publicamos un tutorial al respecto. Por otro lado el router debe tener el puerto PPTP (1723 TCP) abierto, sería recomendable abrirlo utilizando la regla predefinida en el router.

Es preferible seleccionar la regla específica para PPTP en el router ya que, además del puerto 1723, necesitamos tener abierto otro puerto que soporte el protocolo GRE. Manualmente no podemos realizar esta operación, pero las reglas predefinidas sí la realizan.

Comenzamos


Para este tutorial tendremos que recurrir a un terminal, pero tranquilos porque es muy sencillo. No lo hemos explicado de manera “visual” porque el procedimiento es más engorroso y en el fondo tendremos que recurrir al terminal para algún paso. Así que vamos a abrir el terminal pulsando sobre el botón “Inicio”, buscamos “Terminal” y lo abrimos.

VPN Ubuntu

Instalar los paquetes


En el terminal tecleamos la siguiente orden:

    sudo apt-get install pptpd

Una vez tecleada pulsamos ENTER para que se ejecute. Ahora vamos a ver qué significa cada una de las palabras:

  • sudo: Dice al sistema que ejecute lo que le sigue como administrador.
  • apt-get: Programa encargado de gestionar los paquetes del sistema.
  • install: Parámetro que dice a apt-get que deseamos instalar paquetes.
  • pptpd: Paquete a instalar, en este caso el servidor de PPTP.

Dado que el comando se ejecutará como administrador, el sistema pedirá nuestra contraseña de usuario. Para mayor seguridad no se mostrará ningún tipo de símbolo en la pantalla mientras escribimos dicha contraseña.

VPN Ubuntu

En este caso, apt-get ha detectado que para que se pueda instalar el paquete pptpd necesita, además, el paquete bcrelay. Antes de realizar acción alguna pide nuestra aprobación. Dado que estamos de acuerdo presionamos la tecla “S“ y luego ENTER para que comience la descarga y posterior instalación de los paquetes.

VPN Ubuntu

Configuración


Una vez finalizado el proceso se iniciará el servidor PPTP automáticamente, pero aún no está configurado, para lo cual ejecutaremos:

    sudo nano /etc/pptpd.conf

Al igual que hicimos con la órden anterior, procedemos a su explicación:

  • sudo: Dice al sistema que ejecute lo que le sigue como administrador.
  • nano: editor de texto para terminal. Hay cientos de editores pero creo que este es de los más sencillos de utilizar.
  • /etc/pptpd.conf: Ruta absoluta del archivo que queremos modificar.

VPN Ubuntu

Tras ejecutarlo aparecerá en la misma ventana del terminal el editor nano. Usando los cursores bajamos hasta el final del todo e insertamos, como si se tratara del bloc de notas, las líneas (en la captura la hemos seleccionado para distinguirlas del resto del texto):

    localip 10.10.10.1

    remoteip 10.10.10.100-200,10.10.10.245
Explicación:
  • Primera línea: Especificamos cuál será la dirección IP de nuestro servidor dentro de la VPN. Para que no haya conflicto con las direcciones IP “domésticas”, hemos seleccionado un rango de direcciones distinto.
  • Segunda línea: Especifica el rango de direcciones que usaremos para asignar a los clientes. En la parte anterior a la “,” (coma) hemos especificado un rango y detrás una dirección simple. Con esto hemos querido mostraros las dos posibles formas de especificar las direcciones de los clientes, es decir, que podéis especificar simplemente un rango.

Para guardar los cambios presionamos “Control + O“ y para salir “Control + X“.

VPN Ubuntu

Añadiendo usuarios


Ahora vamos a añadir usuarios a nuestra VPN. Para hacerlo modificaremos el archivo chap-secrets:

    sudo nano /etc/ppp/chap-secrets

VPN Ubuntu

Formato (cada espacio es en realidad una tabulación):

    nombre_de_usuario pptpd contraseña *

En nuestro ejemplo hemos usado los siguientes pares usuario/contraseña:

  • usuariovpn / password
  • usuario2 / 12345

Ahora guardamos y salimos, ya sabéis “Control + O“ y “Control + X

VPN Ubuntu

Configurando iptables

Hasta este punto ya tenemos todo lo referente a nuestra VPN configurado, tan sólo queda configurar el cortafuegos de Ubuntu para que permita el acceso a las conexiones entrantes y redirija el tráfico. Para que la configuración se mantenga con cada reinicio modificaremos el script rc.local:

    sudo nano rc.local

VPN Ubuntu

Vamos hasta el final del fichero e insertamos ANTES de la última línea lo siguiente:

    iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE

A tener en cuenta:

  • 10.10.10.0/24 : Rango de direcciones que elegimos cuando estábamos configurando PPTPD.
  • eth0 : Nombre de la interfaz de red. En nuestro caso se trata de cable, si fuera WiFi recibiría el nombre de wlan0 .

Una vez realizados los cambios, cerramos y guardamos como hasta ahora.

VPN Ubuntu

Ahora vamos a proceder a activar el IP forwarding, para ello vamos a modificar el archivo /etc/sysctl.conf:

    sudo nano /etc/sysctl.conf

VPN Ubuntu

Buscamos la línea:

    #net.ipv4.ip_forward=1

Y le quitamos la #:

    net.ipv4.ip_forward=1

Guardamos los cambios y cerramos el archivo.

VPN Ubuntu

Aunque en un principio podríamos aplicar los cambios sin necesidad de reiniciar el ordenador, creo que es interesante verificar que después de reiniciar todo continúa funcionando perfectamente. Así que vamos a reiniciar el ordenador desde el propio terminal:

    sudo telinit 6

Listo, ya sólo queda configurar los clientes y disfrutar de nuestra VPN.

En Xataka ON | Cómo configurar una IP estática en Ubuntu

Los comentarios se han cerrado

Ordenar por:

35 comentarios