Crear un servidor VPN en una Pi utilizando PIVPN - ¡Fácil y Rápido!
Publicado: 26 Nov 2016, 20:33
¿Que es una VPN?
Las VPN ( Virtual Private Network ) o Red Privada Virtual en español son un tipo de red en el que se crea una extensión de una red privada para su acceso desde Internet, es como la red local que tienes en casa o en la oficina pero sobre Internet.
Gracias a una conexión VPN, podemos establecer contacto con máquinas que estén alojadas en nuestra red local -u otras redes locales- de forma totalmente segura, ya que la conexión que se establece entre ambas máquinas viaja totalmente cifrada, es como si desde nuestro equipo conectado a Internet estableciésemos un túnel privado y seguro hasta nuestro hogar o hasta nuestra oficina, con el que podremos comunicarnos sin temer que nuestros datos sean vulnerables.

Principales usos de crear una red VPN:
Antes de empezar con la instalación actualizamos los repositorios poniendo el siguiente comando en la terminal SSH:

Instalación PiVPN / OpenSSH
Instalamos PiVPN con el comando:

Esperamos a que instale todas las dependencias necesarias, una vez finalizado aparecerá esta pantalla:

Pulsamos <OK> unas dos veces hasta que nos aparezca para seleccionar la interfaz de RED, en nuestro caso solo tenemos "Eth0" asi que la seleccionamos.

A continuación tendremos que verificar que la información de red que aparece en pantalla es correcta (detecta nuestra red por defecto), en este caso daremos <Yes>

Un nuevo aviso aparece advirtiendo que podría haber un conflicto de IP en tu Router, en este caso lo ignoramos pulsando <OK>

Damos de nuevo <OK> y aparecerá el usario predeterminado para configurar PiVPN, en este caso el principal será el usuario "Pi" y seguido daremos <OK> dos veces saltando otra advertencia.

En este mensaje daremos <YES> para mantener actualizado automáticamente el servidor VPN

Esperamos menos de un minuto a que aplique la configuración , y nos saldrá el siguiente mensaje para seleccionar el tipo de puerto que queremos utilizar. Yo RECOMIENDO siempre utilizar el puerto UDP, asi que lo seleccionamos:

Ahora introduciremos el puerto necesario para conectarnos con nuestra VPN, en este caso por defecto es "1194" así que lo dejaremos asi tal cual pulsando <YES> y de nuevo <YES> en la pantalla de confirmación.

Debemos abrir los puertos en nuestro Router y redirigir a nuestra Pi para poder acceder a la VPN, en nuestro caso sería 1194 protocolo UDP Toca elegir el tipo de cifrado que queremos en nuestro VPN, yo recomiendo 2048 para tener mejor rendimiento a no ser que seais muy paranoicos.

A continuación podemos agregar nuestros datos para crear el certificado para la conexión VPN, no es obligatorio asi que sin miedo podemos dar <OK> directamente.

Después de haber confirmado los datos, nos sale otro mensaje advirtiendo que va a generar una key Diffie-Hellman. Asi que dependiendo del tipo de cifrado, tardará mas o menos tiempo

Una vez haya terminado el proceso, nos dará a seleccionar la forma con la cual nos conectaremos a nuestro VPN, sea por IP o por DNS Pública (Ver como configurar NO-IP).
En mi caso voy a seleccionar la IP Pública y damos en <OK>, si utilizaramos DNS solamente debemos poner la dirección NO-IP configurada.

Seleccionamos el proveedor DNS principal para nuestro VPN ( Recomiendo GOOGLE ) y damos a <OK>

Y la instalación ya ha finalizado, ahora nos pide confirmación para reiniciar el sistema y marcamos <YES>

Volvemos al terminal SSH una vez iniciada la Pi e introducimos lo siguiente para crearnos un usuario:
En la petición "Enter a Name for the Client": introducimos el usuario o nombre del cliente a generar ( Ejemplo : kike )
Pedirá que introduzcamos una contraseña que servirá para poder conectar al VPN, la volvemos a introducir cuando nos pida.

Con estos pasos se genera un archivo que lo utilizaremos para importar dentro el cliente OPENVPN para poder acceder,estará ubicado en
Será necesario tener acceso a ese archivo generado y poder descargarlo para conectar,ahora simplemente debemos TENER ACCESO FTP o como alternativa CONECTARNOS POR SFTP y descargarlo en la ruta especificada anteriormente.
Una vez tengamos el archivo descargado en nuestro PC / Movil con extensión .OVPN, vamos a ver como conectarnos a través de Windows & Android.
CONFIGURAR CLIENTE OPENVPN PARA CONECTAR EN WINDOWS:
Programa: OpenVPN
Página oficial: https://openvpn.net/

