Lo Último en IP@P
- Stellar Data Recovery revoluciona la recuperación de archivos perdidos en discos duros externos
- Goblin Mine: La Estrategia Económica Detrás del Juego de Minería que está Fascinando a Todos
- Estos son los nuevos Cargadores UGREEN: potencia y portabilidad en dos versiones que no te puedes perder
- UGREEN Nexode Pro: El Cargador Ultradelgado que revoluciona la carga de dispositivos móviles
- La computación en la nube está transformando los juegos Online y estas son sus grandes ventajas
Actualmente estos microordenadores son utilizados para diferentes tipos de usos, y es que los mismos permiten llevar a cabo distintos proyectos de domótica, centro multimedia, de seguridad y profesionales.
Es así como estas pequeñas placas pueden servirte para crear servidores de archivos, servidores web y sobre todo te puede funcionar como un servidor VPN. Por lo que tus búsquedas en Internet podrán ser mucho más privadas.
Hoy en día se puede conseguir una gran cantidad de VPN de pago y gratuitas, pero poder crearte tú mismo una será realmente sorprendente. Es así como aquí te vamos a enseñar a como montar un servidor VPN con tu Raspberry Pi desde cero.
Ventajas de usar tu Raspberry Pi como servidor VPN ¿Por qué deberías realizar este proyecto en lugar de usar uno gratis?
Sin duda alguna las VPN son uno de los mejores servicios a la hora de querer navegar por Internet y acceder a sitios web de otros países y sobre todo para violar las restricciones de los gobiernos locales. Es así como todo esto constituye una red de comunicación virtual en donde las peticiones y las respuestas de los servidores VPN y los clientes VPN se transfieren directamente por Internet.
Todo esto permite que los usuarios puedan conectarse a una red LAN desde cualquier acceso a Internet y de esa forma poder acceder a los datos de la misma. Así como establecer comunicación con los dispositivos por control remoto, como lo son los fax o impresoras, o utilizarla para la conexión a Internet en la red local o doméstica. Debes tener en cuenta que esto son conexiones cifradas por lo que navegar en Internet será mucho más seguro.
De acuerdo con todo esto, poder utilizar tu Raspberry Pi como un servidor VPN sin duda alguna te ofrecerá ciertas ventajas, especialmente porque estas placas son económicas y por cada uno de sus accesorios, lo que permite que estos microordenadores sean un candidato bastante bueno para que funcionen como un servidor VPN.
Otra ventaja que se puede mencionar es el consumo energético de estos mini PC, a pesar de que tengan un funcionamiento permanente el consumo de energía va a ser relativamente bajo, por lo que no te generará altos consumos y tus facturas no van a aumentar. Todo esto sin duda alguna se convierte en una combinación perfecta para volverte esta diminuta placa en un poderoso servidor VPN.
¿Cuáles son las mejores Raspberry Pi para utilizar como servidor VPN? Los modelos más rentables que puedes comprar
Desde el lanzamiento de este microordenador se han ido creando diferentes versiones y modelos, cada uno de ellos con sus propias características y funciones, aunque básicamente cada versión se ha ido convirtiendo en una mejora de su antecesora. Es así como aquí te vamos a enseñar cuales son los mejores modelos de Raspberry Pi 2 que puedes empezar a utilizar como servidor VPN en tu red local.
Para ello sigue el listado que te enseñaremos a continuación:
Raspberry Pi 2
Comenzamos con este modelo de placa el cual fue uno de los primeros en ser lanzado. El mismo se considerada una muy buena alternativa para llevar a cabo distintos tipos de proyectos, uno de ellos es para ser utilizado como servidor VPN. Claramente si se compara con los modelos superiores la Pi 2 no sería tan buena para ello, pero si cuentas con este Raspberry y quieres llevar a cabo este tipo de proyecto lo podrás hacer fácilmente.
Al trabajar con la Pi 2 para usarse como una VPN Server lo más recomendable es utilizar un cifrado de 1024 bits, ya que uno superior no funciona tan bien ya que provocaría una pérdida de rendimiento. Hay que tener en cuenta que este modelo cuenta con el chip BCM2836 con más MHZ y conserva la misma arquitectura que sus antecesoras. Es así como el Pi 2 cuenta con una gran cantidad de novedades y mejoras.
Algunas de las características más importantes de la Pi 2 es la memoria RAM de 1 GB a 450 MHZ, una nueva CPU ARM Cortex-A7 de cuatro núcleos a 900 MHZ, llegando a ser mucho más poderosa que sus antecesoras, por lo que se vuelve una muy buena alternativa para una gran cantidad de proyectos.
Raspberry Pi 3
Sin duda alguna esta versión te va a ofrecer mejores funciones y componentes al momento de crear tu servidor VPN. Y es que esta versión de los mini PCs ha llegado con una gran cantidad de novedades que lo han convertido en una de las mejores Raspberry Pi, por lo que su uso puede llevarse a muchos tipos de proyectos distintos.
Si se utiliza esta placa para crear un servidor VPN, lo más recomendable es que se use con un cifrado de 2048 bits, ya que claramente esta placa cuenta con un mejor rendimiento y mejores capacidades por lo que no se verá afectada con este cifrado. La Pi 3 cuenta con un procesador ARM Cortex A53 de cuatro núcleos a 1.2 GHz de 64 Bits, esto indica que se puede obtener un rendimiento de hasta 10 veces más que las versiones anteriores y hasta un 50% más que el modelo de Pi 2.
Uno de los aspectos más importantes de la Pi 3 es que ofrece la conectividad de Bluetooth y WiFi sin la necesidad de usar adaptadores para ello, lo que permite tener una mejor conectividad en todo momento. Sin embargo, hay que mencionar que aún conserva otras características como son los puertos USB, puerto HDMI, la ranura de la microSD, entrada Ethernet, entre otros.
Raspberry Pi 4
Finalmente te presentamos el modelo Pi 4, el cual ha sido el último en ser lanzado y por ende es el modelo más potente y avanzados de todas las Raspberry Pi. Es así como esta placa se ha convertido en una de las mejores alternativas al momento de querer llevar a cabo cualquier tipo de proyecto, ya sea para crear medios multimedia, consolas de videojuegos, servidores web o VPN, ya que la misma cuenta con todas las características necesarias para ello.
Si hay algo que resaltar es su rendimiento, el cual es mucho mayor al de cualquier otra Raspberry Pi, todo esto gracias a sus especificaciones y a su procesador, también cuenta con una memoria de acceso aleatorio de 8 GB. Es así como gracias a todo esto ahora puede emplear aplicaciones mucho más exigente en cuanto a RAM como lo pueden ser app en formato de ordenador de escritorio o servidores.
También hay que mencionar que cuenta con nuevos componentes como lo son sus puertos, ahora cuenta con puertos USB 3.0 y 2.0, consiguiendo así un estándar que ofrece una mayor transferencia de datos. Para finalizar hay que mencionar que este modelo incluye dos puertos HDMI lo que te permitirá conectar dos monitores simultáneamente, así como conexiones a redes WiFi AC y soporte para Bluetooth 5.0.
Materiales y requisitos para usar Raspberry Pi como servidor VPN ¿Qué necesito para realizar todo el proceso del proyecto?
Si estás pensando en convertir tu microordenador en un servidor VPN, entonces es necesarios que sepas que materiales y requisitos debes tener para ello. Ten en cuenta que como todo proceso tiene sus pautas y condiciones.
Es así como a continuación te enseñamos todo lo que necesitarás para poder llevar a cabo este procedimiento de una forma fácil y rápida:
- Una placa Raspberry Pi modelo 2 o superior, preferiblemente se aconseja usar la última versión, en este caso la Raspberry Pi 4.
- La tarjeta micro SD con el sistema operativo Raspbian-Jessie
- Tener una conexión a Internet preferiblemente esta debe ser por cable Ethernet ya que de esta manera sufre menos caídas la red.
- Un suministro eléctrico estable, este se puede proporcionar mediante los cables micro USB de los cargadores de smartphone y Tablet.
Después de tener todo lo mencionado a la mano, es necesario que tomes una decisión fundamental, en este caso se puede instalar el servidor VPN directamente en la Raspberry Pi, al cual se le tendría que conectar un mouse y teclado por USB y un monitor por cable HDMI o bien sea hacerlo mediante el cliente SSH, un software que usa un protocolo Secure Shell para conectar de forma remota con otro ordenador.
Es así como el mantenimiento remoto del servidor con SSH es una de las variantes más recomendadas, ya que de esta manera será mucho más sencillo acceder al servidor VPN desde un ordenador diferente. Por lo tanto, si decides hacerlo por la segunda opción, entonces podrás recurrir a diferentes formas muy comunes de acceder y operar un Raspberry Pi de forma remota, como lo puede ser WinSCP o PuTTY para Windows u OPenSSH para los sistemas operativos UNIX.
Para poder conectar este software con la placa se necesita introducir la dirección IPv4 de Raspberry Pi en el cliente, en este caso el cliente va a ser el dispositivo desde donde quieres acceder a la placa y de esa forma se conectan entre sí. Para esto debes ingresar la dirección 192.168.0.1 en la barra de direcciones de tu navegador de preferencia para que se abra el menú del router de tu Raspberry Pi, desde allí vas a poder obtener la dirección IP.
Ajusta la dirección IP si usas el cliente SSH
Cuando se decide utilizar el método del cliente SSH, lo más recomendable en este caso es asignar una dirección IP privada estática al Raspberry Pi en la red doméstica. Si esto no es así, entonces cada vez que se acceda al microordenador vía SSH se tendría que buscar una dirección dinámica temporal nueva y conectarla al cliente, lo que claramente terminará convirtiéndose en algo tedioso para todos.
Sin embargo, lo más importante en este sentido es poder vincular la placa con una dirección IP permanente para poder usar OPenVPN con el cual estaremos trabajando. Todo esto se debe a que el servidor VPN debe estar disponible siempre y bajo la misma dirección en la red doméstica para que se pueda acceder a él de forma continua, así como estar constantemente disponible en Internet.
Pero hay que tener presente que una conexión a Internet solo cuenta con una dirección IP dinámica pública que cambia constantemente tras 24 horas, todo esto va a dificultar la disponibilidad del servidor bajo la misma dirección IP. Por lo tanto, si tu conexión a Internet no cuenta con una dirección IP estática pública vas a tener que recurrir a la configuración de un DNS dinámico (DDNS) como única alternativa. Por último, para que tu microordenador siempre este online como servidor son fundamentales las actualizaciones y seguridad.
Aprende paso a paso cómo crear tu servidor VPN con una Raspberry Pi desde cero
Teniendo en cuenta todo los requisitos y materiales que necesitas para llevar a cabo esta instalación, y los diferentes métodos que existen para ello, aquí te vamos a explicar cómo es el procedimiento para que puedas crear tú mismo tu propio servidor VPN desde casa de una forma fácil y rápido.
Para ello sigue detalladamente todo lo que te enseñaremos a continuación:
Preparación del Raspberry Pi
Como ya se mencionó en el post, para este ejemplo se va a trabajar con OpenVPN, siendo esta la mejor opción para trabajar con una placa Raspberry Pi. Por lo tanto, antes de comenzar con la instalación de OpenVPN, el primer paso va a ser abrir la terminal de tu Raspberry Pi para comprobar si existen actualizaciones pendientes para los paquetes ya instalados.
Para poder hacer esto es necesario que insertes los siguientes comandos:
sudo apt-get update.
sudo apt-get upgrade.
Si nunca has cambiado la contraseña estándar del microordenador, entonces este es el momento de hacerlo, ten en cuenta que por defecto suelen tener como usuario: Pi y como contraseña: Raspberry. De esta forma vas a evitar cualquier acceso no autorizado al sistema, tanto de forma local como a través de SSH desde la red.
Ahora con la aplicación de este comando se va a abrir la configuración del microordenador donde vas a poder crear una contraseña que sea lo suficientemente segura:
sudo raspi-config
Instalación de OpenVPN y creación del archivo easy-rsa
Ahora debes comenzar con la instalación de OpnVPN y Open SSl, siendo este u software que se encarga de cifrar la conexión a Internet.
Para ello debes introducir el siguiente comando:
sudo apt-get install openvpn openssl
Después de haber instalado OpenVPN, será necesario que se copien los scripts predefinidos easy-rsa en el directorio de configuración de OpenVPN. Aquí va a ser donde se guarden los certificados y las claves con un comando que solo funcione con Rasbian Jessie, hay que mencionar que en el sistema operativo anterior los archivos se encuentran en esta dirección: /usr/share/doc/openvpn/examples/easy-rsa/2.0)
.
Para ello debes introducir la siguiente línea de comando:
sudo cp –r /usr/share/easy-rsa /etc/openvpn/easy-rsa
Seguidamente se va a abrir el archivo /etc/openvpn/easy-rsa/vars en la consola se debe agregar este comando para poder configurarlo:
sudo nano /etc/openvpn/easy-rsa/vars
Para poder cambiar los ajustes es necesario sustituir la línea export EASY_RSA= “’pwd’” por la siguiente línea:
Export EASY_RSA= “/etc/openvpn/easy-rsa”
Ten en cuenta que en este archivo también se va a poder modificar la longitud de la clave, con esto vas a poder determinar el nivel de seguridad del cifrado. En el caso de los Raspberry Pi 3 se puede disfrutar del rendimiento suficiente para poder procesar sin dificultad la longitud de clave de 2048 bits. Mientras que en la Pi 2, este cifrado llega a ocasionar pérdidas de rendimiento, por lo que solo es conveniente usar el cifrado de 1024 bits.
Los cifrados de 4096 bits solo van a ser útil en pocos casos, por lo que no son tan importantes a la final. Para poder cambiar la longitud de la clave se ajusta el número de bits en la línea export KEY_SIZE=2048. Cuando hayas hecho todo esto solo tendrás que retroceder el archivo de configuración easy-rsa donde vas a necesitar contar con los derechos de superusuario para poder integrar todos los ajustes realizados en las variables del entorno. Para esto es necesario que ejecutes el script vars con el comando source.
Por último, tendrás que hacer que el archivo de configuración que se ha generado sea accesible a través de un enlace simbólico bajo el nombre de openssl.cnf, para ello ingresa las siguientes líneas de comando:
Cd /etc/openvpn/easy-rsa Sudo su Source vars Ln –s openssl-1.0.0.cnf openssl.cnf
Ejecuta la creación de certificados y de claves para OpenVPN
Es importante que antes de comenzar con la creación de nuevas claves para OpenVPN, asegurarse que no existan claves antiguas ya creadas.
Para poder verificar esto es necesario que ingreses el siguiente comando:
./clean-all ./build-ca, OpenVPN
En este punto va a ser necesario que añadas diferentes datos para identificar el certificado del servidor ante los clientes, pero aquí vas a poder confirmar la información por defecto por su escasa importancia en el funcionamiento presionando la tecla “Enter”.
Por último, tendrás que generar el certificado para el servidor mediante esta línea de comando:
./build-key-server server
Ahora vas a tener que introducir el nuevo código nacional e ignorar todos los demás campos allí presentes. Para terminar debes confirmar la creación del certificado introduciendo “Y” dos veces. Cuando este creara la CA y el certificado del servidor, entonces se van a instalar los clientes VPN.
Más en Hardware
- ¿Qué es y cómo usar el sensor de humedad de Arduino? Guía paso a paso
- ¿Cómo reparar el puerto USB del ordenador cuando no funciona? Guía paso a paso
- ¿Cómo conectarte a la Raspberry Pi desde otro ordenador de forma remota sin errores? Guía paso a paso
- El accidente del transbordador espacial Challenger: ¿Cuáles fueron las verdaderas causas del desastre?
- ¿Cómo desbloquear un iPhone XS y XS Max fácil y rápido? Guía paso a paso
SÍGUENOS EN 👉 YOUTUBE TV
Aquí vas a tener que crear un certificado y una clave para cada uno de los dispositivos en donde quieras acceder al VPN. Se trata de un proceso bastante similar al que se ha acabado de realizar, por lo que debes introducir el código de tu país y confirmar dos veces. Si quieres a cada uno de los dispositivos puedes asignarle un nombre propio.
Aquí tendrás que escribir los siguientes comandos:
./build-key laptop ./buil-key tablet ./buil-key smartphone
Una vez se tengan definidos los nombres de los dispositivos, lo siguiente es proteger a cada uno de ellos mediante un código de seguridad, por lo que ahora se deben usar los siguientes comandos:
./build-key-pass laptop ./buil-key-pass tablet ./buil-key-pass smartphone
Para poder finalizar con la creación de los certificados y de las claves tendrás que aplicar el comando para crear la clave DH que será utilizada en el servidor para el intercambio de llaves:
./build-dh
Ten en cuenta que este proceso puede llegar a tardar algunos minutos, pero cuando el mismo finalice se cerrará la sesión como usuario con permiso raíz con el siguiente comando:
Exit
Generación del archivo de configuración para OpenVPN
Después de haberse creado las llaves para que el servidor y los clientes se reconozcan entre sí, ya confirmadas por la CA. Lo siguiente que se tendrá que hacer es ejecutar la configuración del servidor VPN.
Para comenzar con todo esto tendrás que abrir el archivo de configuración de OpenVPN, esto lo vas a hacer con la siguiente línea de comando:
sudo nano /etc/openvpn/openvpn.conf
Ten en cuenta que se trata de un archivo vacío por lo que se tiene que completar con los siguientes comandos:
Dey tun Proto udp Port 1194
Para lo que es el siguiente paso se va a crear un certificado de raíz SSL/TLS (ca), una clave digital (KEY) en el directorio easy-rsa y un certificado digital (cert).
Es muy importante que se introduzca el cifrado de bits correcto (1024, 2048, entre otros):
ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key dh /etc/openvpn/easy-rsa/keys/dh2048.pem
Ahora tendrás que especificar que el Raspberry Pi se utilice como un servidor VPN, para ello es necesario que nombre su dirección IP, así como la máscara de red que se le asigna al VPN:
Server 10.8.0.0 255.255.255.0
De esta manera con el comando redirect-gateway def1 bypass-dhcp se les estará indicando a los clientes que todo el tráfico se redirige mediante el túnel de la VPN. En caso que quieras puedes probar este ajuste y verificar que todo esté correcto si la seguridad es muy importante para ti. En el caso que se presenten dificultades o la navegación se ralentiza o se canceló, entonces las instrucciones que te vamos a indicar a continuación se deben utilizar en algunos de esos casos.
Con ellas vas a poder nombrar los servidores DNS públicos con los cuales trabajará el servidor VPN. De esta manera en las siguientes líneas de comando se va a usar como ejemplo un servidor de IONOS (217.237.150.188) y una de Google (8.8.8.8), pero si quieres puedes sustituirlo por el servidor DNS que tú quieras indicando la dirección IPv4.
Es así como con log-append /var/log/openvpn vas a conseguir que los eventos del servidor escriban en el fichero /var/log/openvpn:
push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 217.237.150.188" push "dhcp-option DNS 8.8.8.8" log-append /var/log/openvpn
Después de haber configurado el servidor, se podrá seguir con la configuración de los clientes VPN.
Para ello es necesario crear un fichero de configuración en donde se tendrán que introducir la siguiente información:
persist-key persist-tun user nobody group nogroup status /var/log/openvpn-status.log verb 3 client-to-client comp-lzo
Para terminar este paso con la ayuda de la orden client-to-client se podrá determinar que los clientes VPN no solo van a reconocer al servidor, sino que también pueden reconocer otros clientes VPN y con comp-izo se habilitará la compresión LZO, la cual también se va a indicar en el archivo de configuración de cliente. Después de esto se debe guardar los cambios presionando “Ctrl + 0” y para cerrar “Ctrl +X”.
Realiza la creación de un scripts para poder acceder a Internet con un cliente
Para poder acceder a la conexión a Internet en tu red local mediante el túnel VPN será necesario crear una redirección.
Para estos casos se debe crear el fichero /etc/init.d/rpivpn, esto se hará con el siguiente comando:
sudo nano /etc/init.d/rpivpn
Ahora se copiaran los siguientes comentarios en el archivo y se crea una cabecera para un archivo Linux-Init:
#! /bin/sh ### BEGIN INIT INFO # Provides: rpivpn # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: VPN initialization script ### END INIT INFO
Seguidamente tendrás que activar la redirección IP_forward escribiendo en el archivo un 1 de la siguiente manera:
echo 'echo "1" > /proc/sys/net/ipv4/ip_forward' | sudo –s
Después de haber hecho todo esto, lo siguiente que tendrás que hacer es crear una redirección para paquetes VPN con el filtro de paquetes iptables:
Iptables –A INPUT –i tun+ -j ACCEPT Iptables –A FORWARD –i tun+ -j ACCEPT
Cuando hayas hecho esto solo quedara crear las órdenes necesarias que le permitan a los clientes poder acceder a la LAN y a Internet.
Para poder conseguir esto será necesario que agregues las siguientes líneas de comando:
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t nat -F POSTROUTING iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Hecho esto, lo siguiente será guardar y cerrar el archivo. Pero para que la redirección sea efectiva, será necesario asignar los derechos correspondientes al script e instalarlo como archivo Init.
Para ello escribe lo siguiente:
sudo chmod +x /etc/init.d/rpivpn sudo update-rc.d rpivpn defaults
Ahora tendrás que ejecutar el script y reiniciar el servidor OpenVPN mediante las siguientes líneas:
sudo /etc/init.d/rpivpn sudo /etc/init.d/openvpn restart
Por último, cierre la configuración de los clientes
Esto ya será el último paso para finalizar todo este procedimiento. Aquí será necesario reunir los certificados y las calves de cada cliente en un paquete propio. Para poder llevar esto a cabo es necesario contar nuevamente con los derechos de superusuario. Cuando esto estén asignados, entonces se debe acceder a la carpeta /etc/openvpn/easy-rsa/keys/
y después vas a depositar en ella el archivo de configuración del cliente. Con los comandos que te enseñaremos se va a abrir el archivo del cliente.
Ten presente que todos los clientes se configuran de la misma manera, lo único que se tiene que cambiar el nombre del dispositivo:
sudo su cd /etc/openvpn/easy-rsa/keys nano laptop.ovpn
En el archivo .ovpn del cliente será necesario añadir todas estas líneas:
dev tun client proto udp remote x.x.x.x 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert laptop.crt key laptop.key comp-lzo verb 3
Una vez hecho todo esto, lo siguiente es ajustar este contenido. Es así com en la cuarta línea se tendrá que sustituir x.x.x.x por la dirección IP de proveedor del DDNS. Si quieres también tienes la posibilidad de incluir una dirección IP estática si cuentas con una. Seguidamente encontrarás el puerto donde el servidor VPN va a estar disponible.
En la fila 10 y 11 se debe escribir el nombre del cliente. Una vez hecho esto se deben guardar los cambios y se cierra con los comandos ya mencionados. Lo siguiente será comprimir el archivo de configuración, junto con sus certificados y claves, en un archivo zip.
Si por algún caso aún no has instalado en el Raspberry Pi un paquete de compresión, entonces lo podrás hacer con el siguiente comando:
apt-get install zip
Es necesario crear el archivo comprimido, para ello se utiliza el comando que viene a continuación (Ten en cuenta que debes usar siempre el nombre del cliente correcto con el que se esté trabajando, en este caso es laptop):
zip /home/pi/raspberry_laptop.zip ca.crt laptop.crt laptop.key laptop.ovpn
Una vez hecho esto, solo quedará configurar los derechos de los archivos y finalizamos con “Exit”:
Chown pi:pi /home/pi/Raspberry _laptp.zip Exit
De esta manera este archivo comprimido se va a transferir desde Raspberry Pi al cliente con un programa SFTP o SCP y después se configura el cliente en el dispositivo. Es así como ya estaría lista para poder acceder a la red local conectada con el cliente y a su conexión de Internet desde cualquier punto de acceso externo.