Hola a todos, bienvenidos. Hoy vamos a intentar algo distinto. Vamos a empezar una nueva serie de videos sobre las distintas formas de exponer o acceder a Homelab desde internet. Principalmente porque hay muchas opciones y siento que no se habla mucho en YouTube. Sobre todo la parte de seguridad, la más importante Todos asumen que es segura, lo cual no es siempre el caso, así que recuerda hacer clic en Like, suscribirte y compartir, y empecemos. Bien, ¿cómo lo hacemos? para exponer nuestro Homelab tenemos 5 formas principales. 1. Túneles seguros como Cloudflare. 2. Proxies inversos como Nginx. 3. VPNs tradiciones como Wireguard o protocolos de OpenVPN. 4. Redes Mesh como ZeroTier y Tailscale. y por último 5. El clásico enrutamiento de puertos o NAT. Así que analicemos cada uno de ellos para entender sus diferencias. Primero túneles seguros como Cloudflare. A veces se define como túneles seguros para acceder a tu app sin exponer tu IP facilitando el acceso remoto. También son fáciles de configurar sin embargo, no son muy seguros al principio y sólo dependen de la seguridad de tu app, pero puede mejorarse. Cubriremos esto más tarde en otro video. Después tenemos proxies inversos como Nginx. Es un servidor posicionado en el medio, que envía peticiones a tu Homelab, ayudando a gestionar múltiples servicios bajo un dominio. Mientras agrega una capa de protección, también tendrás más control sobre tus servicios, y sobre cómo manejarlos. Sin embargo, expone tu IP y debes abrir un puerto en tu router para accederlo. Después, VPNs tradicionales como Wireguard o OpenVPN. Éstas crean un túnel encriptado entre tu dispositivo y tu Homelab, haciendo sentir que estás en la misma red local. Son buenas para privacidad y seguridad, pero sólo son útiles cuando eres el único usuario porque es imposible compartir el acceso sin entregar tu clave privada a otros usuarios. Luego, redes Mesh como ZeroTier o Tailscale. Son similares a VPNs normales, sólo que conectan dispositivos entre ellos en vez de conectarlos a un servidor central. Tienen más control que las VPNs en el sentido de que puedes escoger a cuáles dispositivos compartir, pero debes conectarte manualmente a la red cada vez para cada dispositivo que quieras agregar. Finalmente NAT, éste es un método clásico de abrir puertos específicos en tu router para exponer tu Homelab. Es simple pero conlleva altos riesgos de seguridad si dependes sólo de ello. Ten en mente que NAT usualmente se usa junto a otros métodos como los anteriores, pero usarlo sólamente para enrutamiento de puertos no es recomendado. Ahora, tal vez te preguntes, ¿cuál es el método más seguro para exponer tu Homelab? En realidad, depende de tus apps y de qué quieras hacer. En mi opinión, no es sobre cuál método usar sino sobre cómo los combinas. Lo mejor es combinarlos y hacer que funcionen entre ellos para lograr el método perfecto. Bien, primero vamos a cloudflare.com. Ve a "Sign up", y "Free" en el sitio, y creamos una nueva cuenta. Después de esto, si ya tienes un dominio ingrésalo. En mi caso voy a crear un nuevo dominio. Por alguna razón tuve un error al tratar de pagar así que sólo voy a importar un dominio existente. Sólo voy a escribirlo aquí. Bien, entonces ve hacia abajo y escoge el paquete gratuito. Luego haz clic en "Continue to activation". Confirma. Después hacemos algunos cambios. Necesitamos cambiar el nombre del servidor actual con el nombre de servidor de Cloudflare para que Cloudflare controle el dominio. Para hacerlo, vamos al proveedor del dominio, en mi caso es NameCheap. En mi caso voy a "Custom DNS" y luego copio el NAMESERVERS, y luego guardo. Dice que puede tomar hasta 48 horas pero no es cierto, puede tardar unos segundos o minutos máximo Pero, por si acaso, si toma mucho tiempo de actualizar es normal así que espera. No hay otra opción. Bien, luego de un rato, llegamos a esta página, así que todo está bien. Ahora vamos a "Access" y luego "Launch Zero Trust". Escogemos nuestra cuenta. Luego vamos a "Access". Después escogemos un nombre de equipo, cualquier cosa. Después escogemos el pack gratuito, no hay que pagar. Luego vamos a "Networks", "Tunnels", y añadimos un túnel. Escogemos el de Cloudflare. Nombramos nuestro túnel Homelab_test. Luego nos dará a escoger nuestro entorno, en este caso sólo escoge Docker, y copiamos el comentario porque sólo necesitamos el token. No necesitamos correr algo en Docker. Después vamos a TrueNAS e instalamos la app de Cloudflare. Ésta. Y aquí pegamos lo que tenemos y seguimos. Borra todo, sólo deja el token. Va todo antes de esto. Listo. No necesitamos configurar algo más. Ni el almacenamiento, no es necesario. E instalamos. Bien, ya esta listo y andando. Volvemos al perfil de Cloudflare. Ahora esperamos hasta tener algo en "Connectors". Buscará automáticamente. Muy bien, aquí vamos. Está conectado. Podemos continuar. Siguiente. Estamos listos para añadir nuestro primer servicio. Empecemos por añadir el mismo TrueNAS. Sólo copiamos la IP. Luego escogemos el subdominio TrueNAS y elegimos el dominio. Luego escogemos HTTP y después la IP. No hay algo para escoger acá. Guardamos. Para probar esto voy a desconectarme de la VPN. Como no estoy en casa, estoy conectado a mi VPN hogareña. Sólo voy a desactivar esto y hacer esto para mostrarles que si trato de acceder a la misma IP no funcionará, porque me desconecté de la VPN. Y si trato un dominio, nuevo dominio, funciona. Así que ahora TrueNAS es accesible desde el exterior. Pero esto no es recomendado. Si quieres exponer apps sólo hazlo individualmente, no expongas todo. Así que, ahora voy a borrarla y agregaré algo. Bien, ahora quiero agregar otro servicio. Talvez, Proxmox. Vamos a "Add the public hostname". Proxmox. Lo mismo. Aquí escogemos HTTPS en vez de HTTP, y luego la IP, como así también el puerto que es 8 8006. Y luego vamos a Additional Settings, TLS y activamos "No TLS Verify". No revisará certificados. Bien, ahora guardamos. Intentemos otra vez. ¡Bien! Ahora funciona. Y desconectamos la VPN. Y actualizamos. Y sigue funcionando. Bueno, ahora antes de terminar el video hagamos un último servicio, Paperless. Como ya vimos esto en un video anterior, vamos a ver cómo exponerlo. ¿Porqué escogí Paperless? Porque es algo complicado de configurar. No es tan simple como añadir un nombre de host. Primero añadimos el nombre de host, lo mismo de siempre, HTTPS, y luego tomamos la URL, la cual es la IP y el puerto. Escoge HTTP, no HTTTPS. Nombre de servicio. Entonces, primero funcionará normalmente cuando trato de acceder. Muy bien. Pero el problema está cuando tratas de conectarte. Tienes este error. La verificación CSRF falló. ¿Porqué? Necesitamos cambiar algunas cosas para que sea accesible. Según la documentación, necesitamos definir esta variable de entorno PAPERLESS_URL y definir el nombre de dominio que usamos en Cloudflare. Así que hagamos eso. Ve a Paperless > Edit y sólo la añadimos como variable de entorno aquí. PAPERLES_URL. Ponemos paperless, punto, tu dominio, asegúrate de añadir HTTPS al principio, y listo. Actualizar. En caso de que te quedes en Deploying, el cual fue mi caso, no estoy seguro pero el contenedor Paperless se quedó así por un largo tiempo. Así que lo que hice fue detener esta instancia y crear otra instancia usando el dataset ya creado. Así no pierdes ninguno de tus archivos. Así que empecemos otra instancia. Llamémosla paperless-cloudflare. Puedes cambiar la clave si quieres. Por cierto, puedes usar la llave secreta que quieras. Escoge cualquiera. No necesitas recordarla. Bien, añade un email, uno falso. Contraseña. Ahora añadimos otra vez la variable de entorno PAPERLESS_URL HTTPS paperless punto tu dominio, y luego añadimos la otra ruta del puerto. Paperless, éstos son los datos. Copiemos esto. Y ahora Media, y luego Consume, y Trash. Esto es Postgre. Recuerda activar "Automatic Permissions". Luego instalamos. Esperemos un poco. Funciona pero tarda. Bien, ya está funcionando. Corrámosla. Primero obtenemos la IP, es decir, el puerto IP, es lo mismo. Vuelve a Cloudflare. Haz clic. Voy a poner el puerto nuevo. Guardar. Intentemos ahora. Bien, una nueva contraseña. Y ahora funciona, sin el error anterior. Y como ven, aún tenemos el mismo documento que antes de perderlo todo. Aún tenemos todos nuestros documentos. Los abrimos. Y todo funciona bien. Eso es. Básicamento, así es como expones tus servicios a la nube. En resumen: Así es como puedes exponer tu app. No accedemos directamente a ella, sino al servidor en la nube, al servidor Cloudflare, que conectará con tu red LAN a través de Cloudflare, y luego dará acceso a tu app. De esta forma no accederás directamente a tu app, exponiendo tu IP y no irás a través de NAT, no necesitas abrir un puerto. Pero ten cuidado si tu app es insegura y eres hackeado. Así expones todo tu Homelab. Sin importar si usas o no Cloudflare. Clic en Me gusta y comparte si llegaste hasta aquí. Nos vemos luego.