¿Quieres saber cómo convertir una Raspberry Pi en una VPN? Hay muchas razones por las que le gustaría acceder a su red doméstica de forma remota, y la mejor manera de hacerlo es con un servidor VPN. Algunos enrutadores en realidad le permiten configurar un servidor VPN directamente dentro del enrutador, pero en muchos casos, tendrá que configurar uno usted mismo.
Una Raspberry Pi es una excelente manera de lograr esto. No requieren mucha energía para funcionar y tienen suficiente potencia para ejecutar un servidor VPN. Puede configurar uno junto a su enrutador y básicamente olvidarse de él.
Cuando tiene acceso a su red doméstica de forma remota, puede acceder a sus archivos desde cualquier lugar. Puede ejecutar las computadoras de su hogar de forma remota. Incluso puede usar la conexión VPN de su hogar desde la carretera. Una configuración como esta permite que su teléfono, tableta o computadora portátil actúe como si estuviera en casa desde cualquier lugar.
Cómo convertir una Raspberry Pi en una VPN
configurar el pi
Antes de que pueda comenzar a configurar la VPN, necesitará configurar su Raspberry Pi. Lo mejor es configurar el Pi con una carcasa y una tarjeta de memoria de tamaño decente, 16 GB deberían ser más que suficientes. Si es posible, conecte su Pi a su enrutador con un cable Ethernet. Minimizará cualquier retraso en la red.
Instalar Raspbian
El mejor sistema operativo para usar en tu Pi es Raspbian. Es la opción predeterminada presentada por la fundación Raspberry Pi y está basada en Debian, una de las versiones de Linux más seguras y estables disponibles.
Vaya a la página de descarga de Rasbian y obtenga la última versión. Puede usar la versión "Lite" aquí, porque en realidad no necesita un escritorio gráfico.
Mientras se descarga, obtenga la última versión de Etcher para su sistema operativo. Una vez completada la descarga, extraiga la imagen de Raspbian. Luego, abre Etcher. Seleccione la imagen de Raspbian desde donde la extrajo. Seleccione su tarjeta SD (insértela primero). Finalmente, escribe la imagen en la tarjeta.
Deje la tarjeta SD en su computadora cuando haya terminado. Abra un administrador de archivos y busque la tarjeta. Debería ver un par de particiones diferentes. Busque la partición de "arranque". Es el que tiene un archivo "kernel.img". Cree un archivo de texto vacío en la partición de "arranque" y llámelo "ssh" sin extensión de archivo.
Finalmente puedes conectar tu Pi. Asegúrate de enchufarlo al final. No vas a necesitar una pantalla, un teclado o un mouse. Vas a acceder de forma remota a la Raspberry Pi a través de tu red.
Dale al Pi unos minutos para configurarse. Luego, abra un navegador web y vaya a la pantalla de administración de su enrutador. Encuentra la Raspberry Pi y anota su dirección IP.
Ya sea que esté en Windows, Linux o Mac, abra OpenSSH. Conéctese a la Raspberry Pi con SSH.
Obviamente, use la dirección IP real del Pi. El nombre de usuario siempre es pi y la contraseña es raspberry .
Configurar OpenVPN
OpenVPN no es exactamente simple de configurar como servidor. La buena noticia es que solo necesitas hacerlo una vez. Entonces, antes de profundizar, asegúrese de que Raspbian esté completamente actualizado.
Una vez finalizada la actualización, puede instalar OpenVPN y la utilidad de certificado que necesita.
Autoridad certificada
Para autenticar sus dispositivos cuando intentan conectarse al servidor, debe configurar una autoridad de certificación para crear claves de firma. Estas claves garantizarán que solo sus dispositivos puedan conectarse a su red doméstica.
Primero, cree un directorio para sus certificados. Mover a ese directorio.
Busque archivos de configuración de OpenSSL. Luego, vincule el último con openssl.cnf .
En esa misma carpeta de "certificados" hay un archivo llamado "vars". Abre ese archivo con tu editor de texto. Nano es el predeterminado, pero siéntete libre de instalar Vim, si te sientes más cómodo con él.
Encuentre primero la variable KEY_SIZE . Está configurado en 2048 de forma predeterminada. Cámbielo a 4096 .
El bloque principal con el que debe lidiar establece información sobre su autoridad de certificación. Ayuda si esta información es precisa, pero cualquier cosa que puedas recordar está bien.
Cuando tengas todo, guarda y sal.
Ese paquete Easy-RSA que instaló antes contiene muchos scripts que ayudan a configurar todo lo que necesita. Solo necesitas ejecutarlos. Comience agregando el archivo "vars" como fuente. Eso cargará todas las variables que acabas de establecer.
Luego, limpia las llaves. No tiene ninguna, así que no se preocupe por el mensaje que le indica que se eliminarán sus claves.
Finalmente, construya su autoridad de certificación. Ya configuró los valores predeterminados, por lo que puede aceptar los valores predeterminados que presenta. Recuerde establecer una contraseña segura y responda "sí" a las dos últimas preguntas, después de la contraseña.
hacer algunas llaves
Se tomó todas las molestias para configurar una autoridad de certificación para poder firmar claves. Ahora, es hora de hacer algunos. Comience por construir la clave para su servidor.
A continuación, construya el PEM Diffie-Hellman. Es lo que usa OpenVPN para asegurar las conexiones de sus clientes al servidor.
La última clave que necesita a partir de ahora se llama clave HMAC. OpenVPN usa esta clave para firmar cada paquete individual de información intercambiado entre el cliente y el servidor. Ayuda a prevenir ciertos tipos de ataques a la conexión.
Configuración del servidor
Tienes las llaves. La siguiente pieza en la configuración de OpenVPN es la configuración del servidor en sí. Afortunadamente, no hay mucho que necesites hacer aquí. Debian proporciona una configuración base que puede usar para comenzar. Entonces, comience por obtener ese archivo de configuración.
Use su editor de texto nuevamente para abrir /etc/openvpn/server.conf . Lo primero que debe encontrar son los archivos ca , cert y key . Debe configurarlos para que coincidan con las ubicaciones reales de los archivos que creó, que están todos en /etc/openvpn/certs/keys .
Busque la configuración dh y cámbiela para que coincida con el Diffie-Hellman .pem que creó.
Establezca también la ruta para su clave HMAC.
Encuentre el cifrado y asegúrese de que coincida con el ejemplo a continuación.
El siguiente par de opciones están ahí, pero están comentadas con un ; . Elimine los puntos y comas delante de cada opción para habilitarlas.
Busque las opciones de usuario y grupo . Descoméntelos y cambie el usuario a "openvpn".
Finalmente, estas dos últimas líneas no están en la configuración predeterminada. Deberá agregarlos al final del archivo.
Configure el resumen de autenticación para especificar un cifrado más fuerte para la autenticación del usuario.
Luego, limite los cifrados que OpenVPN puede usar a solo los más fuertes. Esto ayuda a limitar posibles ataques a cifrados débiles.
Eso es todo para la configuración. Guarda el archivo y cierra.
iniciar el servidor
Antes de que pueda iniciar el servidor, debe crear el usuario openvpn que especificó.
Es un usuario especial solo para ejecutar OpenVPN y no hará nada más.
Ahora, inicie el servidor.
Comprueba que ambos estén funcionando.
Si todo se ve bien, habilítelos al inicio.
Configuración del cliente
Su servidor ahora está configurado y funcionando. A continuación, debe establecer la configuración de su cliente. Esta es la configuración que usará para conectar sus dispositivos a su servidor. Vuelva a la carpeta de certificados y prepárese para crear las claves de cliente. Puede elegir crear claves separadas para cada cliente o una clave para todos los clientes. Para uso doméstico, una tecla debería estar bien.
El proceso es casi idéntico al del servidor, así que siga el mismo procedimiento.
Configuración del cliente
La configuración de los clientes es muy similar a la del servidor. Nuevamente, tiene una plantilla prefabricada para basar su configuración. Solo necesita modificarlo para que coincida con el servidor.
Cambie al directorio del cliente . Luego, descomprima la configuración de muestra.
Abra el archivo client.ovpn con su editor de texto. Luego, busque la opción remota . Suponiendo que aún no esté utilizando una VPN, busque en Google "Cuál es mi IP". Tome la dirección que muestra y configure la dirección IP remota . Deje el número de puerto.
Cambie los certificados para reflejar los que creó, tal como lo hizo con el servidor.
Busque las opciones de usuario y elimínelas. Está bien ejecutar los clientes como nadie .
Descomente la opción tls-auth para HMAC.
A continuación, busque la opción de cifrado y asegúrese de que coincida con el servidor.
Luego, simplemente agregue el resumen de autenticación y las restricciones de cifrado en la parte inferior del archivo.
Cuando todo se vea bien, guarde el archivo y salga. Use tar para empaquetar la configuración y los certificados, de modo que pueda enviarlos al cliente.
Transfiere ese paquete al cliente como quieras. SFTP, FTP y una unidad USB son excelentes opciones.
Reenvío de puertos
Para que todo esto funcione, debe configurar su enrutador para reenviar el tráfico VPN entrante al Pi. Si ya está utilizando una VPN, debe asegurarse de que no se está conectando en el mismo puerto. Si es así, cambie el puerto en las configuraciones de su cliente y servidor.
Conéctese a la interfaz web de su enrutador escribiendo su dirección IP en su navegador.
Cada enrutador es diferente. Aún así, todos deberían tener alguna forma de esta funcionalidad. Encuéntrelo en su enrutador.
La configuración es básicamente la misma en todos los enrutadores. Introduzca los puertos de inicio y finalización. Deben ser iguales entre sí y el que estableció en sus configuraciones. Luego, para la dirección IP, configúrala en la IP de tu Raspberry Pi. Guarde sus cambios.
Conéctese al cliente
Cada cliente es diferente, por lo que no existe una solución universal. Si está en Windows, necesitará el cliente OpenVPN de Windows .
En Android, puede abrir su tarball y transferir las claves a su teléfono. Luego, instale la aplicación OpenVPN. Abra la aplicación e ingrese la información de su archivo de configuración. Luego seleccione sus claves.
En Linux, debe instalar OpenVPN como lo hizo para el servidor.
Luego, cambie a /etc/openvpn y descomprima el tarball que envió.
Cambie el nombre del archivo del cliente.
No inicie el cliente todavía. Fallará. Primero debe habilitar el reenvío de puertos en su enrutador.
Reflexiones finales sobre cómo convertir una Raspberry Pi en una VPN
Después de saber cómo convertir una Raspberry Pi en una VPN, ahora debería tener una configuración que funcione. Su cliente se conectará directamente a través de su enrutador al Pi. Desde allí, puede compartir y conectarse a través de su red virtual, siempre que todos los dispositivos estén conectados a la VPN. No hay límite, por lo que siempre puede conectar todas sus computadoras a Pi VPN.
0 Comentarios