Home Assistant

Come configurare il port forwarding in sicurezza per Home Assistant

Configura il port forwarding verso VPN o reverse proxy HTTPS e verifica porte, CGNAT, firewall e accesso esterno senza esporre direttamente Home Assistant.

Il port forwarding inoltra una porta dell’indirizzo pubblico del router verso un host della LAN. La regola non cifra il traffico e non protegge Home Assistant da sola. Per un’installazione corretta inoltra la porta di una VPN o di un reverse proxy HTTPS; evita di pubblicare direttamente la porta HTTP 8123.

Prerequisiti & Hardware Necessario

  • Router con IP pubblico raggiungibile e funzione NAT/Port Forwarding. Con CGNAT una regola IPv4 locale può non essere raggiungibile da Internet.
  • Home Assistant con IP riservato, per esempio 192.168.1.10.
  • Un endpoint sicuro: server WireGuard/Tailscale dove richiesto oppure reverse proxy NGINX/Caddy con certificato TLS.
  • Accesso amministrativo al router e un dispositivo su una rete esterna per i test.
  • Nessun prodotto hardware è necessario per questa guida; il port forwarding è una funzione software del router.

Procedura passo-passo

  1. Definisci l’endpoint corretto. Scegli una sola modalità: VPN, reverse proxy HTTPS oppure, solo se hai configurato TLS direttamente in Home Assistant, HTTPS sul server HA. Non creare regole contemporaneamente verso proxy, VPN e porta 8123 senza sapere quale servizio deve ricevere il traffico.
  2. Riserva l’IP dell’host. Nel router crea una prenotazione DHCP per il server interessato. Esempi: WireGuard 192.168.1.2, reverse proxy 192.168.1.3, Home Assistant 192.168.1.10. Un port forwarding verso un IP assegnato dinamicamente può smettere di funzionare dopo un riavvio.
  3. Configura una sola regola per la VPN. Per WireGuard inoltra UDP 51820 verso l’IP del server WireGuard, per esempio 192.168.1.2:51820. Non inoltrare TCP 8123: il client deve prima entrare nella VPN e poi usare l’indirizzo LAN di Home Assistant.
  4. Configura una sola regola per un reverse proxy HTTPS. Inoltra TCP 443 verso la porta 443 del proxy, per esempio 192.168.1.3:443. Se il metodo di emissione del certificato usa una challenge HTTP, inoltra temporaneamente anche TCP 80 verso il proxy e applica il redirect HTTP→HTTPS. Il proxy deve inoltrare a Home Assistant sulla LAN, non il router direttamente.
  5. Evita la regola diretta 8123. Una regola WAN TCP 8123 → 192.168.1.10:8123 espone il servizio HTTP di Home Assistant se non hai configurato TLS sul server. Se trovi questa regola già attiva, rimuovila prima di testare un metodo più sicuro.
  6. Imposta il firewall con criterio. Il port forwarding non deve aprire altre porte automaticamente. Mantieni bloccato il traffico in ingresso non associato a una regola, consenti solo la porta scelta e limita l’amministrazione del router alla LAN o alla VPN. Non pubblicare SSH, pannelli del router, MQTT o database.
  7. Configura il dominio, se usato. Se usi un hostname DuckDNS o un altro DNS dinamico, verifica che risolva all’IP pubblico corrente. Se il provider cambia IP, il DNS deve essere aggiornato prima del test. Il DNS non sostituisce TLS.
  8. Configura Home Assistant secondo la modalità scelta. Con reverse proxy inserisci in configuration.yaml use_x_forwarded_for: true e l’IP/subnet reale del proxy in trusted_proxies. Con VPN non aggiungere queste opzioni solo perché il traffico arriva da remoto: si applicano al reverse proxy, non al tunnel VPN.
  9. Salva e controlla le regole. Verifica protocollo, porta esterna, IP interno e porta interna. Una regola UDP per un servizio TCP, o un inoltro verso l’IP sbagliato, non può funzionare. Se il router offre hairpin NAT, il test dalla LAN può essere diverso da quello esterno.
  10. Testa da rete mobile. Disattiva il Wi-Fi del telefono e prova la VPN o l’URL HTTPS. Non usare l’IP LAN durante questo test. Verifica login, MFA, dashboard e aggiornamenti live.
  11. Riduci la superficie esposta. Dopo la verifica rimuovi regole temporanee, disabilita UPnP se non ti serve e registra data, scopo e destinazione di ogni regola. Mantieni router, proxy e Home Assistant aggiornati.

Verifica del funzionamento

  1. Dal server locale controlla le porte in ascolto con ss -lntup e verifica che il servizio previsto ascolti sulla porta interna corretta.
  2. Da una rete esterna controlla la risoluzione DNS con nslookup ha.example.it e prova soltanto la porta configurata.
  3. Per HTTPS verifica certificato e intestazioni con curl -I https://ha.example.it. Un certificato valido deve corrispondere al nome usato.
  4. Per WireGuard controlla sul server sudo wg show e verifica che l’handshake si aggiorni.
  5. Controlla nei log del router e del servizio di destinazione che la connessione arrivi all’host previsto.
  6. Da Internet verifica che 8123/TCP non sia aperta direttamente, salvo configurazione TLS esplicita e consapevole sul server HA.

Problemi comuni

ProblemaCausaSoluzione
La porta risulta chiusaCGNAT, IP WAN errato, servizio spento o firewall.Confronta IP WAN e IP pubblico, verifica il servizio interno e controlla il firewall del router.
La porta risponde ma appare Home Assistant in HTTPPort forwarding diretto a 8123 senza TLS.Rimuovi la regola e usa VPN o reverse proxy HTTPS; non inserire credenziali su HTTP pubblico.
HTTPS mostra un certificato erratoDNS verso un IP diverso o certificato emesso per un altro hostname.Correggi record DNS, virtual host e certificato; apri l’URL con il nome coperto dal certificato.
WireGuard non completa l’handshakeProtocollo UDP errato o regola verso l’host sbagliato.Controlla UDP 51820, IP interno, chiavi e log del server VPN.
Funziona in LAN ma non fuoriTest hairpin NAT, firewall WAN o CGNAT.Prova da rete mobile reale e verifica il percorso dall’IP pubblico.

FAQ essenziali

Posso usare una porta esterna diversa da 8123?

Sì, ma cambiare numero non cifra il traffico. La sicurezza deriva da VPN o HTTPS correttamente configurati, non dalla scelta di una porta insolita.

Il port forwarding è necessario con Tailscale o Home Assistant Cloud?

No. Tailscale e Home Assistant Cloud sono progettati per funzionare senza una regola inbound sul router; non aggiungere port forwarding se usi una di queste modalità.

Prodotti consigliati

Hardware pertinente alla guida

Link ai rivenditori

I collegamenti portano alle pagine dei prodotti indicati. Il prezzo Amazon, quando disponibile, proviene dall’API ufficiale ed è aggiornato con data e ora; prezzo e disponibilità finali sono quelli della pagina Amazon.

db-tronic Raspberry Pi 5 8 GB Starter Kit | Edizione 128 GB | Alimentatore da 27 W | Alloggiamento con ventola | Cavo MiProdotto correlatoDisponibilità da verificare
AmazonVedi prezzo
AliExpressPDP non verificata