Remote Access met CloudFlare

Om remote access te verkrijgen via een veilige verbinding en zonder een poort open te moeten zetten in je home-router, kun je een abonnement nemen op de Remote access dienst van Nabu Casa. Hiermee wordt een veilige verbinding opgezet met een certificaat en dit abonnement kost 75 euro per jaar, of 7,50 per maand.

Stap 1: Domeinnaam aanvragen

Op een nagenoeg dezelfde manier kun je remote toegang instellen via CloudFlare en als je daar een domein-naam voor gebruikt kan dat zelfs gratis. Nu zijn .nl domeinnamen niet gratis maar worden wel vaak via een actie aangeboden, bijvoorbeeld via TransIP. Daar kun je een domeinnaam in stellen dat voor het eerste jaar 49 cent kost, exclusief BTW dus dat wordt dan 59 cent. Als voor beeld heb ik nu een domein aangevraagd, genaamd nicooosterwijk.nl bij TransIP.

Stap 2: Website aanmaken in CloudFlare

Nu dient er een account aangemaakt te worden in cloudflare.com en kies daar voor Website -> Add

Als voorbeeld zet ik daar de nieuwe domeinnaam nicooosterwijk.nl in en er verschijnt dan een melding dat ik de DNS servers voor dat domein moet aanpassen naar die van cloudflare.com

Stap 3: DNS aanpassen

Terug naar TransIP om de DNS van de domeinnaam aan te passen. In het beheerportaal van het domein wordt hiervoor de ‘TransIP-instellingen’ uitgezet en de cloudflare nameservers ingevoerd en kies dan voor ‘Opslaan’

Nu kan het een paar uur duren voordat deze wijzigingen doorgevoerd zijn zodat cloudflare dit kan oppakken, dus heb geduld en kom over een paar uur terug.

Stap 4. Cloudflared Add-on instellen in Home Assistant

In Home Assistant kan met ‘c’ -> ‘Add-on winkel‘ een repositorie toegevoegd worden met de menu-optie (3-puntjes rechtsboven). Geef de volgende URL in:

https://github.com/brenner-tobias/ha-addons

En er verschijnt dan de Cloudflared repo in de lijst en na een refresh van de browser kan CloudFlared als Add-on toegevoegd worden.

Eenmaal toegevoegd dient deze via Configuratie ingesteld te worden voor de gewenste URL waarmee Home Assistant remote bereikt kan gaan worden, bijvoorbeeld ha.nicooosterwijk.nl:

Optioneel kan een naam aan de connectie gegeven worden, bijvoorbeeld ‘hatest‘. Kies voor ‘OPSLAAN

Stap 5: configuration.yaml aanpassen

In Home Assistant dient nu een http optie toegevoegd te worden aan configuration.yaml en dat ziet er alsvolgt uit:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24

Hierna Home Assistant herstarten.

Stap 6: Website in CloudFlare authentication

Als de nieuwe domeinnaam in CloudFlare op ‘Actief‘ staat kan de CloudFlared Add-on in Home Assistant gestart worden. Inspecteer dan de log van CloudFlared om de authenticatie-URL te kopiëren, bijvoorbeeld:

Kies dan voor de domeinnaam in CloudFlare en vervolgens voor ‘Authorize’:

Hierna kan het Home Assistant dashboard bereikt worden via https://ha.nicooosterwijk.nl

Een ander voordeel is dat nu ook de microfoon van Home Assistant Assist gebruikt kan worden.

Stap 7: Beveiliging

Om nu niet de hele wereld toegang te geven tot deze site is er in CloudFLare de (menu)optie Security. Klik hiervoor op de domeinnaam in het hoofdscherm en dan in het menu links op Security -> WAF (Web Application Firewall) en stel daar bv een rule in dat het verkeer ge-blocked wordt als dat niet vanaf een bepaald IP adres komt. Of de originator wordt alleen toegestaan als deze uit Nederland komt.


In de Home Assistant CloudFlared Add-on kunnen extra hosts toegevoegd worden die dan bereikbaar worden via de domeinnaam die ingesteld is. Bijvoorbeeld een muziekstreamer genaamd ‘AMP’ als extra hosts ‘amp.nicooosterwijk.nl’, ingesteld in ‘Additional Hosts‘: