Servidor VPN doméstico para acceder a servidores en casa

He estado pensando en esta pregunta durante varios meses.

Tengo un par de servidores en casa a los que puedo acceder desde fuera de mi hogar. Tengo configurado el reenvío de puertos en mi router para poder conectar a mis servidores mediante un FQDN proporcionado por DDNS y un número de puerto. Uso un emulador de terminal y no un navegador web para acceder a estos servidores, y también tengo FTP configurado en los servidores. Como uso reenvío de puertos, utilizo números de puertos no estándar con el FQDN para llegar a los servidores.

En casa, no es necesario usar la VPN. Simplemente uso una conexión local para acceder a los mismos servidores y puertos redirigidos.

Posiblemente tenga un servidor de medios que no necesita la VPN y que puede seguir siendo accedido desde fuera del hogar. Por lo tanto, intento asegurar solo uno o dos servidores.

¿Cómo configuro una VPN de manera que el acceso externo no funcione (es decir, que los servidores no puedan ser vistos, hacer ping, o conectarse), sin pasar por la VPN?

Mi router puede ejecutar un servidor VPN, o estaría dispuesto a configurar un servidor VPN en un Raspberry Pi. Si una portal cautivo u otra interfaz frontal funcionara (un usuario tendría que iniciar sesión en mi red a través de un navegador web antes de poder conectarse a mis servidores), estaría feliz de considerarlo, siempre y cuando un usuario externo no pueda conectarse a mis servidores antes de ser validado.

No necesariamente puedo ejecutar un servidor VPN directamente en esos servidores con acceso externo. Prefiero ejecutar una VPN en otra parte de mi red.

¿Alguna sugerencia? ¿Documentación? ¿Escritos? ¿Ideas?

Shawn

¿Cómo configuro una VPN de manera que el acceso externo no funcione (es decir, que los servidores no puedan ser vistos, hacer ping, o conectarse), sin pasar por la VPN?

En términos generales, colocas un servidor VPN dentro de tu red. Rediriges los puertos necesarios para la VPN hacia ese servidor (y ningún otro puerto). Luego, accedes a la VPN desde afuera.

El servidor VPN es una entidad independiente de otros servicios en tu red. Una vez que configures el servidor VPN, los clientes que se conecten correctamente aparecerán en la LAN como cualquier otro cliente y podrán acceder normalmente a los demás clientes de la LAN.

Si tu router tiene un servidor VPN integrado, ese es un buen lugar para comenzar. Como mínimo, puedes probar con eso para asegurarte de que puedes hacer lo que quieres, y pensar en reemplazarlo por un Pi u otro servidor más adelante.

Recomendaría tal vez configurar un servidor que pueda ejecutar algún servicio de RDP como TeamViewer y usar ese servidor/máquina para interactuar con tus servidores en casa. No estoy seguro de cómo configurar mejor una VPN en tu red doméstica. Apostaría a que tu router está diseñado para usar un servicio VPN como alguien en un aeropuerto o intentando ver contenido en otro país.

Corrígeme si me equivoco, pero parece que quieres restringir el acceso a tus servidores desde el exterior solo mediante VPN. Deberías poder deshabilitar el reenvío de puertos en tu router (esto cortará el acceso exterior general) y luego configurar una VPN, digamos WireGuard, en tu red. Una vez que estés en túnel hacia tu red, puedes acceder a tus servidores mediante ip:puerto, donde ip es la IP privada de tu servidor.

Todo lo que esté en reenvío de puertos será accesible desde fuera. Tengo una configuración similar. Un servicio que no quiero exponer a internet corre localmente en mi LAN y puede accederse con la VPN cuando sea necesario. Los otros están subdominiados y reenviados con proxy inverso para ser accesibles desde internet con las credenciales de usuario adecuadas.

Configura tu VPN en un dispositivo en tu LAN, reenvía desde internet al dispositivo LAN con el servidor VPN, puerto estándar de OpenVPN es 1194 UDP (pero puedes cambiarlo si quieres). Cuando tu dispositivo remoto esté autenticado, se le asignará una dirección IP dentro de tu LAN, por lo que puede hacer casi cualquier cosa que puedas hacer desde otro dispositivo en tu LAN. Si solo quieres conectarte a un dispositivo en tu LAN, deberías poner los dispositivos en subredes diferentes y bloquear el acceso internamente con servicios/IPs específicos que deseas permitir.

OpenVPN usa credenciales de inicio de sesión para iniciar la conexión VPN y tiene buena seguridad. Puede trabajar con UDP, por lo que el puerto que reenvías es más difícil de detectar (aunque puede ser detectado, pero la mayoría de los escáneres de puertos buscan TCP), por lo que es menos probable que te exponga.

Tengo OpenVPN y un cliente SSH en mi teléfono Android, abro la app de VPN e inicio sesión, luego abro la app de SSH e inicio sesión en el servidor.