VPN a LAN doméstica





TL; DR : instalo Wireguard en un VPS, me conecto desde mi enrutador doméstico en OpenWRT y accedo a la subred doméstica desde mi teléfono.



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



En su lugar, configuré una VPN con acceso LAN doméstico. Las ventajas de esta solución:



  • Transparencia : me siento como en casa bajo cualquier circunstancia.
  • Simplicidad : configurar y olvidar, no es necesario pensar en reenviar cada puerto.
  • Precio : Ya tengo un VPS, para este tipo de tareas una VPN moderna es casi gratuita en términos de recursos.
  • Seguridad : nada sobresale, puede dejar MongoDB sin contraseña y nadie robará los datos.


Como siempre, hay desventajas. Primero, debe configurar cada cliente individualmente, incluso en el lado del servidor. Puede ser un inconveniente si tiene una gran cantidad de dispositivos desde los que desea tener acceso a los servicios. En segundo lugar, en el trabajo puede tener una configuración regional que coincida con el rango; tendrá que resolver este problema.



Nosotros necesitamos:



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


Usaré Wireguard como tecnología VPN. Esta solución también tiene fortalezas y debilidades, no las describiré. Para VPN utilizo una subred 192.168.99.0/24, pero en casa tengo 192.168.0.0/24.



Configuración de VPS



Por lo suficiente negocio, incluso los desgraciados VPS para la mayoría de los 30 rublos al mes, si usted es una suerte de arranque .



Realizo todas las operaciones en el servidor desde la raíz en una máquina limpia, agrego `sudo` si es necesario y adapto las instrucciones.



Wireguard no tiene tiempo para llevar en el establo, por lo que estoy haciendo `apt-backporting edición sources` y añadir dos líneas al archivo: El paquete se instala de la forma habitual: . A continuación, generar el par de claves: . Repita esta operación dos veces más para cada dispositivo que participe en el esquema. Cambie las rutas a los archivos de claves para otro dispositivo y no se olvide de la seguridad de las claves privadas. Ahora estamos preparando el archivo config. La configuración se coloca en el archivo : En la sección



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

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





apt update && apt install wireguard



wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public



/etc/wireguard/wg0.conf



[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





[Interface]se indican los ajustes de la máquina en sí, y en los [Peer]ajustes para aquellos que se conectarán a ella. Las AllowedIPssubredes que se enrutarán al par correspondiente se escriben separadas por comas. 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, AllowedIPsagregamos la subred doméstica al par correspondiente. En PrivateKeyy PublicKeydescompone la clave privada generada para el VPS y las claves públicas de los pares, respectivamente.



En VPS sólo se ejecuta el comando, lo que elevará la interfaz y añadirlo a la reproducción automática: systemctl enable --now wg-quick@wg0. El estado actual de las conexiones se puede comprobar con el comando wg.



Configuración de OpenWRT



Todo lo que necesita para este paso 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 completado, ingrese al filtro luci-app-wireguardy, mirando la ventana con un hermoso árbol de dependencias, instale 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 ingresar el nombre (también wg0en mi caso) y elegir el protocolo WireGuard VPN, se abre un formulario de configuración con cuatro pestañas.







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







En la pestaña Configuración de firewall, conecte la interfaz a la red local. Entonces, las conexiones de la VPN llegarán libremente a la LAN.







En la pestaña Peers, presione el único botón, luego, en el formulario actualizado, complete los datos del servidor VPS: 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 especificado en la directiva ListenPort, respectivamente. Marque las direcciones IP permitidas de ruta para crear rutas. Y asegúrese de completar Persistent Keep Alive; de ​​lo contrario, el túnel del túnel desde el VPS hasta el enrutador se romperá si este último está detrás de NAT.











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



Configurar un teléfono inteligente



Necesitará el cliente Wireguard y está disponible en F-Droid , Google Play y App Store. 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 Peer, especifique la clave pública del VPS, un par de direcciones: el puerto del servidor VPN como punto final y las rutas a la VPN y las subredes domésticas.



Captura de pantalla en negrita del teléfono




Haga clic en el disquete de la esquina, enciéndalo y ...



Hecho



Ahora puede acceder a la supervisión del hogar, cambiar la configuración del enrutador o hacer lo que quiera a nivel de IP.



Capturas de pantalla locales











All Articles