Home Assistant – Acesso Remoto com Cloudflare (DNS vs Tunnel)

Home Assistant – Acesso Remoto com Cloudflare (DNS vs Tunnel)
Tempo de leitura: 5 min de leitura
Link copiado!

Quando a gente fala em casa inteligente/automação residencial, não da pra ignorar a conveniencia de acessar tudo estando fora de casa. Imagine estar viajando e querer abrir a porta para alguém, ou ajustar o ar-condicionado antes de chegar em casa, olhar câmeras ou simplesmente apagar a luz que você esqueceu acesa. Isso tudo parece simples, mas tem um complicador quando se usa o Home Assistant, por padrão ele só funciona dentro da rede local.

Existem vários jeitos de resolver isso. O mais tradicional é abrir uma porta no roteador e usar DuckDNS (caso não tenha IP fixo) com Let’s Encrypt. Funciona, mas tem dois poréns nisso tudo, primeiro que fica menos seguro e não rola se sua operadora usa CGNAT. Outra saída é usar VPN. Segurança ótima, mas nada prático, sempre precisa conectar manualmente. A opção mais simples nesse caso seria o Nabu Casa, muita gente acaba optando por ele, mas tem um custo de US$65/ano, o lado é bom é que apoia os desenvolvedores, é uma boa alternativa, mas não é de graça.

E aí que entra outras soluções, como por exemplo o Cloudflare Tunnel. Ele cria um túnel seguro, sem precisar abrir portas no roteador e integra com Google e Alexa. Além do melhor, você pode usar de graça para isso.

O uso do Cloudflare trás duas opções, uma que é a tradicional, apontando apenas o DNS e a outra usando tunel.

Opção 1 – Cloudflare apenas como DNS

Na prática é criar um registro A no Cloudflare apontando para o IP público da sua casa:

Registro A no Cloudflare apontando para o IP público

O próximo passo é abrir portas no modem/roteador (443 para 8123) e redirecionar para a máquina que roda o Home Assistant. Funciona, mas tem limitações:

  • Se sua operadora usa CGNAT, não rola.
  • Você está expondo sua rede diretamente, o que abre brechas de segurança.
  • Precisa manter a porta aberta e torcer para que ninguém resolva ficar tentando invadir sua rede.

Imagem do UDM-SE bloqueando tentativa de acesso

Como você pode ver, apesar de ser o jeito mais oldschool, não é muito seguro e recomendado. Constantemente meu UDM-SE bloqueia diversas tentativas de acessos e scan.

Opção 2 – Cloudflare Tunnel

Aqui está a mágica moderna. Em vez de abrir portas, o Home Assistant cria um túnel outbound com Cloudflare. O processo de setup é simples:

Criar uma conta e adicionar seu domínio no Cloudflare
Como já mencionei, gratuitamente você pode criar sua conta e colocar seu domínio na Cloudflare, bem como comprar um diretamente pelo sistema de domínios da própria Cloudflare, inclusive foi uma das opções mais acessíveis que achei para domínios .com, os preços variam mas me pareceram mais acessíveis que em outros sites de registro.

Adicionando ou criando domínio na Cloudflare

Instalar o add-on Cloudflared no Home Assistant
Aqui é o pulo do gato de toda essa magia. O plugin Cloudflared. Para instalar o plugin acesse esse link fará com que você adicione o repositório automagicamente e instale no seu Home Assistant.

Configurar o addon e autorizar o túnel
Após instalar o addon, você precisar ir até as configurações e adicionar seu domínio.

Configurar o addon, colocando o seu domínio/sub para acessar o Home Assistant

Após salvar execute o addon, verifique os logs, pois terá o link para autorizar o túnel. Ao acessar a URL, você será direcionado para autorizar o seu domínio ao túnel Cloudflare.

Autorizando domínio na cloudflare

O add-on cria automaticamente um CNAME (ex: homeassistant.seudominio.com) que aponta para o túnel.

Exemplo dos logs do add-on durante a configuração:

[16:06:47] INFO: Checking add-on config...
[16:06:47] NOTICE: No certificate found
[16:06:47] INFO: Creating new certificate...
...
Created tunnel homeassistant with id eb621545-4ced-5527-6615-399c029ce985
[16:07:59] INFO: Finished setting up the Cloudflare Tunnel
[16:07:59] INFO: Connecting Cloudflare Tunnel...
2025-09-30T19:08:01Z INF Registered tunnel connection location=gru18 protocol=quic
2025-09-30T19:08:04Z INF Registered tunnel connection location=gru07 protocol=quic

Agora é a hora de realizar uma pequena configuração no configration.yaml:

http:
  server_port: 8123
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem
  ip_ban_enabled: true
  login_attempts_threshold: 5

No final, seu domínio (homeassistant.seudominio.com) já aponta para o túnel e está configurado, pronto para testes. Verifique os acessos interno e externo para se certificar de que tudo ocorreu bem.

Comparando as duas opções
  • DNS + Port Forwarding
    Simples de entender
    Exposição direta do IP e portas
    Depende de não estar atrás de CGNAT
    Mais vulnerável

  • Cloudflare Tunnel
    Não abre portas no roteador
    Funciona mesmo com CGNAT
    Mais seguro (tráfego outbound-only, criptografado)
    Grátis (só paga o domínio)

Se a ideia é conveniência e segurança, o Tunnel é o caminho natural. O modo DNS puro só faz sentido se você já tem tudo configurado e entende bem os riscos. Para evitar a exposição de IP e portas, recentemente fiz a migração do modelo DNS tradicional para o tunnel, tudo ocorreu bem até agora!