Como instalar e configurar o add-on DuckDNS (Hassio)

Boas Pessoal,
@j_assuncao Depois da nossa conversa de hoje à tarde, decidi mesmo antes de colocar o SSD, fazer as alterações do http, para ver o resultado.

@RodolfoVieira Sei que não gostaste mesmo nada de ver o base_url em baixo do tts. :slight_smile:

Desliguei o dnsmasq e o nginx.

Consigo aceder por fora a https://myduckname.duckdns.org:8123
Consigo aceder por dentro a https://ipdohassio:8123

Mas não consigo aceder por dentro a http://ipdohassio:8123

DuckDNS Config:

lets_encrypt:
  accept_terms: true
  certfile: fullchain.pem
  keyfile: privkey.pem
token: 444444444444444444444444444
domains:
  - myduckname.duckdns.org
seconds: 300

Configuration.Yaml:

# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
http:
  base_url: http://ipdohassio:8123
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem

# Text to speech
tts:
  - platform: google_translate

Não consegues por http dentro da tua rede porque as entradas SSL estão activas mas é assim mesmo que têm de estar.

Quando estás dentro da tua rede deves usar SEMPRE o IP do HA e não o endereço do DuckDNS. Se usares dentro da tua rede o endereço do DuckDNS o que vai acontecer é que todos os pedidos que forem feitos ao HA vão sair da tua rede interna até ao servidor do DuckDNS (algures na internet) e voltar novamente para a tua rede interna (passando certamente por uma dezena de servidores nesse caminho). Ora o objectivo de ter o HA na rede interna é o tráfego não sair para fora da rede interna e manter o máximo de segurança.

@j_assuncao Se dizes que é assim que deve estar, é assim que estará. Menos um problema.

Entretanto o config do NodeRed, com esta configuração http, mantenho assim?

credential_secret: password
dark_mode: false
http_node:
  username: ''
  password: ''
http_static:
  username: ''
  password: ''
ssl: true
certfile: fullchain.pem
keyfile: privkey.pem
require_ssl: false
system_packages: []
npm_packages: []
init_commands: []

Ou coloco o require_ssl: true ?

Podes passar para true sem problema uma vez que responde ao https dentro da tua rede. Aliás se reiniciares o NR agora ele até deve dar um warning por teres o ssl desligado.

1 Curtiu

Ok Jorge.

Sim verdade. Uma série de Warnings vermelhos desde que tenho o NR com o ssl desligado.

Olá pessoal!

Gostava de vos pedir uma ajudinha. São duas dúvidas, na verdade.
Tenho o duckdns a funcionar e consigo aceder desde dentro da rede usando o IP e pela internet usando o endereço duckdns. Está tudo a funcionar mas a minha configuração está diferente do vídeo e instruções do @RodolfoVieira por isso devo estar a fazer alguma coisa mal.

1ª questão: Usando a internet, só consigo aceder pelo link https://endereço.duckdns.org em vez de https://endereço.duckdns.org:8123
Isto é, se adicionar a porta não consigo aceder. Diz-me “unable to connect”
Há algum problema aqui ou posso deixar tudo como está?

2ª Questão: para já tenho isto sem password porque não sei bem como a adicionar no configuration.yaml. Vi que há algumas breaking changes recentes e não queria break nada. :smile:
A minha configuração é a seguinte.
Portas do router:

add-on duck dns:

lets_encrypt:
  accept_terms: true
  certfile: fullchain.pem
  keyfile: privkey.pem
token: meu_token
domains:
  - endereço.duckdns.org
seconds: 300

configuration.yaml:

http:
 base_url: 192.168.1.77:8123
 ssl_certificate: /ssl/fullchain.pem
 ssl_key: /ssl/privkey.pem

Finalmente, não sei se isto interessa ou não, mas o início do meu configuration.yaml está comentado:

# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
# http:
#   base_url: example.duckdns.org:8123

Já exprimentaste assim:

http:
 base_url: teuendereco.duckdns.org:8123
 ssl_certificate: /ssl/fullchain.pem
 ssl_key: /ssl/privkey.pem

