Cómo crear un servidor VPN con Raspberry Pi
Publicado: 2022-01-29Cuando piensa en una VPN, puede imaginar un servicio de suscripción que canaliza su tráfico de Internet a través de un servidor ubicado en otra parte del mundo. Sin embargo, esos servicios no son la única forma de cifrar su actividad en línea.
Los servicios de VPN con un solo clic pueden ser excelentes, y hay algunas VPN que recomendamos si desea una solución simple que funcione de manera inmediata. Sin embargo, ese servicio tiene un costo: por lo general, entre $ 5 y $ 10 por mes, sin mencionar la confianza en quien esté del otro lado. Para una opción más económica que usted controla, puede configurar un servidor OpenVPN en una Raspberry Pi (o ciertos enrutadores) y usar su propia conexión a Internet doméstica como una VPN mientras está fuera de casa.
Tenga en cuenta que no podrá falsificar su ubicación en un país extranjero ni ocultar su identidad de miradas indiscretas (ya que el tráfico parecerá provenir de su conexión a Internet habitual en el hogar). Sin embargo, aún le brindará seguridad adicional cuando navegue en Wi-Fi público, y es bastante útil cuando necesita acceder a su red doméstica para, por ejemplo, activar una PC inactiva para que pueda acceder a Remote Desktop. Es barato, fácil, y bien vale la pena hacerlo si tienes un Pi por ahí.
Lo que necesitarás
Para configurar esto, necesitará lo obvio: una Raspberry Pi con todos los accesorios cruciales, como una fuente de alimentación y una tarjeta SD. Esta guía no requiere un sistema operativo especial; solo puede usar Raspbian, así que consulte nuestra guía para principiantes de Raspberry Pi para obtener todo lo que necesita saber sobre la configuración básica. (Asegúrese de cambiar la contraseña predeterminada cuando inicie el Pi por primera vez, ya que es extremadamente importante para la seguridad, que, después de todo, es el objetivo de este proyecto).
Recomiendo tener un mouse, teclado y monitor para este tutorial también, solo para la configuración inicial, aunque no es estrictamente necesario. (Puedes usar SSH en tu Pi para configurar tu VPN, pero es posible que tengas que volver a conectarte en medio del proceso, ya que cambiar la configuración de la red puede hacer que Pi pierda la conexión).
Eso es todo lo que técnicamente necesitas, aunque hay algunas otras cosas que recomiendo. Primero, es una buena idea configurar una reserva de DHCP para su Raspberry Pi, de modo que su dirección IP interna no cambie con el tiempo.
En segundo lugar, recomiendo un servicio de DNS dinámico. Para acceder a su Pi desde lejos, deberá apuntarlo a su dirección IP pública en casa. Esto no es difícil de encontrar, pero puede cambiar de vez en cuando, lo que podría romper su VPN hasta que la vuelva a configurar. Hacerlo es un poco molesto, por lo que es más fácil usar un servicio de DNS dinámico que le brinde una dirección fácil de recordar, que se actualiza cada vez que cambia su dirección IP.
Verifique la configuración de su enrutador para ver si admite algún servicio de DNS dinámico como DynDNS o No-IP; algunos de estos son suscripciones pagas, pero otros, como No-IP, son gratuitos para uso limitado, lo que debería funcionar perfectamente para nuestros propósitos. No repasaremos todo el proceso en esta guía, pero le recomiendo que lo investigue si encuentra que su proveedor de Internet sigue cambiando su dirección IP pública y rompiendo su VPN.
Cómo instalar OpenVPN con PiVPN
OpenVPN es un conjunto de software de código abierto que le permite configurar una VPN en casi cualquier tipo de hardware. Si quisiera, podría instalar el servidor Linux de OpenVPN en su Pi y modificar los archivos de configuración manualmente, pero hay una solución más sencilla. PiVPN es un conjunto de scripts de código abierto que convierten la configuración de OpenVPN en un asistente fácil de usar, por lo que incluso si es la primera vez que trabaja con OpenVPN, no debería tener demasiados problemas para configurarlo.
Así que inicie su Pi, asegúrese de que todo el software esté actualizado y abra una nueva ventana de Terminal. Instalar PiVPN es tan simple como ejecutar el siguiente comando:
curl -L https://install.pivpn.io | intento
La secuencia de comandos tardará unos minutos en instalar OpenVPN y luego lo guiará a través del proceso de configuración. Primero, le informará que PiVPN requiere una dirección IP estática, para que pueda acceder fácilmente a su servidor VPN cuando esté fuera de casa. Si configura una reserva de DHCP, puede decir Sí cuando PiVPN le pregunte si está usando una.
Después de elegir su usuario (el usuario Pi predeterminado está bien, a menos que tenga otro que desee usar), PiVPN le preguntará si desea usar WireGuard, un nuevo protocolo VPN u OpenVPN. Estoy usando OpenVPN para esta guía, así que use las teclas de flecha para mover el cursor a OpenVPN, luego presione Espacio para seleccionarlo antes de presionar Entrar para continuar.
WireGuard es bastante nuevo y promete mucho, mientras que OpenVPN es más popular y cuenta con un amplio soporte. Si desea probar WireGuard, puede obtener más información aquí.
Para los siguientes pasos, la configuración predeterminada está bien para la mayoría de los usuarios. Se le preguntará si quiere usar UDP o TDP (debe elegir UDP a menos que tenga una buena razón para no hacerlo), qué puerto quiere usar (1194 está bien a menos que lo esté usando otra cosa) y qué Proveedor de DNS que desea utilizar (cualquiera es adecuado).
Un problema: descubrí que, a pesar de usar un servicio de DNS dinámico, PiVPN no aceptaba mi URL personalizada. Si se encuentra con el mismo problema, simplemente dígale que use su dirección IP pública y puede cambiarla en el archivo de configuración más adelante.
Finalmente, vale la pena habilitar las funciones de OpenVPN 2.4 a menos que sepa que está usando aplicaciones que no las admiten. Elija el certificado de seguridad recomendado cuando se le solicite: los tamaños más grandes otorgan una mejor seguridad, pero pueden ralentizar las cosas y no son necesarios para la mayoría de los usuarios. Habilite las actualizaciones desatendidas y PiVPN instalará los paquetes necesarios y creará los archivos de configuración necesarios.
Finalmente, puede elegir un DNS para usar cuando se conecte a su VPN. Omita agregar un dominio de búsqueda personalizado (a menos que sepa qué es y quiera usar uno). Una vez hecho esto, se le pedirá que reinicie su Pi.
Después de reiniciar, deberá abrir una ventana de Terminal y ejecutar:
añadir pivpn
Asigne un nombre al archivo de configuración (elegí whitson-laptop), establezca cuántos días dura el certificado (el valor predeterminado está bien) e ingrese una contraseña de su elección (asegúrese de que sea segura). Generará un archivo .ovpn para usted en /home/pi/ovpns, que deberá conectar a su VPN; cópielo en su PC y guárdelo en un lugar seguro.
PiVPN recomienda repetir este proceso para otros dispositivos, por lo que si tiene otras computadoras portátiles o teléfonos en los que desea usar esta VPN, vuelva a ejecutar este comando para generar sus propios archivos de configuración ahora.
Aquí es donde tuve que hacer una edición en mi archivo .ovpn. Si está utilizando un servicio de DNS dinámico como yo, abra el archivo en el Bloc de notas (o el editor de texto de su elección) y reemplace su dirección IP en la línea 4 con su URL personalizada. Si tiene problemas para conectarse a su VPN, esta es la primera línea con la que me metería: me causó problemas en el pasado con varios generadores de configuración de OpenVPN.
A partir de aquí, su Pi debería estar todo configurado, pero deberá hacer una cosa más antes de poder conectarse: reenviar el puerto de su VPN en su enrutador. Este proceso varía de un enrutador a otro, pero es así: inicia sesión en la página de configuración de su enrutador, encuentra la opción de reenvío de puertos y reenvía el puerto 1194 a la dirección IP interna de su Pi. Puede encontrar instrucciones más detalladas para enrutadores específicos en portforward.com.
Conéctese a su VPN desde cualquier lugar
Estás en la recta final ahora porque el resto es súper fácil. Para conectarse a su VPN cuando está fuera de casa, necesitará una aplicación VPN, o "cliente", capaz de conectarse a su servidor OpenVPN. OpenVPN tiene un cliente oficial llamado OpenVPN Connect, que está disponible en Windows, macOS, Linux, iOS y Android.
Puede obtenerlo desde la página de inicio de OpenVPN: simplemente desplácese hacia abajo hasta Comenzar con OpenVPN Connect y haga clic en la plataforma de su elección. También hay programas populares de terceros como Viscosity (Windows/Mac) y Tunnelblick (Mac) que brindan opciones adicionales para usuarios avanzados. Puede ver otros clientes de OpenVPN en esta página en la comunidad de OpenVPN.
Inicie la aplicación OpenVPN Connect y haga clic en la pestaña "Archivo" para agregar un nuevo perfil. Navegue hasta el archivo de configuración que copió del Pi (nuevamente, el mío se llamaba whitson-laptop.ovpn) y selecciónelo. Haga clic en el botón Agregar y podrá conectarse a su VPN activando el interruptor e ingresando su contraseña.
Una vez que lo haga, todo su tráfico se cifrará y se enrutará a través de la conexión a Internet de su hogar donde reside el Pi. Su tráfico estará protegido de miradas indiscretas en el Wi-Fi de esa cafetería, y podrá acceder a cualquier recurso en su red doméstica como si estuviera allí, sin necesidad de pagar una suscripción.