El cliente OPENVPN es de software libre, gratuito y servirá para establecer una conexion segura con nuestra VPN.
Podemos descargar las diferentes versiones para Windows - MAC - ANDROID - IPHONE/IPAD , en este caso descargaremos aquí la version de Windows.

Una vez finalizada la instalación, vamos a la siguiente ruta:
Para ejecutar el programa damos al botón Inicio de Windows - Barra de Programas - OpenVPN - OpenVPN GUI

Vamos a la barra de tareas ( al lado del reloj ) saldrá un icono con un candado ( ver imagen ) botón segundario - Connect

Introducimos la contraseña configurada para nuestro cliente y listo!
CONFIGURAR CLIENTE OPENVPN PARA CONECTAR EN ANDROID:
Descargamos el programa "OpenVPN Connect" desde la Play Store y seguimos los pasos indicados en las imágenes:

Damos a "Import"

Marcamos "Import profile to SD Card"

Selecciona el archivo descargado en formato .OVPN

Introduce la contraseña del cliente y pulsa en el botón "Connect"

Y listo!! Ya estamos conectados nuestra VPN
Por ahora ya he finalizado el tutorial, ya teneis vuestra VPN configurada ¿ha sido fácil y rápido no? :ugeek:
para cualquier fallo que se detecte por favor comentarlo en el mismo tema, todas las mejoras son bien recibidas.
También seria de agradecer algún tutorial rápido para configurar en IOS.
Un abrazo y a disfrutar! :victoria
Las VPN ( Virtual Private Network ) o Red Privada Virtual en español son un tipo de red en el que se crea una extensión de una red privada para su acceso desde Internet, es como la red local que tienes en casa o en la oficina pero sobre Internet.
Gracias a una conexión VPN, podemos establecer contacto con máquinas que estén alojadas en nuestra red local -u otras redes locales- de forma totalmente segura, ya que la conexión que se establece entre ambas máquinas viaja totalmente cifrada, es como si desde nuestro equipo conectado a Internet estableciésemos un túnel privado y seguro hasta nuestro hogar o hasta nuestra oficina, con el que podremos comunicarnos sin temer que nuestros datos sean vulnerables.

Principales usos de crear una red VPN:
Información extraida de Rootear-Acceder a una red de trabajo o de casa mientras se está de viaje: De esta forma, aún estando lejos de la oficina podremos acceder a los recursos compartidos de la empresa, como servidores de ficheros, impresoras, aplicaciones corporativas privadas, intranet, etc., de igual forma podremos conectarnos a nuestros equipos de casa para acceder a sus documentos, música, archivos, etc. En definitiva, podremos conectarnos a todos los dispositivos que nos podemos conectar cuando estamos sentados en nuestra oficina o en casa.
-Esconder los datos de navegación: Como hemos explicado, todos los datos que circulan a través de una conexión VPN están cifrados, por lo que, por ejemplo, en caso de estar conectados a una WiFi pública, si hacemos uso de una conexión VPN será imposible que nadie pueda rastrear nuestra actividad, robarnos datos o cualquier otra situación similar a esta.
-Entrar en sitios con bloqueo geográfico: Es posible que una aplicación o página web solo nos deje acceder si estamos navegando desde un país en concreto, por lo que si ese país no es el nuestro, difícilmente podremos acceder a ella. Ahora bien, si nos conectamos a una VPN que está alojada en ese país, este problema quedará resuelto, ya que será como estar navegando desde ese país.
Evitar la censura en Internet: De igual forma que el punto número tres, si nuestro país decide censurar ciertas páginas o aplicaciones, bastará con conectarnos a una VPN de otro país para poder saltarnos esa censura. Recuerda que los datos viajan cifrados por lo que esta práctica es realmente segura.
Antes de empezar con la instalación actualizamos los repositorios poniendo el siguiente comando en la terminal SSH:
Código: Seleccionar todo
sudo apt-get update

Instalación PiVPN / OpenSSH
Instalamos PiVPN con el comando:
Código: Seleccionar todo
curl -L https://install.pivpn.io | bash

Esperamos a que instale todas las dependencias necesarias, una vez finalizado aparecerá esta pantalla:

Pulsamos <OK> unas dos veces hasta que nos aparezca para seleccionar la interfaz de RED, en nuestro caso solo tenemos "Eth0" asi que la seleccionamos.

A continuación tendremos que verificar que la información de red que aparece en pantalla es correcta (detecta nuestra red por defecto), en este caso daremos <Yes>