Obrigado pela resposta!
Continua tudo igual. Continuo a conseguir aceder pela rede interna via IP.
Pela internet também acedo mas só sem a porta no endereço duck dns. Se adicionar a porta agora diz connection timed out.
Era só mesmo para perceber o que estou a fazer mal porque está a funcionar.

Em relação à minha segunda pergunta. Como adicionar uma PW para aceder pela internet.
como ficaria o configuration.yaml? algo assim?

http:
 base_url: 192.168.1.77:8123
 ssl_certificate: /ssl/fullchain.pem
 ssl_key: /ssl/privkey.pem

auth_providers:
 - type: homeassistant
 - type: legacy_api_password
  api_password: !secret duckdns_password

aqui crio uma pw que quiser?

api_password: !secret duckdns_password

Mas isso é um problema? O HA é para ser SEMPRE acedido pelo IP dentro da rede interna.

Que versão do HA tens? O HA desde à muitas versões que obriga a aceder com password… Além disso se mandares o browser gravar a password não irás ver o HA a pedir a password.

Tenho a versão 0.106.4. Não expliquei bem a minha dúvida. Eu tenho de inserir a minha pw de utilizador ao entrar. Isso funciona bem. A dúvida é só se a ligação está protegida mesmo sem estas linhas no configuration yaml:

auth_providers:
 - type: homeassistant
 - type: legacy_api_password
  api_password: !secret duckdns_password

Ou não preciso disso para nada? Honestamente não sei o que fazem essas linhas.

E sem essas linhas o HA pede-te a password ao entrar?

Sim, mesmo sem essas linhas pede a minha pw de utilizador. Se é seguro por mim tudo bem. Fico bem assim. :slight_smile:

1 Curtiu

Boa tarde,
Para abrir a porta no router meo, quando vou tentar escolher o dispotivo (neste caso uma box android) ao escolher, salta para o “desktop…” em vez de ficar no dispositivo “aml” e nao deixa escolhar, alguem sabe porque?

Se estás a abrir a porta 8123 porque é que tens o CCTV escolhido?

nao sabia o que escolher :smile:

Boa noite a todos. Antes de mais parabéns pela existência desta comunidade em língua portuguesa para ajudar e trocar ideias acerca do Home Assistant. Tenho uma pergunta que já procurei bastante mas ainda não consegui entender completamente. Já vi situações em que o acesso remoto ao HA é configurado utilizando apenas o DuckDNS com o serviço Let’s Encript mas noutros casos é utilizado em conjunto com o NGINX. Agradecia se me conseguissem explicar qual a diferença e vantagens entre as duas opções e se uma delas é mais ou menos segura que a outra?

Muito Obrigado

Para quem começa, e usa precisa apenas de acesso ao HA, a opção do addon DuckDNS é a melhor por ser mais simples.

A utilização do NGINX Proxy Manager é para situações muito especificas em que existem vários serviços que necessitam de ser encaminhados para portas e endereços internos diferente (HA, Plex, PiHole, etc.). Para esta opção é necessário ter um domínio próprio e utilizar subdomínios para cada serviço.

Muito obrigado pela resposta. Aproveito para fazer mais uma pergunta: do ponto de vista da segurança da rede a utilização do DuckDNS é relativamente segura? Claro que a exposição do HA (tal como qualquer serviço) em rede é sempre mais uma porta aberta e mais uma hipótese para ter problemas de segurança. Mas do conhecimento que têm (sou novo nestas coisas do HA) o acesso remoto ao HA utilizando um serviço como o DuckDNS é um método razoavelmente seguro e recomendado?

Diria que se usares juntamente com o Multi-factor Authentication Modules que podes activar no HA no teu profile, já ficas com o sistema minimamente seguro, e claro com uma pass forte como por exemplo: sK4$L45!o9d$ não será muito fácil entrarem no teu HA.
Existe outras alternativas no que diz respeito a segurança, mas nao são para ser debatidas neste tópico.


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade