Acesso externo direto HTTPS: DuckDNS

Olá, bem vindo ao tutorial para instalar o DuckDNS e ter acesso externo ao Home Assistant!

Antes de seguir o tutorial do DuckDNS e ter acesso externo ao Home Assistant primeiro vamos verificar se existe um CGNAT na sua internet!

Verificando CGNAT:

Mas o que é um CGNAT?

CGNAT, ou Carrier Grade Network Address Translation, é um intermediário entre sua rede doméstica e a internet, implementada a nível de provedor de acesso.

Provedores de acesso a internet estão compartilhando os escassos endereços IPv4 entre diferentes consumidores. Antes da crise de IPV4, existiam dois tipos de consumidores: aqueles com um IP dinâmico, que recebiam um endereço para seus dispositivos a cada conexão, e aqueles com um IP fixo, que pagavam mais caro, mas tinham sempre o mesmo endereço IP fixo e poderiam, se assim o desejassem, hospedar serviços de internet. A semelhança entre os dois tipos de clientes é que ambos contavam com um IP único, exclusivo, para identificação e conexão.

Entretanto, com a adoção do CGNAT, os provedores de acesso pode atribuir o mesmo endereço IP para diferentes usuários ao mesmo tempo, direcionando-os através de portas diferentes.

Então você pode estar compartilhando o mesmo IP externo com outros usuários e dessa forma não é possível realizar acesso externo ao Home Assistant, você deveria ter um IP único.

Mas como verificamos isso?

Entre no site meuip.com.br e anote o seu IP que aparece no site!

https://www.meuip.com.br

Entre no seu roteador e verifique se é o mesmo IP que aparece! Geralmente fica na aba WAN Status. Verifique o IPv4 Address.

Se os endereços de IP forem iguais você não tem CGNAT e está liberado para ter acesso externo e continue o tutorial!

Se os endereços de IP forem diferentes entre em contato com a sua operadora de internet e solicite a retirada do CGNAT e um IP único!

Instalando o DuckDNS:

Documentação do DuckDNS no site oficial do Home Assistant .

Tutorial Oficial:

  1. Acesse o site https://www.duckdns.org/ e faça login.

Ccrie um endereço para seu Home Assistant e pegue o token que irá mostrar na tela.
Exemplo: minhacasa.duckdns.org

  1. Instale o add-on DuckDNS na Loja de Add-ons;

Vá em Configurações, clique em Add-ons;

Clique em Loja de Add-ons.

Procure o DuckDNS.

  1. Clique em Ajustes dentro nas opções do DuckDNS, configure o add-on colocando o token e seu domínio do DuckDNS, além de colocar “true” nos termos conforme a imagem abaixo. Clique em Salvar.

  1. Inicie o DuckDNS.

  1. Com o DuckDNS iniciado configure seu Home Assistant dentro do arquivo configuration.yaml com a seguintes configurações e reinicie o seu Home Assistant.
http:
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem

Sem título

  1. Configure seu roteador para encaminhar as portas necessárias.

Será preciso acessar as configurações do seu roteador, verifique atrás do roteador uma etiqueta com o endereço para o acesso pelo navegador de internet, o login e senha do roteador.

Nas configurações do roteador você deverá encontrar uma aba com o nome “Port Forward”.
Nela você precisará criar uma regra para encaminhar a porta externa para a porta interna que está o seu Home Assistant.

Observando que você só precisará criar a regra de encaminhamento da porta pelo protocolo TCP.

A porta interna (LAN) do seu Home Assistant é a 8123.

A porta externa (WAN) vai variar dependendo da sua finalidade, se quer só ter acesso externo pode usar a porta 8123 como externa.
Se for realizar o tutorial para ter os dispositivos do Home Assistant no Google Home pode usar a porta 8123. (Tenha seu Home Assistant na Google Assistant)
Se for realizar o tutorial de ter os dispositivos do Home Assistant na Alexa vai precisar da porta 443 ou da 8443 (a Amazon só aceita essas portas).
( Tenha seu Home Assistant na Alexa)

Antes de qualquer coisa entre no site “You get signal” para testar se as portas estão disponíveis!

No site em Port Number preencha com as portas que quer testar e clique em “Check”.
Em baixo vai aparecer se a porta está fechada (closed) ou aberta (open).

No site vai verificar as portas, portas como 443 e a 80 geralmente são bloqueadas pelas operadas, mas as portas 8123 e 8443 com regras de encaminhamento no roteador elas podem ser abertas mas isso você deve ir testando se você pode abri-las ou se estão mesmo bloqueadas pela operadora.

No seu roteador em “Port Forward” crie as regras e teste no site se a porta foi aberta.

Portas que antes da regra estavam fechadas podem ser abertas. (Comigo a porta 8443 estava fechada, criei a regra e a porta foi aberta)

  1. Vá no seu Perfil e ative o Modo Avançado!

  1. Vá em Configurações, depois em Sistema, depois em Rede e preencha as opções de Internet e Rede local como na imagem abaixo, clique em Salvar.

  1. Reinicie o Home Assistant para que as alterações configuradas entrem em vigor. Ao acessar o frontend do Assistente Home, agora você precisará usar https, mesmo acessando pelo IP local do seu HA, por exemplo, https://192.168.1.xxx:8123.

Para acessar internamente vai deixar de ser pelo http e vai usar o https!

Agora já pode utilizar o aplicativo do Home Assistant e acessar externamente. Utilizando o aplicativo do Home Assistant terá os sensores do seu smartphone disponíveis para criar automações.

Aqui tem um vídeo com o tutorial:

É isso, um abraço!

10 Likes

Boa noite pessoal, com relação a conexão externa para o homeassistant eu estou usando um VPN chamado Zero Tier One e faço a conexão por ele quando estou fora de casa, eu moro em Sao Paulo e usei esta conexão em Minas Gerais via celular sem problemas, muito bom, eu recomendo. Espero ajudar a quem esta interessado. Valeu

1 Like

Pra mim nao funcionou :frowning:

o que não funcionou?
Fiz hoje em 2 cartões SD e deu certo.
Qual dos passos?

se eu acessar meu ha com https://meuhost.dockdns.org:8123 ele acessa mas se eu não colocar o 8123 ele não acessa.
Ou seja só acessa se eu colocar a porta

vc tem que colocar o 8213 com https, assim ele redireciona internamente para 443.
esta certo!

Muito Obrigado

Agora to pensando se gasto 30 por mes no nabucasa ou tento seguir os passos pra por a alexa kkk

Deu certo?
Eu fiz hoje de novo para integrar o Google Home e deu certo, tem o passo a passo do Alexia

sim colocando a porta deu certo, interessante que não precisei fazer a parte do dnsmask porque não perdi o acesso pela rede interna.

Obrigado pela Dica

entao, o problema na verdade e se for usar celular se tiver dentro de casa ok
mas se sair, ai precisa colocar o duckdns, e ficar mudando, essa e a parte chata

entendi ai se fizer o dnsmask nao precisa certo?

sim, mas vai sobrecarregar seu rasp
ou se seu provedor nao tiver dnslookup da certo

Pessoal, para acessar rede interna agora foi habilitado tanto no hass como no app.
Para isso no configuration.yaml, so colocar !!!

  external_url: "https://dominio.duckdns.org:8123"
  internal_url: "http://homeassistant.local:8123"

No app precisa definir o nome da sua SSID e ai habilita para colocar a url interna.
Assim, agora ficou 100%

em qual versão? pois tentei aqui e deu erro.

Obrigado Rodrigo por postar sua configuração!

Eu estava algum tempo sem conseguir gerar o certificado ssl, eu tinha um monte de configuração aqui, deletei tudo e refiz tudo como informou e funcionou de primeira. É isto ai! Simples e funcional!
Abraço!

1 Like

Bom dia!
Supervisor 227
Core 112
OS 4.10

Opa que bom que deu certo!

nessa etapa, seria entrar nas configurações do roteador, em servidor virtual e colocar:
porta externa: 443 Porta interna: 8123

ao contrario!!!
8123 externa e 443 interna

Estou com 2 problemas:
1 - Toda vez que reinicio o HA o nginx não inicia no boot
2 - se eu apagar os dados do http como sugerido o HA não inicia