Un nuevo aviso aparece advirtiendo que podría haber un conflicto de IP en tu Router, en este caso lo ignoramos pulsando <OK>

Damos de nuevo <OK> y aparecerá el usario predeterminado para configurar PiVPN, en este caso el principal será el usuario "Pi" y seguido daremos <OK> dos veces saltando otra advertencia.

En este mensaje daremos <YES> para mantener actualizado automáticamente el servidor VPN

Esperamos menos de un minuto a que aplique la configuración , y nos saldrá el siguiente mensaje para seleccionar el tipo de puerto que queremos utilizar. Yo RECOMIENDO siempre utilizar el puerto UDP, asi que lo seleccionamos:

Ahora introduciremos el puerto necesario para conectarnos con nuestra VPN, en este caso por defecto es "1194" así que lo dejaremos asi tal cual pulsando <YES> y de nuevo <YES> en la pantalla de confirmación.

Debemos abrir los puertos en nuestro Router y redirigir a nuestra Pi para poder acceder a la VPN, en nuestro caso sería 1194 protocolo UDP Toca elegir el tipo de cifrado que queremos en nuestro VPN, yo recomiendo 2048 para tener mejor rendimiento a no ser que seais muy paranoicos.

A continuación podemos agregar nuestros datos para crear el certificado para la conexión VPN, no es obligatorio asi que sin miedo podemos dar <OK> directamente.

Después de haber confirmado los datos, nos sale otro mensaje advirtiendo que va a generar una key Diffie-Hellman. Asi que dependiendo del tipo de cifrado, tardará mas o menos tiempo

Una vez haya terminado el proceso, nos dará a seleccionar la forma con la cual nos conectaremos a nuestro VPN, sea por IP o por DNS Pública (Ver como configurar NO-IP).
En mi caso voy a seleccionar la IP Pública y damos en <OK>, si utilizaramos DNS solamente debemos poner la dirección NO-IP configurada.

Seleccionamos el proveedor DNS principal para nuestro VPN ( Recomiendo GOOGLE ) y damos a <OK>

Y la instalación ya ha finalizado, ahora nos pide confirmación para reiniciar el sistema y marcamos <YES>

Volvemos al terminal SSH una vez iniciada la Pi e introducimos lo siguiente para crearnos un usuario:
Código: Seleccionar todo
pivpn add
Pedirá que introduzcamos una contraseña que servirá para poder conectar al VPN, la volvemos a introducir cuando nos pida.

Con estos pasos se genera un archivo que lo utilizaremos para importar dentro el cliente OPENVPN para poder acceder,estará ubicado en
/home/NUESTRO_USUARIO/ovpns
Será necesario tener acceso a ese archivo generado y poder descargarlo para conectar,ahora simplemente debemos TENER ACCESO FTP o como alternativa CONECTARNOS POR SFTP y descargarlo en la ruta especificada anteriormente.
Una vez tengamos el archivo descargado en nuestro PC / Movil con extensión .OVPN, vamos a ver como conectarnos a través de Windows & Android.
CONFIGURAR CLIENTE OPENVPN PARA CONECTAR EN WINDOWS:
Programa: OpenVPN
Página oficial: https://openvpn.net/

El cliente OPENVPN es de software libre, gratuito y servirá para establecer una conexion segura con nuestra VPN.
Podemos descargar las diferentes versiones para Windows - MAC - ANDROID - IPHONE/IPAD , en este caso descargaremos aquí la version de Windows.

Una vez finalizada la instalación, vamos a la siguiente ruta:
Aquí copiaremos el archivo con extensión .ovpn creado anteriormente en el paso final de configuración.C:/Archivos de programa/OpenVPN/config
Para ejecutar el programa damos al botón Inicio de Windows - Barra de Programas - OpenVPN - OpenVPN GUI

Vamos a la barra de tareas ( al lado del reloj ) saldrá un icono con un candado ( ver imagen ) botón segundario - Connect

Introducimos la contraseña configurada para nuestro cliente y listo!

Descargamos el programa "OpenVPN Connect" desde la Play Store y seguimos los pasos indicados en las imágenes:

Damos a "Import"

Marcamos "Import profile to SD Card"

Selecciona el archivo descargado en formato .OVPN

Introduce la contraseña del cliente y pulsa en el botón "Connect"

Y listo!! Ya estamos conectados nuestra VPN

para cualquier fallo que se detecte por favor comentarlo en el mismo tema, todas las mejoras son bien recibidas.
También seria de agradecer algún tutorial rápido para configurar en IOS.
Un abrazo y a disfrutar! :victoria
