VPN a LAN doméstica

VPN a LAN doméstica

TL; DR: Instalo Wireguard en un VPS, me conecto desde el enrutador de mi hogar en OpenWRT y accedo a la subred de mi hogar desde mi teléfono.

Si mantiene su infraestructura personal en un servidor doméstico o tiene muchos dispositivos controlados por IP en casa, probablemente quiera tener acceso a ellos desde el trabajo, desde el autobús, el tren y el metro. La mayoría de las veces, para tareas similares, se compra IP al proveedor, después de lo cual los puertos de cada servicio se reenvían al exterior.

En lugar de eso, configuré una VPN con acceso a la LAN de mi casa. Las ventajas de esta solución:

  • Transparencia: Me siento como en casa bajo cualquier circunstancia.
  • Facilidad: configúrelo y olvídese, no necesita pensar en reenviar cada puerto.
  • Precio: Ya tengo un VPS; para tales tareas, una VPN moderna es casi gratuita en términos de recursos.
  • seguridad: no sobresale nada, puedes salir de MongoDB sin contraseña y nadie te robará los datos.

Como siempre, hay desventajas. En primer lugar, deberá configurar cada cliente por separado, incluido el lado del servidor. Puede resultar inconveniente si tiene una gran cantidad de dispositivos desde los cuales desea acceder a los servicios. En segundo lugar, es posible que tenga una LAN con el mismo alcance en funcionamiento; tendrá que resolver este problema.

Necesitamos:

  1. VPS (en mi caso en Debian 10).
  2. Enrutador OpenWRT.
  3. Número de teléfono
  4. Servidor doméstico con algún servicio web para pruebas.
  5. Brazos rectos.

La tecnología VPN que utilizaré es Wireguard. Esta solución también tiene fortalezas y debilidades, no las describiré. Para VPN uso una subred 192.168.99.0/24y en mi casa 192.168.0.0/24.

configuración VPS

Incluso el VPS más miserable por 30 rublos al mes es suficiente para hacer negocios, si tienes la suerte de tener uno. arrebatar.

Realizo todas las operaciones en el servidor como root en una máquina limpia; si es necesario, agrego `sudo` y adapto las instrucciones.

Wireguard no tuvo tiempo de incorporarse al establo, así que ejecuté `apt edit-sources` y agregué backports en dos líneas al final del archivo:

deb http://deb.debian.org/debian/ buster-backports main
# deb-src http://deb.debian.org/debian/ buster-backports main

El paquete se instala de la forma habitual: apt update && apt install wireguard.

A continuación, generamos un par de claves: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public. Repita esta operación dos veces más para cada dispositivo que participa en el circuito. Cambie la ruta a los archivos de claves de otro dispositivo y no se olvide de la seguridad de las claves privadas.

Ahora preparamos la configuración. Archivar /etc/wireguard/wg0.conf se coloca la configuración:

[Interface] Address = 192.168.99.1/24
ListenPort = 57953
PrivateKey = 0JxJPUHz879NenyujROVK0YTzfpmzNtbXmFwItRKdHs=

[Peer] # OpenWRT
PublicKey = 36MMksSoKVsPYv9eyWUKPGMkEs3HS+8yIUqMV8F+JGw=
AllowedIPs = 192.168.99.2/32,192.168.0.0/24

[Peer] # Smartphone
PublicKey = /vMiDxeUHqs40BbMfusB6fZhd+i5CIPHnfirr5m3TTI=
AllowedIPs = 192.168.99.3/32

En la sección [Interface] se indican los ajustes de la propia máquina, y en [Peer] — configuración para aquellos que se conectarán a él. EN AllowedIPs Separadas por comas, se especifican las subredes que se enrutarán al par correspondiente. Debido a esto, los pares de los dispositivos "cliente" en la subred VPN deben tener una máscara. /32, todo lo demás será enrutado por el servidor. Dado que la red doméstica se enrutará a través de OpenWRT, en AllowedIPs Agregamos la subred de inicio del par correspondiente. EN PrivateKey и PublicKey descomponer la clave privada generada para el VPS y las claves públicas de los pares en consecuencia.

En el VPS, todo lo que queda es ejecutar el comando que abrirá la interfaz y agregarlo a ejecución automática: systemctl enable --now wg-quick@wg0. El estado actual de la conexión se puede verificar con el comando wg.

Configuración abierta WRT

Todo lo que necesitas para esta etapa está en el módulo luci (interfaz web OpenWRT). Inicie sesión y abra la pestaña Software en el menú Sistema. OpenWRT no almacena un caché en la máquina, por lo que debe actualizar la lista de paquetes disponibles haciendo clic en el botón verde Actualizar listas. Una vez finalizado, conduzca hacia el filtro. luci-app-wireguard y, mirando la ventana con un hermoso árbol de dependencias, instala este paquete.

En el menú Redes, seleccione Interfaces y haga clic en el botón verde Agregar nueva interfaz debajo de la lista de las existentes. Después de introducir el nombre (también wg0 en mi caso) y seleccionando el protocolo WireGuard VPN, se abre un formulario de configuración con cuatro pestañas.

VPN a LAN doméstica

En la pestaña Configuración general, debe ingresar la clave privada y la dirección IP preparada para OpenWRT junto con la subred.

VPN a LAN doméstica

En la pestaña Configuración del firewall, conecte la interfaz a la red local. De esta forma, las conexiones de la VPN entrarán libremente al área local.

VPN a LAN doméstica

En la pestaña Peers, haga clic en el botón único, después de lo cual completará los datos del servidor VPS en el formulario actualizado: clave pública, IP permitidas (debe enrutar toda la subred VPN al servidor). En Endpoint Host y Endpoint Port, ingrese la dirección IP del VPS con el puerto previamente especificado en la directiva ListenPort, respectivamente. Marque las IP de ruta permitidas para las rutas que se crearán. Y asegúrese de completar Persistent Keep Alive; de ​​lo contrario, el túnel desde el VPS al enrutador se romperá si este último está detrás de NAT.

VPN a LAN doméstica

VPN a LAN doméstica

Después de esto, puede guardar la configuración y luego, en la página con la lista de interfaces, hacer clic en Guardar y aplicar. Si es necesario, inicie explícitamente la interfaz con el botón Reiniciar.

Configurar un teléfono inteligente

Necesitará el cliente Wireguard, está disponible en F-Droid, Google Play y tienda de aplicaciones. Después de abrir la aplicación, presione el signo más y en la sección Interfaz ingrese el nombre de la conexión, la clave privada (la clave pública se generará automáticamente) y la dirección del teléfono con la máscara /32. En la sección Par, especifique la clave pública de VPS, un par de direcciones: el puerto del servidor VPN como punto final y las rutas a la VPN y a la subred doméstica.

Captura de pantalla en negrita desde el teléfono
VPN a LAN doméstica

Haz clic en el disquete de la esquina, enciéndelo y...

Hecho

Ahora puedes acceder al monitoreo del hogar, cambiar la configuración del enrutador o hacer cualquier cosa a nivel de IP.

Capturas de pantalla del área local
VPN a LAN doméstica

VPN a LAN doméstica

VPN a LAN doméstica

Fuente: habr.com

Añadir un comentario