Tu propia VPN con una Raspberry Pi

Impactos: 154

¿Tienes miedo de usar la WiFi del Hotel?  Haces bien! Y estás de suerte si tienes por ahí una Raspberry Pi. Se podría implementar en cualquier equipo viejo, pero prefiero una “raspi” por temas de eficiencia energética. El pack (caja, alimentador, SD) que me compré yo para hacer el artículo me costó unos 60 euros. 
Lo primero es actualizar el sistema de la Raspberry Pi ( update & upgrade).

sudo apt-get update
sudo apt-get upgrade

Si no lo has hecho aún cambia la contraseña del usuario pi, o mejor crea otro usuario para levantar la vpn.

passwd pi

Si decides poner una capa más de seguridad, insisto, añade un usuario, hazlo sudoer, y degrada si quieres al usuario pi.

adduser jose
visudo
usermod -L pi

Para trabajar más a gusto trabajaré desde el portatil vía ssh. Activarlo es fácil desde los settings de nuestra Raspberry Pi.
Si queréis trabajar mediante realvnc deberéis igualmente habilitar vncserver en la Raspberry Pi, podéis seguir este tutorial

  • https://www.raspberrypi.org/documentation/remote-access/vnc/

Averiguamos la ip privada de la Raspberry Pi con el comando ifconfig:

Me gusta esa ip, la 13, y para que no me la quite nadie voy a hacer una reserva en el DHCP de mi router doméstico:

Para no tener que ir recordando direcciones ip públicas, y dado que el router lo permite, gestiono los cambios de ip pública de mi ISP con dyndns, no-ip o similares.
Otra alternativa, por ejemplo si tu router no soporta lo anterior, y que añade una capa de seguridad adicional es https://www.duckdns.org/. Para ello podeis seguir este otro tutorial https://www.duckdns.org/install.jsp

Después instalaremos PiVPN:

  • http://www.pivpn.io/

Para ello puedes seguir los pasos del siguiente tutorial 

  • kamilslab.com/2017/01/22/how-to-turn-your-raspberry-pi-into-a-home-vpn-server-using-pivpn/

Básicamente es ejecutar el comando:

curl -L https://install.pivpn.io | bash

En una de las ventanas de la instalación llegamos al tema de la reserva DHCP, que comenté antes:

Otra recomendación es configurar las actualizaciones del sistema operativo de forma automática, así te puedes olvidar del cacharro una temporada:

cuando terminéis la instalación os avisa de dos comandos básicos con los que podréis empezar a tunelizar.

pivpn help
pivpn add

Así por ejemplo, con el comando pivpn add podemos añadir perfiles y generarar un fichero de extensión .ovpn que facilitaremos a los clientes. Durante el proceso básicamente preguntará por el nombre del perfil y una clave. Esta clave se ha de facilitar al cliente VPN (de la forma más segura posible, es básico usar canales diferentes, uno para el fichero como puede ser la descarga desde un servidor https, y otro canal distinto para la clave) para que sea capaz de utilizar este archivo .ovpn

Lo primero que debemos hacer es añadir nuestro primer perfil:

Con el comando o la opción -l (ele)

pivpn list

podemos averiguar que perfiles tenemos activos (sin revocar). También podemos en cualquier momento averiguar que profiles hemos generado usando este comando:

ls /home/pi/ovpns/

Siempre que pi sea el usuario, es en la subcarpeta ovpns donde se guardan los ficheros .ovpn y con este otro comando o la opción -c

pivpn clients

podemos averiguar que clientes están conectados.

: NOTE : The output below is NOT real-time!
:      : It may be off by a few minutes.

::: Client Status List :::
                                                                Bytes           Bytes
Name                    Remote IP               Virtual IP      Received        Sent            Connected Since

No Clients Connected!

Y en definitiva si consultamos la ayuda invocando al comando pivpn con el switch -h o la palabra help:

::: Control all PiVPN specific functions!
:::
::: Usage: pivpn <command> [option]
:::
::: Commands:
:::  -a, add [nopass]     Create a client ovpn profile, optional nopass
:::  -c, clients          List any connected clients to the server
:::  -d, debug            Start a debugging session if having trouble
:::  -l, list             List all valid and revoked certificates
:::  -r, revoke           Revoke a client ovpn profile
:::  -h, help             Show this help dialog
:::  -u, uninstall        Uninstall PiVPN from your system!

