network
Photo by Praveen kumar Mathivanan on Unsplash

Instalación de DuckDNS en Home Assistant. Acceso remoto desde internet.

En este post haremos que nuestro sistema domótico sea accesible desde cualquier lugar del mundo con la instalación de DuckDNS en home assistant… Con paciencia (y con seguridad)

Instalación de DuckDNS en home assistant.

En esta ocasión vamos a preparar nuestro sistema domótico compuesto por el software Home Assistant ejecutándose en una Raspberry PI. para que podamos acceder de forma remota cuando no estemos conectados a nuestra red de casa.

Acceso a Home Assistant de forma remota desde internet

En esta otra entrada vimos que aunque nuestro sistema no sea accesible desde internet, podemos empezar a ver todo su potencial con algunas integraciones de equipos ya existentes en nuestra red.

Pues bien, ahora vamos a incluir la posibilidad de ver desde cualquier rincón del mundo todos esos dispositivos y todas las opciones que estén disponibles con la Instalación de DuckDNS en home assistant.

Prestaremos especial atención a la seguridad, pues desde este momento cualquiera podría iniciar ataques que podrían en riesgo nuestra privacidad o incluso nuestra seguridad física al poder controlar dispositivos de casa.

Vamos manos a la obra.

Instalación de duckdns en home assistant


Entender el servicio DNS

La red Internet (WAN) no se diferencia demasiado de una red doméstica (LAN), aparte de por el tamaño, obviamente. La regla básica es que en una misma red las direcciones IP deben ser únicas. Si queremos conectar dispositivos de la misma red podremos usar un switch, pero pasar de una red a otra tendremos que usar un router.

En el caso del router que nos instala nuestro proveedor de internet en nuestra casa, suele integrar un pequeño switch con unos pocos puertos.

Por tanto, nosotros saldremos a internet con una IP única dentro de lo que es internet en todo momento, y como hemos comentado antes, muy recomendable usar encriptación SSL para evitar que puedan leer los paquetes de datos.

Hasta aquí la teoría, pero nos queda un pequeño detalle. Las empresas proveedoras de servicios (ISP) compran un rango de direcciones IP que asignarán a sus clientes. Para optimizar no siempre asignarán la misma IP al mismo cliente. Es decir, esta dirección IP pública será dinámicana y no podemos usarla en nuestro navegador al llamar a nuestro equipo de casa pues puede cambiar.

Necesitamos un servicio externo que haga de directorio. Este servicio devolverá una dirección IP (la IP pública que tengamos en ese momento) cuando alguien acceda a nuestro dominio https://www nuestroDominio.com

Para complicar las cosas algunos proveedores sí comparten al mismo tiempo una única IP con una técnica llamada NAT (Network Address Translation), por lo que primero deberemos consultar si tenemos la mala suerte de que sea nuestro caso.

Resumiendo: Accederemos desde cualquier navegador usando un nombre de dominio único que nunca cambiará, ya que el servicio DNS lo traducirá internamente y de forma transparente en la IP pública de nuestro sistema en ese momento.

El servicio DNS dinámico gratuito que nos permitirá acceder remotamente a nuestro Home Assistant desde internet será DuckDNS. Sigue leyendo y veremos cómo configurarlo.


DuckDNS

DuckDNS quizás sea el servicio DNS gratuito más usado. La forma de tener acceso en DuckDNS será logeándonos con alguna cuenta (Google, Reddit, Twitter o GitHub entre otras)

Los pasos serán los siguientes:

1. Creando el subdominio

Desde la propia página de DuckDNS y una vez logeados y pasado algún captcha para verificar que somos humanos, directamente teclearemos el nombre del subdominio por el que se nos conocerá en internet. Aqui se puede usar cualquier cadena válida que no esté usada ya. Algo fáicl de recordar que no de mucha información. Puede ser las inciales de vuestro nombre seguidas de las inciales de vuestra ciudad…. Lo que os apetezca. Nuestro dominio completo tendrá la forma http://nuestroDominio.duckdns.org

Instalación de duckdns en Home Assistant

Y nos aparecerá la dirección IP pública que tiene en ese momento nuestro reciente dominio:

2. Anotando los datos importantes

En la parte superior de duckdns.org aparecen los siguientes datos. Aparte del nombre de vuestro dominio, debéis anotar el token asignado, pues nos hará falta para el siguiente paso:

3. Instalando el Addon DuckDNS en Home Assistant

Viene el paso de instalar el Addon correspondiente en nuestro Home Assistant. En este enlace tenéis cómo se realiza la instalación inicial y la forma de acceder

Accedemos al menú Supervisor y buscamos en Addon Store el complemente DuckDNS, y procedemos a la instalación.

Una vez finalizada la instalación podremos acceder a la pantalla principal del mismo:

Os aconsejo que dejéis activada la opción de «Start on boot» y «Watchdog». La primera es evidente y la segunda nos arrancará el Addon si alguna vez para.

4. Configurando el Addon DuckDNS

Dentro del Addon DuckDNS veremos la sección Configuration, donde le diremos lo necesario para conectar con nuestra cuenta de DuckDNS.org:

Pondremos tal como se muestra en la imagen nuestro token anotado en el paso 2, así como nuestro subdominio delante de .duckdns.org

Es importante dejar la opción certfile y keyfile para poder acceder con ssl (url comenzando con https)

Como siempre en todos nuestros ficheros .yaml debemos ser cuidadoso con los espacios, pues no es muy flexible en cuanto a formato se refiere.

Nos queda incluir en nuestro fichero principal de configuraciónde Home Assistant (configuration.yaml) la siguiente información para uso del certificado gratuito de let’s encrypt. Si no sabes cómo editar dicho fichero puedes ver cómo se hace en nuestro post Raspberry PI + Home Assistant paso a paso.

http:
    #base_url: No usar esta opción. Deprecated
    ssl_certificate: /ssl/fullchain.pem
    ssl_key: /ssl/privkey.pem

Nota: La opción base_url ya no se usa en las últimas versiones. La podéis comentar con # o sencillamente eliminarla.

Tendremos que resetear Home Assistant para que tome la nueva configuración: En el menú Connfiguration, la opción Server Controls:

Siempre chequearemos primero que nuestro fichero configuration.yaml es correcto con la opción «CHECK CONFIGURATION» para luego resetear. Perderemos la conexión un momento mientras vuelve a arrancar.

5. Mapeado de puertos

Como paso final, es necesario decirle a nuestro router a qué puertos de nuestra raspberry debe acceder (en el protocolo TCP) con el mapeo adecuado. Os dejo la configuración de los 3 puertos a dirigir:

6. Pruebas

Ahora tendremos posibilidad de acceso a nuestra máquina con 2 accesos distintos:

– Acceso local

En cualquier ordenador o móvil conectado a nuestra red tecleamos

https://nuestra-ip-local:8123

En este caso, nuestra-ip-local será la que pusimos fija en nuestro router (ver Raspberry PI + Home Assistant paso a paso)

– Acceso remoto

Para hacer la prueba de acceso a Home Assistant de forma remota desde internet y terminar con la Instalación de duckdns en home assistant, usaremos nuestro móvil. Tendremos que desconectarnos momentáneamente de nuestra red Wifi y accederemos a internet con los datos de nuestro proveedor de telefonía. En este caso la url será:

https://nuestroDominio.duckdns.org:8123

Si quieres empezar a ver toda la potencia de Home Assistant, no te pierdas esta otra entrada con dispositivos baratos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *