< Return to Video

¡¿Exponer tu Homelab al INTERNET?! (Ten cuidado)

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

En este video te guiaré a través de la configuración de Cloudflare Tunnels e instalación de Cloudflare sobre TrueNAS para que puedas acceder con seguridad a tus aplicaciones de Homelab donde sea. Expondremos servicios como TrueNAS, Proxmox, y Paperless. Con Cloudflare puedes crear túneles seguros que apunten directamente a la red interna de tus aplicaciones de Homelab. Pero ten cuidado, por defecto no es tan seguro como parece, no lo des por sentado, y escoge tus aplicaciones con prudencia.

Lo que aprenderás:
- Todos los diferentes métodos de exponer tu Homelab: como Cloudflare, VPNs, proxies inversos, y redes Mesh.
- Instalación de Cloudflare Tunnels: configura e instala Cloudflare en TrueNAS de manera rápida.
- Exponiendo aplicaciones múltiples: mira una demostración en vivo de cómo crear una TrueNAS, Proxmox, y Paperless accesibles de forma remota.

¡No te olvides de dar Me gusta, suscribirte, y hacer clic en la campana para más tutoriales de Homelab y proyectos de código abierto!

Capítulos:
0:00 - Introducción
0:35 - Cómo exponer tu red Homelab
3:14 - Configura tu cuenta de Cloudflare
5:00 - Creando un túnel de Cloudflare
6:00 - Configura Cloudflared sobre TrueNAS Scale
7:05 - Exponiendo TrueNAS Scale
8:40 - Exponiendo Proxmox
10:00 - Exponiendo Paperless
15:30 - Resumen rápido

more » « less
Video Language:
English
Team:
Captions Requested
Duration:
16:28

Spanish subtitles

Revisions Compare revisions