Ahí disponeis de todos los comandos, como por ejemplo revoke para revocar un profile, o uninstall para hacer lo propio, si queréis empezar desde cero 😉

Si decides desinstalar yo te aconsejo revocar los perfiles también, es tan sencillo como:

Os dejo por aquí los clientes para diferentes plataformas:

El cliente OpenVPN para Android es 

  • https://play.google.com/store/apps/details?id=net.openvpn.openvpn

El cliente OpenVPN iOS lo tienes en la tienda, válido para iPhone y iPad

  • https://itunes.apple.com/us/app/openvpn-connect/id590379981

Un cliente OpenVPN para MAC es Tunnelblick, aquí te explica como instalarlo

  • https://nordvpn.com/tutorials/x-mac-os-x/openvpn/

El cliente OpenVPN para PC, Windows 10, lo puedes descargar desde la web oficial del proyecto

  • https://openvpn.net/index.php/open-source/downloads.html

El cliente OpenVPN para Linux, también lo puedes descargar también desde la web oficial del proyecto

  • https://openvpn.net/index.php/open-source/downloads.html

Una vez instalado el uso es muy sencillo e intuitivo, debes hacer llegar a cada dispositivo de la manera más segura posible el fichero de extensión .ovpn para que desde su cliente lo pueda importar, y al realizar la primera conexión o durante la importación preguntará por la clave que especificaste en el comando pivpn add. Que también habrás facilitado al cliente (Smartphone por ejemplo).

Es recomendable hacer un perfil por cliente (dispositivo: portátil, tablet, smartphone …) que vaya a tener acceso a la VPN, para así tener todo un poco más controlado, y poder, si alguien se pasa de listo revocar ese perfil en concreto.

A disfrutar de la fibra de casa desde el hotel y ver de forma tranquila una película en Netflix o subir fotitos a Instagram sin que te roben la cuenta xD

En futuros artículos veremos tutoriales para

  • Importar perfil desde Android
  • Importar perfil desde IOS
  • Importar perfil desde MAC
  • Importar perdil desde PC

Hasta la próxima

1ª Jornada de Ciberseguridad IES Juan de Garay

Miércoles 19 diciembre por la tarde GMT+1 Entradas en Evenbrite Programa 15.45 Apertura Salón de actos 16.00 La directora y ...
Leer Más

Tu propia VPN con una Raspberry Pi

¿Tienes miedo de usar la WiFi del Hotel? Haces bien! Y estás de suerte si tienes por ahí una Raspberry ...
Leer Más

Clonación multicast con clonezilla

Primero instalamos el Sistema o los Sistemas operativos y aplicaciones en un ordenador que hace de "copia maestra" o "master" ...
Leer Más

No se puede instalar Windows en una unidad flash USB desde el programa de instalación

Windows 10 no se ha podido instalar: Esto hace que no podamos actualizar Windows 10. La receta: Modificar el valor ...
Leer Más

Recuperar GRUB tras instalar Windows

Si instalas o actualizas Windows y tenías instalado Linux, perderás el GRUB, y arrancará directamente Windows. Si has tenido suerte ...
Leer Más

Como hackear la contraseña del administrador en Windows (Solo con fines educativos)

Imaginad como profesores que un alumno ha cambiado la contraseña de un equipo y toca mantenimiento. O imaginad alumnos del ...
Leer Más

Como hackear la contraseña de root u otro usuario en Linux (Solo con fines educativos)

Material necesario: - USB Linux Live, el que queráis Proceso Paso 1: Arrancamos el sistema con un Live USB de ...
Leer Más

Ver número Identificador de Seguridad (SID) en Windows

En algunos casos nos puede ser de utilidad averiguar el número de seguridad (SID) de nuestro equipo, especialmente en entornos ...
Leer Más

Ver la clave o licencia de tu Windows

Método 1: *Método sólo válido cuando la licencia se encuentra en la UEFI-BIOS. De lo contrario nos dirá Consulta no ...
Leer Más

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.