Tabla de contenido:
- Paso 1: elegir su servicio VPN
- Paso 2: instala la Raspberry Pi
- Paso 3: Instale OpenVPN
- Paso 4: Configurar el enrutamiento
- Paso 5: configurar firewall y NAT
- Paso 6: Conclusión
Video: Puerta de enlace VPN Raspberry Pi: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:44
Actualización 2018-01-07:
- Se actualizaron las cosas que faltan y los cambios necesarios para la versión actual de Raspian.
- También creó una guía específica para NordVPN.
Hay algunos usos diferentes para VPN. O desea proteger su privacidad y sus datos privados de miradas indiscretas o necesita obtener información de otro país. El abastecimiento de otro país puede ser muy útil para acceder a servicios que no se brindan en su país. En la actualidad, existen varios servicios de VPN y la mayoría de ellos ofrecen software fácil de usar para su computadora y aplicaciones para su tableta o teléfono. ¿Pero si tiene otros dispositivos que no son compatibles con el software que desea pasar por la VPN? Luego, construya una puerta de enlace que le brinde acceso a Internet a través de la VPN.
Si observa su configuración de red básica, tiene una "puerta de enlace predeterminada" que se utiliza para cualquier dirección IP que no se encuentre en su subred actual (muy simplificado). Entonces, si configura una puerta de enlace que puede enrutar el tráfico de Internet a través de una conexión VPN establecida, cualquier dispositivo habilitado para la red puede aprovechar el túnel VPN.
Mi caso de uso principal en mi apartamento de San Francisco es un túnel VPN a mi Suecia natal para poder transmitir canales de reproducción suecos en mis reproductores multimedia y televisores inteligentes. Este es un caso de uso bastante común para la mayoría de las personas que necesitan un túnel VPN. Dado que mis reproductores multimedia y televisores inteligentes no son compatibles con el software VPN, construí uno a partir de una Raspberry Pi.
Puedes comprar uno por menos de $ 40 en Amazon. Sin embargo, le recomiendo que compre un estuche y un adaptador de corriente decente también. Para este instructable necesitas:
- Raspberry Pi 2 o 3
- Un caso de tu agrado
- Un adaptador de corriente decente
- Un cable de red
Paso 1: elegir su servicio VPN
Lo importante al seleccionar un servicio VPN es que cumpla con sus requisitos. Para este caso de uso, necesitaba un servicio VPN con un punto de salida sueco, eso es lo más importante ya que necesito que los servicios suecos estén convencidos de que estoy en Suecia. A lo largo de los años, he usado varios proveedores diferentes y a continuación se detallan las cosas que tomo en consideración al seleccionar el proveedor de VPN para el caso de uso específico:
Prueba gratis
Quiero un período de prueba gratuito o una pequeña cantidad de datos de prueba para familiarizarme con el software o la aplicación. También quiero probar el rendimiento y la experiencia general antes de pagar por ello. También es bueno comprobar que mi idea funcionará antes de empezar a pagar.
Intimidad
Si la implementación es por cuestiones de privacidad, entonces es realmente importante lo que dice la política de privacidad. También es importante desde qué país opera la empresa y qué leyes protegen su privacidad. Los usuarios realmente preocupados por la privacidad deberían buscar un servicio que establezca que no se almacenan registros de tráfico y que permita pagos anónimos a través de Bitcoin, por ejemplo.
Tráfico permitido
Puede haber limitaciones sobre el tipo de tráfico que se le permitirá ejecutar. Los proveedores más serios suelen bloquear el tráfico de igual a igual. Esto no es solo para evitar problemas legales, sino para poder mantener el rendimiento para todos los usuarios. Sin embargo, existen muchos buenos proveedores que permiten el servicio de igual a igual y, al mismo tiempo, ofrecen un servicio de alta calidad. Pero si ese no es su principal recurso, le recomiendo seleccionar un servicio que no permita peer-to-peer.
Límite de datos
Nunca use un servicio que mantenga un límite de datos sobre sus usuarios que pagan. ¡Esto simplemente se agotará en el peor momento posible exactamente como los datos en su teléfono justo antes de la parte divertida en un videoclip!
Países de salida
Dependiendo del caso de uso, esto tiene una importancia diferente. Para un caso de uso como el mío, donde necesito terminar en un país específico, por supuesto que debe estar en la lista. También necesito que me permitan seleccionar en qué país salgo. Hay servicios en los que no puede seleccionar el país de salida, manténgase alejado de ellos. Puede terminar en un país con mal desempeño o leyes de privacidad. Incluso si no necesita un país específico, debe seleccionar un servicio con algunos países diferentes para mostrar para poder encontrar uno con buen rendimiento.
Tipo de software y soporte
Esta es una de las principales razones por las que prefiero los servicios con una prueba gratuita. Hay tantos proveedores con software defectuoso que tienen errores, son inseguros o simplemente no funcionan. Para una implementación de Raspberry Pi, necesito un proveedor que admita OpenVPN.
Mi selección
Para esta construcción fui con Tunnel Bear. Se ofrece una prueba gratuita de hasta 500 GB para poder probar que realmente puedo transmitir antes de pagar nada. Tienen su sede en Canadá que, junto a Suecia, tiene algunas de las leyes de privacidad más estrictas del mundo. No hay límite de datos en el servicio pago y también puedo tener varios dispositivos conectados a la vez. Por lo tanto, la protección para mi teléfono, tableta y computadora mientras viajo con wifi no segura también está ordenada. Se admite el nodo de salida en Suecia, en realidad se proporciona a través de Bahnhof, que es conocido por su fuerte privacidad en Suecia. Para los planes pagados, ofrecen soporte OpenVPN. No lo hacen para la prueba gratuita, pero fue suficiente ejecutar eso desde mi computadora portátil para asegurarme de que los servicios de transmisión funcionaran.
Paso 2: instala la Raspberry Pi
Para implementaciones como esta, utilizo el sistema operativo Raspbian Lite. Dado que no necesito la GUI en absoluto. Puede obtener la última versión aquí.
Utilizo Win32DiskImager para cargar el archivo.img en la tarjeta SD de la Raspberry Pi.
Una vez que la Raspberry Pi ha arrancado, busco en la lista DHCP de mis enrutadores para obtener la dirección IP y luego me conecto a través de SSH con Putty. El nombre de usuario y la contraseña estándar son pi / raspberry
Una vez conectado, ejecuto la herramienta raspi-config para cambiar la configuración básica.
sudo raspi-config
Las cosas más importantes a tener en cuenta en esta configuración son:
- Expandir el sistema de archivos
- Cambiar la contraseña
También puede cambiar el nombre de host de su Raspberry Pi si lo desea. Mi DHCP tiene contratos de arrendamiento muy largos y también puedo reservar una dirección específica. Si no tiene esa capacidad, debe configurar la Raspberry Pi para usar una dirección IP estática. Dado que otros dispositivos usarán esto como puerta de enlace predeterminada, es importante que siga usando la misma dirección IP. Aquí hay una publicación que escribí sobre cómo configurar una IP estática en Raspbian Jessie.
Entonces necesitamos actualizar todo a la última versión:
sudo apt-get updatesudo apt-get upgrade sudo apt-get dist-upgrade
Paso 3: Instale OpenVPN
Ahora necesitamos instalar OpenVPN en la Raspberry Pi.
sudo apt-get install openvpn
Luego, debemos asegurarnos de que el servicio se inicie correctamente.
sudo systemctl habilitar openvpn
Cuando finalice la instalación, debemos copiar los archivos de configuración y los certificados de OpenVPN en la caja. Esto se lo proporcionará su proveedor de VPN. En mi caso, al usar TunnelBear, encontré una publicación de blog sobre el soporte de Linux. En esa página hay un enlace al archivo zip que contiene todo lo que necesitamos.
El archivo contiene los archivos de certificado y un archivo de configuración.opvn para cada país al que puede realizar un túnel. Necesita todos los archivos de certificado y el archivo de configuración.opvn para el país de su elección, en mi caso Suecia. Descomprima los archivos necesarios y use winscp para cargar los archivos en su Raspberry Pi. El mismo nombre de usuario / contraseña que se usa para SSH lo llevará a / home / pi, simplemente coloque los archivos allí.
Luego volvemos al terminal SSH y movemos los archivos a la carpeta OpenVPN. El primer comando es solo para asegurarse de que estamos en la carpeta / home / pi.
cd / home / pi
sudo mv * / etc / openvpn /
Ahora necesitamos hacer algunas modificaciones a los archivos. Primero necesitamos cambiar el nombre del archivo de configuración de.ovpn a.conf. Cualquier archivo que termine en.conf en la carpeta / etc / openvpn se iniciará automáticamente cuando se inicie el demonio OpenVPN. Primero tenemos que entrar en ese directorio.
cd / etc / openvpn
Luego cambiamos el nombre del archivo de configuración. Puede nombrarlo como desee siempre que termine en.conf. Prefiero usar nombres de archivo sin espacios en blanco, en este caso voy con swe.conf.
sudo mv *.ovpn swe.conf
Luego, necesitamos un archivo de autenticación que contenga el nombre de usuario y la contraseña utilizados para el túnel VPN. Abra un editor de texto y escriba el nombre de usuario y la contraseña en líneas separadas. A este archivo lo llamaremos auth.txt.
sudo nano auth.txt
El contenido debería ser como este ejemplo:
nombre de usuario
contraseña
Luego use CTRL + O para escribir en el archivo y CTRL + X para salir del editor de texto nano. También necesitamos proteger el archivo auth.txt que contiene nuestras credenciales.
sudo chmod 600 /etc/openvpn/auth.txt
Luego, necesitamos editar el archivo de configuración para asegurarnos de que todas las rutas sean correctas y agregar una referencia al archivo auth.txt recién creado.
sudo nano swe.conf
Las líneas que deben cambiarse son las que se refieren a otros archivos, deben ser rutas absolutas. En este ejemplo esto es lo que estamos buscando:
ca CACertificate.crt
cert UserCertificate.crt clave PrivateKey.key
Los cambiamos a caminos absolutos como este:
ca /etc/openvpn/CACertificate.crt
cert /etc/openvpn/UserCertificate.crt clave /etc/openvpn/PrivateKey.key
Luego, al final del archivo, agregamos una referencia al archivo auth.txt, así:
auth-user-pass /etc/openvpn/auth.txt
Una vez más usamos CTRL + O para guardar el archivo y luego CTRL + X para salir de nano. Ahora podemos reiniciar el demonio OpenVPN y ver que el túnel está funcionando.
reinicio de openvpn del servicio sudo
Si ejecuta el comando ifconfig, debería ver un adaptador tun0 además de sus adaptadores eth0 y lo si el túnel está activo. También puede ejecutar el comando este comando para verificar su IP pública:
wget https://ipinfo.io/ip -qO -
Si tiene problemas para instalar el túnel, primero intente reiniciar su Raspberry Pi y luego verifique la configuración en busca de errores.
Paso 4: Configurar el enrutamiento
Ahora necesitamos habilitar el reenvío de IP. Permite que el tráfico de la red fluya desde una de las interfaces de red y salga por la otra. Básicamente creando un enrutador.
sudo / bin / su -c "echo -e '\ n # Habilitar enrutamiento IP / nnet.ipv4.ip_forward = 1'> /etc/sysctl.conf"
Si ejecuta sudo sysctl -p, debería ver esto impreso en la pantalla:
net.ipv4.ip_forward = 1
Ahora el enrutamiento está habilitado y el tráfico puede pasar por Raspberry Pi, por el túnel y salir por Internet.
Paso 5: configurar firewall y NAT
Dado que tendremos varios clientes en el interior accediendo a Internet a través de una dirección IP pública, necesitamos usar NAT. Significa traducción de direcciones de red y hará un seguimiento de qué cliente solicitó qué tráfico cuando la información regrese por el túnel. También necesitamos configurar algo de seguridad alrededor de la Raspberry Pi y el túnel.
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Habilitando NAT.
sudo iptables -A FORWARD -i eth0 -o tun0 -j ACEPTAR
Permitir que cualquier tráfico de eth0 (interno) pase por tun0 (túnel).
sudo iptables -A FORWARD -i tun0 -o eth0 -m estado --state RELACIONADO, ESTABLECIDO -j ACEPTAR
Permitir que el tráfico de tun0 (túnel) vuelva sobre eth0 (interno). Dado que especificamos el estado RELACIONADO, ESTABLECIDO, se limitará a la conexión iniciada desde la red interna. Bloquear el tráfico externo que intenta iniciar una nueva conexión.
sudo iptables -A INPUT -i lo -j ACEPTAR
Permitiendo el tráfico de loopback propio de la Raspberry Pi.
sudo iptables -A ENTRADA -i eth0 -p icmp -j ACEPTAR
Permitir que las computadoras de la red local hagan ping a la Raspberry Pi.
sudo iptables -A ENTRADA -i eth0 -p tcp --dport 22 -j ACEPTAR
Permitiendo SSH desde la red interna.
sudo iptables -A ENTRADA -m estado --estado ESTABLECIDO, RELACIONADO -j ACEPTAR
Permitir que regrese todo el tráfico iniciado por Raspberry Pi. Este es el mismo director estatal que antes.
sudo iptables -P DROP ADELANTE
sudo iptables -P INPUT DROP sudo iptables -L
Si el tráfico no coincide con ninguna de las reglas especificadas, se eliminará.
sudo apt-get install iptables-persistent
sudo systemctl habilitar netfilter-persistent
La primera línea instala una paz de código que hace que las reglas de iptable que acabamos de crear sean persistentes entre reinicios. El segundo guarda las reglas después de cambiarlas. Esta vez basta con ejecutar el primero. Si cambia las reglas, ejecute la segunda para guardar. Las reglas iptables están en vigor tan pronto como las agregue si se equivoca y pierde el acceso, simplemente reinicie y las que aún no se hayan guardado se revertirán.
Paso 6: Conclusión
Ahora puede usar este túnel desde cualquier dispositivo o computadora en la misma red. Simplemente cambie la puerta de enlace predeterminada a cualquier dirección IP que tenga su Raspberry Pi. En mi caso, mis dos centros de medios Kodi (un dormitorio y un salón) utilizan esta conexión para que pueda transmitir mis canales de reproducción suecos. Por supuesto, hay otras cosas para las que también puedes usar esto.
Solo tenga en cuenta que, según el proveedor de VPN que elija y la velocidad de su conexión a Internet, es posible que el rendimiento sea lento.
Si tienes alguna pregunta o quieres que te aclare algo, ¡házmelo saber en los comentarios! Para obtener más publicaciones sobre tecnología, visite mi blogg Hackviking!
Recomendado:
Cómo convertir su Raspberry Pi en una puerta de enlace de acceso remoto: 6 pasos
Cómo convertir su Raspberry Pi en una puerta de enlace de acceso remoto: ¡Hola, chicos! A la luz de los acontecimientos recientes, nuestro equipo en remote.it ha estado trabajando arduamente en una lluvia de ideas para hacer que el trabajo remoto sea fácil y accesible. Hemos creado la imagen de la tarjeta SD remote.itPi, que es una tarjeta SD que puedes colocar en una nueva
¿Cómo hacer su propia puerta de enlace WIFI para conectar su Arduino a la red IP?: 11 pasos (con imágenes)
¿Cómo hacer tu propia puerta de enlace WIFI para conectar tu Arduino a la red IP?: Como mucha gente, ¡crees que Arduino es una muy buena solución para hacer domótica y robótica! Pero en términos de comunicación, los Arduino solo vienen con enlaces seriales. Estoy trabajando en un robot que necesita estar conectado permanentemente con un servidor que ejecuta ar
Puerta de enlace ESP32 Lora Thingspeak con nodo sensor: 9 pasos
ESP32 Lora Thingspeak Gateway con nodo sensor: en este proyecto de IoT, diseñé ESP32 LoRa Gateway & también ESP32 LoRa Sensor Node para monitorear la lectura del sensor de forma inalámbrica desde distancias de unos pocos kilómetros. El remitente leerá los datos de humedad y temperatura utilizando el sensor DHT11. Luego transmite
Puerta de enlace serial UDP / IP para Arduino basada en ESP8266 Shield: 8 pasos
Puerta de enlace serial UDP / IP para Arduino basada en ESP8266 Shield: ya publiqué en 2016 este instructivo " Cómo hacer su propia puerta de enlace Wifi para conectar su Arduino a la red IP ". Dado que hice algunas mejoras en el código y todavía estoy usando esta solución. Sin embargo, ahora hay algunos escudos ESP8266 t
Puerta de enlace Raspberry Pi LoRaWAN: 3 pasos
Pasarela Raspberry Pi LoRaWAN: este proyecto es una pasarela Raspberry PI iC880a-spi LoRaWAN. Fue elaborado utilizando varios otros tutoriales en línea, e incorpora lo mejor y lo que está funcionando actualmente de esos tutoriales y son referencias necesarias en todo momento. La puerta