Per accedere a Home Assistant da fuori casa hai bisogno di un indirizzo stabile che punti alla tua rete domestica. Il problema? La maggior parte delle connessioni Internet casalinghe ha un IP pubblico dinamico che cambia periodicamente (a volte ogni giorno, a volte ogni settimana).
Un servizio DDNS (Dynamic DNS) risolve questo problema: ti fornisce un nome dominio fisso (es: miacasa.duckdns.org) che viene automaticamente aggiornato ogni volta che il tuo IP cambia.
DuckDNS è il servizio più citato nelle guide Home Assistant, ma molti utenti lamentano instabilità e downtime frequenti. Fortunatamente esistono alternative gratuite più affidabili.​
Cosa vedremo in questa guida:
-
Configurazione DuckDNS (per chi vuole provarlo)
-
deSEC.io: l’alternativa stabile con sottodomini illimitati
-
Altre alternative: Dynu, No-IP, DynDNS.it
-
Certificati HTTPS con Let’s Encrypt
-
Reverse proxy per più servizi (Proxmox, NAS, n8n)
-
Cloudflare Tunnel: la soluzione senza port forwarding
Parte 1: Confronto servizi DDNS gratuiti
Tabella comparativa
Perché scegliere deSEC.io?
deSEC.io (dominio dedyn.io) è un servizio tedesco non-profit che offre:
-
Uptime eccellente: server ridondanti, mai down
-
Sottodomini illimitati: perfetto per chi ha più servizi
-
DNSSEC integrato: sicurezza extra
-
API REST moderna: facile integrazione
-
GDPR compliant: privacy europea
-
100% gratuito: nessun piano a pagamento, nessuna pubblicitÃ
-
Let’s Encrypt DNS challenge: supporto nativo per wildcard
Esempio struttura sottodomini:
tuonome.dedyn.io → Router/principale homeassistant.tuonome.dedyn.io → Home Assistant nas.tuonome.dedyn.io → Synology/TrueNAS proxmox.tuonome.dedyn.io → Proxmox VE n8n.tuonome.dedyn.io → n8n automazioni foto.tuonome.dedyn.io → Immich/PhotoPrism
Parte 2: Configurazione DuckDNS (metodo classico)
Per chi vuole provare DuckDNS
Nonostante i problemi di stabilità , DuckDNS rimane l’opzione più semplice per iniziare grazie all’add-on nativo.
Passo 1: Registrazione DuckDNS
-
Vai su duckdns.org
-
Accedi con GitHub, Google, Twitter o Reddit
-
Nella sezione “domains”, inserisci il nome desiderato (es:
miacasa) -
Clicca “add domain”
-
Copia il token mostrato in alto (ti servirà dopo)
Passo 2: Installa add-on DuckDNS
-
Impostazioni > Add-on > Add-on Store
-
Cerca “DuckDNS”
-
Clicca Installa
Passo 3: Configura add-on
Vai in Configurazione dell’add-on:
domains: - miacasa.duckdns.org token: "IL-TUO-TOKEN-DUCKDNS" aliases: [] lets_encrypt: accept_terms: true certfile: fullchain.pem keyfile: privkey.pem algo: secp384r1
Passo 4: Configura Home Assistant
In configuration.yaml:
http: ssl_certificate: /ssl/fullchain.pem ssl_key: /ssl/privkey.pem
Passo 5: Port forwarding sul router
-
Accedi al router (es:
192.168.1.1) -
Cerca sezione Port Forwarding / NAT / Virtual Server
-
Crea regola:
-
Porta esterna: 443
-
Porta interna: 8123
-
IP interno: IP di Home Assistant
-
Protocollo: TCP
-
Passo 6: Avvia e testa
-
Avvia l’add-on DuckDNS
-
Attendi qualche minuto (generazione certificato)
-
Controlla i log per errori
-
Testa da rete mobile:
https://miacasa.duckdns.org
Parte 3: Configurazione deSEC.io (consigliato)
Perché deSEC è migliore
A differenza di DuckDNS, deSEC offre sottodomini illimitati con un unico account, perfetto per chi gestisce più servizi su Proxmox o ha NAS, server media, ecc.
Passo 1: Registrazione deSEC.io
-
Vai su desec.io
-
Clicca “Create Account”
-
Inserisci email (reale, serve per verificare)
-
Conferma email cliccando link ricevuto
-
Accedi alla dashboard
Passo 2: Crea dominio dedyn.io
-
Nella dashboard, clicca “+ Add Domain”
-
Scegli “dedyn.io subdomain”
-
Inserisci nome desiderato (es:
miacasa→miacasa.dedyn.io) -
Clicca “Save”
Passo 3: Genera token API
-
Vai in “Token Management”
-
Clicca “+ Create Token”
-
Nome:
homeassistant-ddns -
Copia e salva il token (mostrato una sola volta!)
Passo 4: Configura aggiornamento IP automatico
Metodo A: Script in Home Assistant (shell_command)
In configuration.yaml:
shell_command:
update_desec_ip: >
curl -X GET "https://update.dedyn.io/?hostname=miacasa.dedyn.io"
-H "Authorization: Token IL-TUO-TOKEN-DESEC"
Crea automazione per aggiornare ogni ora:
automation:
- alias: "Aggiorna IP deSEC ogni ora"
trigger:
- platform: time_pattern
hours: "/1"
action:
- service: shell_command.update_desec_ip
Metodo B: Integrazione custom HACS
Esiste un’integrazione custom per deSEC:
-
HACS > Integrazioni > Menu (3 puntini) > Repository personalizzati
-
Aggiungi:
https://github.com/JugglerLKR/desec_dedyn -
Categoria: Integrazione
-
Installa “deSEC dedyn.io”
-
Riavvia Home Assistant
-
Configura in
configuration.yaml:
desec_dedyn: token: "IL-TUO-TOKEN-DESEC" domain: "miacasa.dedyn.io"
Metodo C: Script standalone (Proxmox/Docker/Linux)
Se hai un server sempre acceso (Proxmox, Raspberry Pi), crea script dedicato:
#!/bin/bash # /opt/scripts/update-desec.sh TOKEN="IL-TUO-TOKEN-DESEC" DOMAIN="miacasa.dedyn.io" curl -s "https://update.dedyn.io/?hostname=$DOMAIN" \ -H "Authorization: Token $TOKEN"
Aggiungi a crontab (crontab -e):
*/15 * * * * /opt/scripts/update-desec.sh > /dev/null 2>&1
Passo 5: Creare sottodomini per altri servizi
La vera potenza di deSEC: un dominio principale con infiniti sottodomini!
-
Nella dashboard deSEC, clicca sul tuo dominio (
miacasa.dedyn.io) -
Clicca “+ Add Record”
-
Per ogni servizio, crea un record A o CNAME:
Record A (IP diretto):
Nota: Lasciando il campo IP vuoto, deSEC usa l’IP del dominio principale (aggiornato automaticamente).
Oppure Record CNAME (punta al dominio principale):
Risultato finale:
-
homeassistant.miacasa.dedyn.io→ Home Assistant -
nas.miacasa.dedyn.io→ Synology/TrueNAS -
proxmox.miacasa.dedyn.io→ Proxmox VE -
n8n.miacasa.dedyn.io→ n8n
Parte 4: Certificati HTTPS con Let’s Encrypt
Metodo A: Add-on Let’s Encrypt con DNS Challenge
Il DNS challenge è il metodo migliore perché:
-
Non richiede porta 80 aperta
-
Supporta certificati wildcard (
*.miacasa.dedyn.io) -
Funziona anche con CGNAT
Installa add-on Let’s Encrypt:
-
Impostazioni > Add-on > Add-on Store
-
Cerca “Let’s Encrypt” (non DuckDNS!)
-
Installa
Configurazione per deSEC:
email: tua@email.com domains: - miacasa.dedyn.io - "*.miacasa.dedyn.io" certfile: fullchain.pem keyfile: privkey.pem challenge: dns dns: provider: dns-desec desec_token: "IL-TUO-TOKEN-DESEC"
Configurazione per DuckDNS:
email: tua@email.com domains: - miacasa.duckdns.org certfile: fullchain.pem keyfile: privkey.pem challenge: dns dns: provider: dns-duckdns duckdns_token: "IL-TUO-TOKEN-DUCKDNS"
Avvia l’add-on e controlla i log. Il certificato wildcard coprirà automaticamente tutti i sottodomini!
Metodo B: Certbot su server esterno (Proxmox/Docker)
Se gestisci certificati centralmente su Proxmox:
# Installa certbot apt install certbot python3-certbot-dns-desec # Crea file credenziali echo "dns_desec_token = IL-TUO-TOKEN" > ~/.secrets/desec.ini chmod 600 ~/.secrets/desec.ini # Genera certificato wildcard certbot certonly \ --authenticator dns-desec \ --dns-desec-credentials ~/.secrets/desec.ini \ -d "miacasa.dedyn.io" \ -d "*.miacasa.dedyn.io"
Parte 5: Reverse proxy per più servizi
Perché serve un reverse proxy?
Con un solo IP pubblico e una sola porta 443, come raggiungi servizi diversi? Il reverse proxy legge il dominio richiesto e instrada al servizio corretto:
Richiesta: homeassistant.miacasa.dedyn.io
↓
Reverse Proxy (porta 443)
↓
Instrada a: 192.168.1.10:8123 (Home Assistant)
Richiesta: nas.miacasa.dedyn.io
↓
Reverse Proxy (porta 443)
↓
Instrada a: 192.168.1.20:5000 (Synology)
Opzione A: NGINX Proxy Manager (consigliato per semplicità )
NGINX Proxy Manager ha interfaccia web intuitiva, perfetto per gestire più servizi.
Installazione su Docker/Proxmox:
# docker-compose.yml
version: '3'
services:
npm:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '443:443'
- '81:81' # Admin panel
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
docker-compose up -d
Accedi: http://IP_SERVER:81
-
Email:
admin@example.com -
Password:
changeme
Configura proxy host per Home Assistant:
-
Hosts > Proxy Hosts > Add Proxy Host
-
Details:
-
Domain Names:
homeassistant.miacasa.dedyn.io -
Scheme:
http -
Forward Hostname:
192.168.1.10(IP di HA) -
Forward Port:
8123 -
Websockets Support (importante per HA!)
-
-
SSL:
-
Request new SSL Certificate
-
Force SSL
-
HTTP/2 Support
-
-
Save
Ripeti per ogni servizio (NAS, Proxmox, n8n, ecc.)
Opzione B: Add-on NGINX in Home Assistant
Se vuoi tutto dentro Home Assistant:
-
Impostazioni > Add-on > Add-on Store
-
Cerca “NGINX Home Assistant SSL proxy”
-
Installa e configura:
domain: homeassistant.miacasa.dedyn.io certfile: fullchain.pem keyfile: privkey.pem hsts: "max-age=31536000; includeSubDomains" cloudflare: false customize: active: false
Nota: Questo add-on gestisce solo Home Assistant, non altri servizi.
Opzione C: Traefik (avanzato, per Docker)
Per setup Docker avanzati, Traefik con auto-discovery:
# docker-compose.yml con Traefik
version: '3'
services:
traefik:
image: traefik:v3.0
command:
- "--providers.docker=true"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.desec.acme.dnschallenge.provider=desec"
environment:
- DESEC_TOKEN=IL-TUO-TOKEN
ports:
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
homeassistant:
image: homeassistant/home-assistant
labels:
- "traefik.http.routers.ha.rule=Host(`homeassistant.miacasa.dedyn.io`)"
- "traefik.http.routers.ha.tls.certresolver=desec"
Parte 6: Alternative senza port forwarding
Cloudflare Tunnel (zero esposizione)
Se non puoi aprire porte (CGNAT) o vuoi massima sicurezza, Cloudflare Tunnel crea un tunnel criptato senza esporre nulla:
Come funziona:
Home Assistant → Cloudflare Tunnel → Internet
(nessuna porta aperta)
Requisiti:
-
Account Cloudflare (gratuito)
-
Dominio proprio (anche economico, ~10€/anno) OPPURE dominio Cloudflare gratuito
Setup veloce:
-
Registrati su cloudflare.com
-
Aggiungi dominio (se hai dominio proprio) o usa Cloudflare Tunnel standalone
-
Installa add-on Cloudflared in Home Assistant:
-
Add-on Store > Cerca “Cloudflared”
-
-
Configura seguendo wizard Cloudflare Zero Trust
Pro:
-
Zero port forwarding
-
Protezione DDoS inclusa
-
Funziona con CGNAT
-
Molto veloce (CDN globale)
Contro:
-
Traffico passa da server Cloudflare (privacy?)
-
Richiede dominio proprio per massima flessibilitÃ
-
Configurazione più complessa
Tailscale / ZeroTier (VPN mesh)
Per accesso solo personale (non condivisibile facilmente):
Tailscale:
-
Installa add-on Tailscale in Home Assistant
-
Accedi con account Tailscale
-
Installa app Tailscale su smartphone
-
Accedi a HA tramite IP Tailscale (es:
100.x.x.x:8123)
Pro: Semplicissimo, molto sicuro, funziona ovunque
Contro: Richiede app su ogni dispositivo, non condivisibile con link
Nabu Casa (a pagamento, semplicissimo)
Per chi vuole zero configurazione e supportare gli sviluppatori:​
-
Costo: $6.50/mese (o 65€/anno)
-
Setup: 2 click nell’interfaccia HA
-
Include: Remote access, backup cloud, Alexa/Google integration
Quando scegliere Nabu Casa:
-
Non vuoi configurare nulla
-
Vuoi supportare Home Assistant
-
Hai bisogno di integrazione Alexa/Google semplice
Parte 7: Altre alternative DDNS gratuite
Dynu (ottima alternativa)
dynu.com è considerato il miglior DDNS gratuito generale:
Registrazione:
-
Vai su dynu.com > Create Account
-
DDNS Services > Add
-
Scegli dominio (es:
miacasa.dynu.net)
Aggiornamento IP con curl:
curl "https://api.dynu.com/nic/update?hostname=miacasa.dynu.net&username=USER&password=PASS"
Pro: Molto stabile, tanti domini disponibili, TTL 30 secondi
Contro: Interfaccia meno moderna
No-IP
noip.com è storico ma richiede conferma mensile:
Limitazioni free:
-
Massimo 3 hostname
-
Conferma email ogni 30 giorni (altrimenti cancellato!)
Pro: Client ufficiale per molti router
Contro: Conferma mensile fastidiosa
DynDNS.it (italiano)
dyndns.it per chi preferisce servizio italiano:
Pro: Server in Italia, supporto italiano
Contro: Meno diffuso, documentazione limitata
Parte 8: Troubleshooting problemi comuni
“Certificato non valido” / “Connessione non sicura”
Cause:
-
Certificato non ancora generato
-
Certificato scaduto (non rinnovato)
-
Dominio non corrisponde al certificato
Soluzioni:
-
Controlla log add-on Let’s Encrypt
-
Verifica che automazione rinnovo funzioni
-
Per wildcard, assicurati di aver incluso
*.dominio.tld
“Impossibile raggiungere il sito”
Checklist:
-
Port forwarding configurato? (443 → 8123)
-
IP aggiornato su DDNS?
-
Firewall router permette connessioni?
-
ISP non blocca porta 443?
-
CGNAT attivo? (se sì, serve Cloudflare Tunnel o VPN)
Test port forwarding:
Vai su canyouseeme.org e testa porta 443.
“Funziona da rete mobile ma non da casa”
Causa: Hairpin NAT non supportato dal router.
Soluzioni:
-
Usa IP locale quando sei a casa
-
Configura DNS locale per risolvere dominio a IP interno
-
Usa app Companion che gestisce automaticamente
Come verificare se hai CGNAT
Se il tuo ISP usa CGNAT, non puoi aprire porte:
-
Trova il tuo IP pubblico su whatismyip.com
-
Accedi al router e trova “WAN IP” o “IP pubblico”
-
Se sono diversi → hai CGNAT
Soluzioni con CGNAT:
-
Chiedi IP pubblico all’ISP (a volte gratuito, a volte costa)
-
Usa Cloudflare Tunnel
-
Usa Tailscale/ZeroTier
-
Usa Nabu Casa
Conclusioni
L’accesso remoto a Home Assistant non deve essere complicato né inaffidabile. Se DuckDNS ti ha deluso, le alternative non mancano:
Raccomandazioni finali:
Il setup ideale per power user:
-
deSEC.io per DDNS stabile con sottodomini
-
NGINX Proxy Manager per gestire tutti i servizi
-
Let’s Encrypt wildcard per HTTPS su tutto
-
Tutto dietro un’unica porta 443
Con questa configurazione puoi raggiungere Home Assistant, NAS, Proxmox, n8n e qualsiasi altro servizio con URL dedicati, tutti con HTTPS valido e aggiornamento IP automatico.
