< 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 asegúrate de apretar el botón de 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 analizemos 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 es fácil de configurar
  • 1:11 - 1:14
    sin embargo, para empezar no es muy seguro
  • 1:14 - 1:17
    y sólo depende 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
    Siguiente, 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
    tendrás más control sobre tus servicios
  • 1:39 - 1:41
    y sobre cómo manejarlos.
  • 1:41 - 1:46
    Sin embargo, éste 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
    Éstas son similares a VPNs normales excepto 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 darle acceso.
  • 2:32 - 2:36
    Finalmente NAT, ésta es una forma clásica de abrir puertos específicos en tu router
  • 2:36 - 2:38
    para exponer tu Homelab.
  • 2:38 - 2:42
    Es simple pero también conlleva altos riesgos de seguridad si dependes sólo de ello.
  • 2:42 - 2:47
    Ten en mente que NAT usualmente se usa junto con otros métodos como los anteriores,
  • 2:47 - 2:51
    pero usarlo sólamente para enrutamiento de puertos no es recomendado para configuraciones de seguridad.
  • 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
    El mejor método 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 cuenta nueva.
  • 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 click 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, significa 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
    Después vamos a "Netwotks",
  • 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 afuera.
  • 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 "Añadir nombre de host público".
  • 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 exponer ésto.
  • 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
  • 14:25 - 14:26
  • 14:27 - 14:28
  • 14:31 - 14:33
  • 14:33 - 14:36
  • 14:37 - 14:38
  • 14:39 - 14:40
  • 14:41 - 14:44
  • 14:45 - 14:46
  • 14:50 - 14:51
  • 14:55 - 14:58
  • 15:03 - 15:07
  • 15:08 - 15:12
  • 15:12 - 15:14
  • 15:15 - 15:17
  • 15:22 - 15:24
  • 15:27 - 15:28
  • 15:33 - 15:33
  • 15:34 - 15:35
  • 15:36 - 15:39
  • 15:43 - 15:44
  • 15:44 - 15:47
  • 15:47 - 15:53
  • 15:54 - 15:57
  • 15:57 - 16:00
  • 16:00 - 16:01
  • 16:02 - 16:04
  • 16:05 - 16:09
  • 16:09 - 16:11
  • 16:11 - 16:13
  • 16:13 - 16:17
  • 16:17 - 16:20
  • 16:20 - 16:23
  • 16:23 - 16:26
Title:
¡¿Exponer tu Homelab al INTERNET?! (Ten cuidado)
Description:

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

Spanish subtitles

Revisions Compare revisions