Saltar al contenido

Acceso remoto seguro a Home Assistant: la guía definitiva con Cloudflare

Ya tienes tu instancia de Home Assistant instalada y funcionando. Probablemente ya has configurado tus complementos esenciales e incluso tienes un sistema de copias de seguridad protegiendo tu configuración. Ahora, es el momento de dar uno de los pasos más importantes: abrir tu casa inteligente al mundo exterior de forma segura.

En esta guía te enseñaré a configurar el acceso remoto para que puedas controlar tu casa desde tu móvil, estés donde estés. Y lo más importante: lo haremos utilizando el método más seguro y profesional que existe, sin exponer tu red doméstica y, además, de forma gratuita.

El problema del acceso remoto (y la solución que NUNCA debes usar)

El objetivo es evidente: quieres poder apagar esa luz que te dejaste encendida desde la oficina o ajustar el termostato cuando estás volviendo a casa.

La solución que a muchos se les ocurre primero es la más antigua y, con diferencia, la más peligrosa: abrir puertos en el router (lo que se conoce como port forwarding).

Quiero ser muy claro con esto: no lo hagas nunca.

Abrir un puerto en tu router es el equivalente digital a dejar una puerta de tu casa abierta de par en par, con un cartel luminoso que invita a cualquier persona en internet a intentar entrar. Expone tu red local directamente a ataques y es una brecha de seguridad enorme.

La solución profesional: túneles cifrados con Cloudflare

La solución correcta, la que usan las empresas para proteger sus servicios, se llama túnel cifrado. Aquí es donde entra en juego Cloudflare.

Imagina que, en lugar de abrir la puerta de tu casa, construyes un pasadizo secreto, blindado y cifrado que va directamente desde tu Home Assistant hasta la red segura de Cloudflare. Desde tu móvil, te conectas a Cloudflare, y ellos te dan la llave para usar ese pasadizo.

La gran ventaja es que tu dirección IP real, la de tu casa, nunca queda expuesta. Todo el tráfico pasa por el túnel cifrado de Cloudflare, haciendo que sea infinitamente más seguro que la apertura de puertos.

Requisitos previos

Para implementar esta solución, solo hay un requisito indispensable:

  • Necesitas un dominio propio.

Sé que esto puede sonar complicado o caro, pero es todo lo contrario. Puedes comprar un dominio por menos de 10 euros al año en sitios como Namecheap, Porkbun o similares. Este dominio será tu dirección personal y secreta para acceder a tu casa desde cualquier lugar (por ejemplo: mi-casa-secreta.com).

Guía paso a paso para configurar tu túnel de Cloudflare

Una vez tengas tu dominio, sigue estos pasos.

Paso 1: Configurar tu dominio en Cloudflare

  1. Crea una cuenta gratuita en Cloudflare.
  2. Añade tu dominio a la plataforma. Cloudflare escaneará tus registros DNS actuales.
  3. Durante el proceso, Cloudflare te dará dos direcciones que se llaman «nameservers» (servidores de nombre).
  4. Ve a la web donde compraste tu dominio (Namecheap, etc.) y, en su configuración de DNS, sustituye los nameservers que venían por defecto por los dos que te ha dado Cloudflare.
  5. Este paso le dice a internet que, a partir de ahora, Cloudflare gestionará tu dominio. Ten paciencia, este cambio puede tardar desde unos minutos hasta varias horas en propagarse por todo el mundo.

Paso 2: Crear el túnel en Cloudflare Zero Trust

Cuando Cloudflare te confirme que tu dominio está activo en su plataforma:

  1. En el panel principal de Cloudflare, busca la sección «Zero Trust» en el menú de la izquierda y accede a ella.
  2. Dentro del panel de Zero Trust, ve a Access > Tunnels.
  3. Haz clic en «Create a tunnel». Dale un nombre para identificarlo (por ejemplo: home-assistant) y guárdalo.
  4. En la siguiente pantalla, Cloudflare te dará un token. Es una clave muy larga. Cópiala y guárdala bien, la necesitarás inmediatamente.

Paso 3: Instalar y configurar el add-on en Home Assistant

