Como crear un servidor VPN para aceptar conexiones remotas – Ubuntu 18 LTS

conexión vpn

Imaginémonos que estás en otro pais, conectado a la wifi del hotel y necesitas conectarte al servidor de ficheros de nuestra casa/oficina para acceder a información importante. ¿como podemos hacerlo? Una de las soluciones que te propongo es que te instales un servidor VPN en el linux del equipo de tu casa (en mi caso un ubuntu server 18 LTS). Eso te permitirá fundamentalmente:

  1. Poder estar conectado como si estuvieras en la red de tu casa/oficina.
  2. La información transmitida es ocultada dentro del tunel creado por la conexión.

Si no supieras lo que es una VPN supongo que no estarías aquí, pero si quieres saber mas o bien refrescar conceptos tienes unos buenos artículos aquí y aquí

CONFIGURACION EN EL SERVIDOR

Empezaremos actualizando el servidor como de costumbre con una cuenta con privilegios de administrador (o usamos sudo)

# apt-get update
# apt-get upgrade

Instalamos el demonio pptp

# apt-get install pptpd

Como nos toca modificar un fichero de configuración primero nos hacemos una copia y luego editamos.

# cp /etc/pptpd.conf /etc/pptpd.conf.bck
# nano /etc/pptpd.conf

Busca la línea donde dice localip (puedes usar el comando Control-W de nano). Descoméntala quitando el # y cambia la ip por la de tu servidor (en mi caso es 192.168.0.6). Haz lo mismo con la línea remoteip. En esta línea le tenemos que indicar el rango de direcciónes ip que nuestro servidor asignará a las conexiones entrantes. En mi caso de la 250 a la 254 por lo que podremos tener hasta 5 equipos conectados a la vez. Debes de usar un rango no utilizado por tu servidor DHCP para que no interfiera (seguramente te lo asignará el router de casa). Al final ha de quedar así en el fichero.

localip 192.168.0.6
remoteip 192.168.0.250-254

Ahora toca modificar el fichero de opciones, por lo que nos hacemos una copia como antes y editamos añadiendo al final.

# cp /etc/ppp/pptpd-options /etc/ppp/pptpd-options.bck
# nano /etc/ppp/pptpd-options

Ha de quedar así ( ms-dns corresponde al dns que van a usar los que se conecten. En mi caso es mi propio router que hace de replicador. Si tuvieramos un DNS propio en nuestra red usariamos ese, si nó el de nuestro ISP)

ms-dns 192.168.0.1
nobsdcomp
noipx
mtu 1490
mru 1490

Seguidamente editamos el fichero que contendrá los usuarios y contraseñas que servirán de autenticación a los clientes que se conecten a nuestra vpn. Hacemos una copia como antes. El archivo ha de tener el formato que se muestra en la imagen inferior.

# cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bck
# nano /etc/ppp/chap-secrets

Arrancamos el servicio

# service pptpd start

Podemos comprobar si está en funcionamiento

# service pptpd status

Y hacer que arranque al arrancar el servidor

# systemctl enable pptpd

Y ya por último deberás configurar tu router para que las peticiones entrantes al puerto 1123 se redirijan hacia tu servidor vpn. Lo que se denomina un Port Forwarding. Esto lo deberás de consultar con la configuraciñon de tu router ya que cada uno es distinto.

PRUEBA DE LA CONEXIÓN

Para comprobar que funciona deberemos de crear una conexión VPN nueva desde el equipo cliente (en este caso un windows) con las propiedades que se muestran en la imagen siguiente. Cuando nos solicite usuario y contraseña introducieremos las que grabamos en chap-secrets.

Si todo funciona, tras lanzar la conexión puedes comprobar su funcionamiento haciendo ping hacia cualquier equipo de tu red, o por ejemplo abriendo un navegador que apunte a la url https://www.whatismyip.com/es/ y comprobarás que estás «saliendo» con la ip del router de tu casa/oficina

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *