¡Hola Gente!
En este pequeño tutorial aprenderás a instalar una VPN en linux a través de una Raspberry Pi y poder así hacer tus experimentos y pruebas y saber un poco más sobre el funcionamiento de una VPN.
Primero vamos a entrar un poco en materia describiendo los conceptos básicos de este tutorial para saber un poco más sobre el tema por si no sabes los conceptos básicos.
¿ Que es una VPN?
Una red privada virtual (RPV) (en inglés, Virtual Private Network, VPN) es una tecnología de red de ordenadores que permite una extensión segura de la red de área local (LAN) sobre una red pública o no controlada como Internet. Permite que el ordenador en la red envíe y reciba datos sobre redes compartidas o públicas como si fuera una red privada, con toda la funcionalidad, seguridad y políticas de gestión de una red privada. Esto se realiza estableciendo una conexión virtual punto a punto mediante el uso de conexiones dedicadas, cifrado o la combinación de ambos métodos
¿Que es OpenVPN?
OpenVPN es una herramienta de conectividad basada en software libre: SSL (Secure Sockets Layer), VPN Virtual Private Network (red virtual privada). OpenVPN ofrece conectividad punto-a-punto con validación jerárquica de usuarios y host conectados remotamente. Resulta una muy buena opción en tecnologías Wi-Fi (redes inalámbricas IEEE 802.11) y soporta una amplia configuración, entre ellas balanceo de cargas. Está publicado bajo la licencia GPL, de software libre.
¿Qué es una Raspberry Pi?
La Raspberry Pi es una serie de ordenadores de placa reducida, ordenadores de placa única u ordenadores de placa simple (SBC) de bajo costo desarrollado en el Reino Unido por la Raspberry Pi Foundation, con el objetivo de poner en manos de las personas de todo el mundo el poder de la informática y la creación digital.3 Si bien el modelo original buscaba la promoción de la enseñanza de informática en las escuelas, este acabó siendo más popular de lo que se esperaba, hasta incluso vendiéndose fuera del mercado objetivo para usos como robótica. No incluye periféricos (como teclado y ratón) o carcasa.
Lo primero que haremos sera descargar las actualizaciones del sistema operativo de nuestra Rapberry Pi.
sudo apt-get update && sudo apt-get upgrade
El siguiente paso es descargar de los repositorios el archivo de instalación rápida de OpenVPN.
wget https://raw.githubusercontent.com/Nyr/openvpn-install/master/openvpn-install.sh
Con este script vamos a poder instalar OpenVPN de forma rápida y totalmente segura.
Este archivo se guardará en la carpeta donde ejecutamos la orden por defecto. Podemos escribir en la terminal el comando ls y ver los archivos y directorio. Vamos a cambiar los permisos del archivo descargado a Leer+Ejecutar+Escribir para todos los usuarios y carpetas.
chmod 777 openvpn-install.sh
La IP Privada (interna) para la configuración ya viene dada por defecto. Para ello vamos a ver la IP Privada (interna) con el siguiente comando.
ip route
o bien podemos gastar tambien el siguiente comando.
ifconfig
Necesitamos saber el hostname o la Ip externa de nuestra red. Y con el siguiente comando podemos ver la IP Pública (externa):
sudo apt-get install curl curl ifconfig.me
No necesitamos nada más para continuar con la instalación. Acorcaros de apuntar ambas IPs para la configuración.
Una vez este todo ejecutamos el archivo como root.
Ya estamos dentro de la pequeña configuración que necesitas para tener un VPN. A diferencia de la instalación compleja de OpenVpn en la forma clásica. En esta solo necesitas 5 pasos.
sudo bash openvpn-install.sh
El primero es la IP de la máquina (llamada Privada / Interna) donde se esta ejecutando. Por defecto ya nos la pone pero podemos cambiarla por otra. Ya que hay veces que no da la correcta o coge otra de otro adaptador y no tiene salida a Internet.
También podemos cancelar la instalación en cualquier momento con las teclas Control+C. Y asi volver a realizar los comandos anteriores si no apuntamos las ips.
El siguiente es la IP Pública. La tenemos del anterior comando dig.
Continuamos con la forma de salir al exterior. Por UDP o TCP. Aquí puedes seleccionar cualquiera. Siendo TCP la más lenta ya que comprueba cada paquete uno a uno y los verifica. Y UDP la más rápida ya que no para la conexión si un paquete se pierde por lo tanto la recomendada para conexiones VPN.
Ahora ponemos el puerto. Que puede ser totalmente a gusto del usuario. Lo podemos dejar por defecto en 1194. Si lo cambiamos tenemos que comprobar que no entre en conflicto con otro programa que se conecte por este método.
Y el ultimo paso es seleccionar el resolvedor de DNS. Lo recomendable es Google.
Ya esta toda la configuración. Ponemos el nombre que queramos al cliente. Al pulsar intro ya nos descarga automáticamente todos los paquetes y herramientas necesarias para tener OpenVpn funcionando.
Cuando termine nos da el archivo .ovpn. Nos dice la ruta donde esta guardado. Siendo la misma donde ejecutamos el script.
Si la máquina donde acabamos de instalar tiene firewall debemos abrir los puertos. También a nivel de router.
Para el router accedemos a la url de configuración de este, la puerta de enlace. Suele ser la 192.168.1.1 o 192.168.0.1
Y aquí cambia según el router. Suele estar en avanzado y luego en la pestaña NAT/PAT. Lo recomendable es que llame a su proveedor de servicios o busque por Internet el router o la compañía que suelen tener tutoriales para abrir los puertos (port forwarding).
Una vez estamos en la pestaña de reglas NAT en el router vamos a abrir los puertos. El nombre que le pongamos va a dar igual. Lo importante es el puerto interno y el puerto externo. Ponemos el que hemos configurado anteriormente, si lo dejamos por defecto ponemos en ambos 1194. El protocolo también el que pusimos antes, si lo dejamos por defecto seria UDP. Y por ultimo la IP interna del ordenador.
Una vez ya tenemos nuestro archivo .ovpn podemos acceder a nuestro VPN desde cualquier dispositivo.
En Windows tenemos el cliente oficial de OpenVpn.
Si quieres acceder desde Android usaremos la aplicación oficial de la PlayStore.
En MAC podemos usar el cliente oficial de OpenVPN pero es más sencillo de instalar.
Una vez contectados, ya estaremos en una red privada virtual y tendremos acceso a nuestro dispositivo raspberry de forma segura.
Ahora podremos acceder desde cualquier lugar del mundo como si estuviéramos en nuestra red local.
Si tenéis alguna duda, animaros y dejar un comentario.
Un abrazote gente!