Ahora, volvemos a nuestra interfaz de Home Assistant:

  1. Ve a Ajustes > Complementos > Tienda de complementos.
  2. Si aún no lo has hecho, añade el repositorio de addons de la comunidad donde se encuentra el de Cloudflare. Uno muy popular es: https://github.com/brenner-tobias/ha-addons
  3. Busca e instala el complemento «Cloudflared».
  4. Una vez instalado, ve a su pestaña de «Configuración».
  5. En el campo external_hostname o similar (depende de la versión del addon), deberás poner el token. En la versión más común del addon, simplemente debes pegar el token que copiaste de Cloudflare en el campo correspondiente (a menudo llamado token o pegándolo directamente si el addon te lo pide al iniciarlo).
  6. Guarda la configuración e inicia el complemento.
  7. Ve a la pestaña «Registro» del complemento para verificar que se ha conectado correctamente. Deberías ver mensajes que confirman la conexión con la red de Cloudflare.

Paso 4: Definir el nombre de host público

Ya tenemos el túnel conectando Home Assistant con Cloudflare. Ahora tenemos que decirle a Cloudflare qué dirección web debe usar:

  1. Vuelve al panel de Cloudflare, en la sección Tunnels donde te quedaste.
  2. Selecciona tu túnel y ve a la pestaña «Public Hostname».
  3. Haz clic en «Add a public hostname».
  4. Subdominio: Aquí pones lo que quieras usar para acceder. Por ejemplo: ha, casa o homeassistant.
  5. Dominio: Selecciona el dominio que has configurado. (La dirección completa sería ha.mi-casa-secreta.com).
  6. Servicio: Indica el tipo HTTP y la dirección interna de tu Home Assistant, que es: homeassistant:8123.
  7. Guarda el hostname.

En este momento, el túnel ya sabe que cuando alguien acceda a ha.mi-casa-secreta.com, debe redirigirlo de forma segura a tu Home Assistant local en el puerto 8123.

Paso 5: Autorizar el proxy en Home Assistant (configuration.yaml)

El último paso es decirle a Home Assistant que confíe en las peticiones que le llegan a través de este túnel.

  1. En Home Assistant, ve a Ajustes > Complementos y abre el «Editor de archivos» (o «File Editor»).
  2. Localiza y abre tu archivo principal de configuración: configuration.yaml.
  3. Añade el siguiente bloque de código. Es crucial para que Home Assistant acepte las conexiones que vienen a través del proxy de Cloudflare:

YAML

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24  # Red interna de los Add-ons de Home Assistant
    # Añade aquí los rangos de IP de Cloudflare si es necesario,
    # aunque con la red interna del add-on suele ser suficiente.
    # Si tienes problemas, añade los rangos de IP de Cloudflare:
    - 173.245.48.0/20
    - 103.21.244.0/22
    - 103.22.200.0/22
    - 103.31.4.0/22
    - 141.101.64.0/18
    - 108.162.192.0/18
    - 190.93.240.0/20
    - 188.114.96.0/20
    - 197.234.240.0/22
    - 198.41.128.0/17
    - 162.158.0.0/15
    - 104.16.0.0/13
    - 104.24.0.0/14
    - 172.64.0.0/13
    - 131.0.72.0/22
  1. Guarda el archivo configuration.yaml.
  2. Ve a Herramientas para desarrolladores > YAML y haz clic en «Comprobar configuración». Si todo es correcto, haz clic en «Reiniciar» (solo el núcleo de Home Assistant).

Paso 6: ¡Prueba tu conexión!

Coge tu móvil, desconéctate de la red WiFi de tu casa para usar los datos móviles. Abre el navegador y escribe la dirección completa que has creado (ej: ha.mi-casa-secreta.com).

Si todo ha salido bien, verás la pantalla de inicio de sesión de tu Home Assistant, accesible de forma segura desde cualquier lugar del mundo.

Próximos pasos

Has completado uno de los pasos más críticos para construir una casa inteligente robusta y segura. Tu instancia ya no es una isla; ahora es accesible, pero protegida.

En la próxima guía, vamos a empezar a poblar nuestra casa inteligente. Te enseñaré a crear nuestra propia red Zigbee usando el complemento Zigbee2MQTT y a añadir nuestros primeros dispositivos, como sensores y bombillas, sin depender de la nube de ningún fabricante.

Únete a la newsletter