Compré un dominio. ¿Cómo apunto a dos servicios diferentes en el hogar?

Necesito poder acceder a home assistant y Nextcloud desde fuera de mi red doméstica. Seguí una guía de YouTube sobre cómo configurar un túnel de Cloudflare para mi home assistant, funcionó.

Necesito hacer lo mismo para mi instancia de Nextcloud, pero no estoy seguro de cómo. ¿Quizás un subdominio? ¡Agradezco cualquier consejo!

PD: compré el dominio en Namecheap.

Reverse Proxy. Puedes tener subdominios ilimitados, como nextcloud.tudominio.com y HomeAssistant.tudominio.com, y así sucesivamente. Yo uso HAproxy instalado en mi router PFsense. En mi opinión, es la mejor opción. Otra es nginx, pero no sé mucho sobre ella.

También, con reverse proxy solo tienes que exponer un puerto a internet, ya sea el 443 o el 80, dependiendo si usas HTTPS o HTTP.

Yo diría que, detente y no caigas en la idea de ‘exponer cosas a Internet’ como primera opción. Debes pensarlo bien porque hay riesgos, y si haces esta pregunta, quizás no tienes la experiencia para asegurar las cosas como se necesita. No quiero ofender, pero hay formas más fáciles de hacer esto.

Lo que recomiendo es… VPN.

Sugiero Tailscale. No necesitas exponer nada directamente y puedes acceder a cualquier cosa en tu red si añades un nodo de salida en un PC o servidor en tu red.

Otra opción es agregar un túnel de cloudflared para Nextcloud también. No estoy seguro, nunca lo he usado, pero quizás hay instrucciones disponibles.

Lo que hago para cosas públicas:

$5 en una VPS de Linode con ZeroTier instalado.
Dominios de Cloudflare apuntan a ella.
Instalo NGINX como proxy en la VPS.

Nginx en la VPS apunta a los servicios de mi PC hogar.
Accedo mediante ZeroTier.

ZeroTier está instalado en el router de casa en modo puente.

Proporciona un nivel de separación.

Ya que tienes configurado el túnel de CF, simplemente agrega otro nombre de host público en tu túnel existente usando un subdominio.

Sí, configura un subdominio, cloud.tudominio.org.

¿Tailgate? ¿Necesito un cliente en cada dispositivo para que funcione? Nosotros seremos familiares en diferentes zonas del mundo usando Nextcloud y no queremos tener que estar siempre conectados a VPN en todos nuestros servicios…

Solo puedo agregar subdominios si uso la configuración DNS de Namecheap, parece. Uso DNS personalizado según la guía y utilizo los servidores de nombres de Cloudflare. ¿Me estoy perdiendo de algo?

Supongo que la idea es que mi dominio principal XYZ.com apunte a Home Assistant y luego crear un subdominio cloud.xyz.com que apunte a Nextcloud. ¿Estoy pensando bien?

¿Necesito un cliente en cada dispositivo para que funcione?

Sí.

No quiero estar siempre conectado a VPN

Exponer servicios directamente a través de internet es una muy mala idea.

Si no usas VPN, otra forma segura es agregar un inicio de sesión secundario delante de todos tus servicios usando un gestor de identidades (IdM) como Authelia o Authentik. Esto requerirá configurar un reverse proxy y aprender a configurar un IdM.

Otra opción es usar un inicio de sesión federado delante de tus servicios, mediante un servicio en la nube como Google, Facebook, etc. Cómo se hace depende del reverse proxy, por ejemplo, en Nginx puedes usar vouch-proxy.

El inconveniente de estos métodos es que usan cookies HTTP para funcionar, por lo que no sirven para servicios que no sean HTTP, como juegos o conexiones de sincronización como Syncthing.

Lo harías, pero sería más seguro que simplemente dejarlo abierto. No consume mucha batería mantenerlo encendido, pero puedes configurar accesos directos para activarlo o desactivarlo según sea necesario.

Si decides abrirlo, asegúrate de tener una página de inicio de sesión en todo, obliga a 2FA en cada cuenta, usa certificados SSL para HTTPS, ya sea en Nextcloud directamente o usando un reverse proxy, y mantiene el software actualizado con parches de seguridad.

Para esto, necesitas un servicio de DNS dinámico como DuckDNS para que tu proveedor no cambie tu IP y pierdas la conexión. Recomiendo usar la ruta del reverse proxy con algo como el servicio/container Swag, que puede hacer auto-renovación de SSL y tiene configurado fail2ban para proteger contra ataques DDoS.

Estoy confundido, usas Cloudflare Tunnel pero tu dominio no está en DNS de Cloudflare. No pensaba que eso fuera posible.

Normalmente se coloca el dominio en DNS de Cloudflare y luego se configuran los Tunnels. ¿Cómo hiciste?

No es una ‘idea muy mala’, es cómo funciona toda la web.

Probablemente Namecheap sea su registrador y delegan los servidores de nombres en Cloudflare.

En la configuración DNS de Namecheap, puse los 2 servidores de nombres proporcionados por Cloudflare. Para que esto funcione, tuve que seleccionar ‘DNS personalizado’ en las opciones de Namecheap.

Al intentar agregar un subdominio en Namecheap, dice que las configuraciones no pueden ser ‘DNS personalizado’.

Claro, pero la mayoría de los sitios web están en servidores independientes, así que si se comprometen, no tendrán acceso a tu LAN ni a tus dispositivos personales. También tienen personas capacitadas que se encargan de la seguridad, revisan changelogs y vulnerabilidades.

Puedes alojar servicios públicamente si quieres, no es tan aterrador como piensan quienes hacen auto hospedaje, pero requiere dedicación. Si no tienes las habilidades y el tiempo, es más seguro usar VPN.

Ya no agregas registros DNS en Namecheap, lo haces en Cloudflare.

Y para los nombres de host públicos en un túnel, Cloudflare añadirá automáticamente el registro DNS cuando configures el nombre en el túnel.

[Este usuario ha dejado Reddit porque los moderadores no quieren que esté en Reddit]

Gracias, esa es la indicada. Encontré una guía en YouTube más reciente y ya está todo resuelto.

La mayoría de los auto hospedadores simplemente usan una imagen Docker y lo dejan correr. No son lo más avanzado ni nada.

¿Puedes proporcionar el enlace del video de YouTube que muestra esto con un subdominio? Estoy tratando de hacer lo mismo, gracias.