Accès à HomeAssistant à distance derriere Starlink et un routeur OpnSense

Bonjour,

Mon problème

J’essaye désespérément depuis 10 jours d’accéder à mon HomeAssistant depuis l’extérieur.
J’y arrivais sans problème depuis une box Bouygues mais depuis que j’ai Starlink c’est mission impossible pour moi.

Ma configuration


  • HomeAssistant tourne sous HAOS dans une VM sous proxmox.
  • Starlink en mode bypass
  • Routeur OpnSense installé en même temps, car le TP-Link que j’avais sous le coude me semblait instable. C’est un PC DELL sff avec un i7 8700 et 8Go de ram, SSD et carte Intel 4 ports.
  • nom de domaine sous OVH, sur lequel j’ai crée un sous domaine ha.monndd.fr

J’ai constaté au bout de quelques jours que par Starlink je n’aurai pas mieux qu’une IPv6, j’ai donc redirigé sur OVH mon sous domaine vers l’IPv6 d’HA.

Le plugin Let’s Encrypt semble avoir bien généré le certificat pour mon sous domaine, d’abord en HTTP challenge avec ouverture de ports, puis j’ai changé vers DNS challenge mais pas testé jusqu’au bout car certificat toujours valide.

Au début je parvenais à y accéder depuis mon PC en local et depuis mon téléphone en 4G, mais pas depuis mon tel en wifi. C’est là que je suis tombé en enfer.
J’ai essayé pas mal de choses dans tous les sens, ouverture de ports, Unbound DNS, plein de tuto de config d’IPv6, aujourd’hui ça marche moins bien, j’ai seulement :

  • PC ok en attaquant via IPv4, IPv6, ha.monndd.fr (en 1 saut si je fais un tracert), le tout en https
  • Smartphone tout KO sauf https/IPv4 en wifi.

C’est peut être une erreur d’utiliser OpnSense, j’imagine qu’il faut être sysadmin pour bien l’utiliser, je suis juste développeur et j’aimerais monter en compétence la dessus mais tout seul ce n’est pas évident !
Si il le faut je peux essayer d’installer un reverse proxy sur mon OpnSense (jamais fait) mais j’ai peur de rajouter un engrenage à un système deja un peu compliqué.

Je n’ai pas trouvé d’autres post avec ce problème d’IPv6/Starlink et surtout avec OpnSense.

J’espère trouver réponse(s) chez vous :slight_smile:

Salut ! Moi aussi, suite à un déménagement je suis passé chez Starlink avec un routeur ASUS, et j’ai perdu mes accès depuis l’extérieur avec mon ancienne adresse duckdns. J’ai vu que l’IP publique changeait régulièrement… J’ai un peu cherché sans trop trouvé de solution, et j’ai pris un abonnement chez Nabu Casa et ça a réglé tous les problèmes :sweat_smile:
Je suis intéressé de savoir comment tu as fait par rapport à l’IP v6.
Je vais suivre ton post :wink:
Bon courage !

1 « J'aime »

salut
pour résumer tout fonctionne en externe ?
mais ça ne fonctionne juste pas pour ton smartphone en wifi ? c’est qu’il n’obtient pas d’ipv6 en wifi

ton opnsense il est en délégation de ta zone ipv6 ? si ce n’est pas le cas il ne sert pas à grand chose (pour la partie ipv6) tu peux nous faire un petit schéma rapide de ton réseau

tu as un firewall ipv6 sur ton routeur starlink ? car là je pense que ton HA est en « slip » sur l’ipv6
sinon pour ton téléphone tu peux continuer d’y accéder en interne en ipv4 c’est même prévu dans l’application companion

C’est quoi un slip pour HA ?

Rien a voir je suppose avec Philippe Katerine :grin:

5 « J'aime »

depuis mon smartphone :
en externe c’est totalement KO
en interne c’est ok IPv4 depuis chrome, KO le reste, idem application companion en IPv4 KO, message problème de certificat.
Je précise que j’ai mis à jour mes APN dur smartphone pour avoir une IPv6.

Je viens d’essayer depuis un ordi portable, au travers d’un VPN : KO

ton opnsense il est en délégation de ta zone ipv6 ?
je ne sais pas comment vérifier
edit : peut être tu parles de ça sur la config de mon WAN ?

tu as un firewall ipv6 sur ton routeur starlink ?
je ne pense pas vu qu’il est en bypass

en slip ? je ne sais pas ce que ça veut dire mais j’ai mis l’IPv6 en statique

schéma sous paint de mon réseau, attention les yeux

Bonjour,
Tu pourrais héberger tes images ailleurs ?
Car là on est en rate limited

je viens d’éditer mon post, merci

Bon ça semble pas bon du tout
Pour être en délégation de zone il faut du paramétrage au niveau starlink, mais est possible ? Je ne connais pas starlink
Tu as une IPv6 au niveau de ton HA

IPv6 ne fonctionne pas comme IPv4 chaque machine dispose d’une IPv6 la notion de nat n’existe pas en IPv6

J’aime pas trop ma balader en slip :briefs: dans la rue :joy:, pareil pour les machines sur internet on évite de les laisser en slip
Surtout que haos ne prévoit rien afin de gérer un firewall

Starlink est en CGNAT (mais je ne sais pas si ça va vous aider) :grin:

la délégation de zone sur 56 j’ai vu ça dans pas mal de tuto Starlink quand on l’utilise en mode bypass, soit avec un routeur derrière (OpnSense dans mon cas).
J’ai retiré mes règles de redirection de ports (donc pas de NAT ?).
Du coup qu’est ce qui ne va pas ?

Qu’as donc tu configuré pour la délégation sur ton opnsense ?

honnêtement je ne sais même pas ce que c’est.
Donc je ne saurais te dire, je sais que sur mon interface LAN, sur « IPv6 Configuration Type » j’ai mis « Track Interface » et « Track IPv6 Interface » j’ai mis « WAN »

Mon HomeAssistant a bien une IPv6 qui lui a été attribué (je ne saurais te dire par qui)

Aurais tu une piste de ce qui ne va pas ?

Sur ton ha elle commence par quoi ton IPv6 (juste les 8 premier ms digits suffisent)

Elle ressemble à cela pour mon HA : fe80::d06e:xxxx:xxxx:xxxx/64
J’ai aussi une autre adresse en /128, qui a les 4 premiers ‹ blocs › identiques à ceux de mon IP Starlink public
et mon PC :
IP PC
les blocs en bleus sont identiques entre eux, et sont aussi les mêmes que l’IP Starlink public

Ok les adresses en fe:80 sont les adresses ‹ ‹ locales › › en IPv6 donc elles sont 'on routables il faut utiliser l’adresse qui commence par ce que tu as caché en bleu (qui commence comme l’IP publique de ton routeur starlin) celle ci sont les adresses ipv6 routables (tu peux afficher les 8 1er caractères sans problèmes il n’y a rien de sensible)

1 « J'aime »

ok je comprends mieux ces 2 IP
donc sur OVH j’ai fait ça :


on avance car j’ai accès en 4G depuis mon smartphone si je mets cette règle :

derrière l’alias ‹ HomeAssistant › il y’a l’IPv6 externe (la même que OVH)
Je veux bien que tu me dises si c’est secure de faire comme ça.
Quand je la désactive c’est KO

et en interne par le nom de domaine c’est tout KO

Par contre encore une fois pas de nat en IPv6 ça n’existe pas , simplement une règle de firewall suffit pour laisser passer le flux
Les règles de nat dans opnsense créent des règles de firewall c’est pour ça que ça ‹ ‹ marche › ›
Tu as configuré quelque chose avec starlink pour définir ton opnsense comme routeur upstream ?
Si ça 'e fonctionne pas en interne avec le nom de domaine c’est que t’es machines en interne ne disposent pas d’ipv6
Le plus simple en interne utilise l’ipv4

OK je viens de faire ça, j’ai viré la redirection dans le NAT et j’ai crée une règle similaire à la règle auto.
Dans Starlink je n’ai rien fait d’autre que le mettre en mode bypass, et j’ai raccordé le port WAN de mon OpnSense à l’adapteur Ethernet de Starlink.

En interne ça marche depuis le PC par https://IPv4 & v6 (avec message connexion non sécurisée)
depuis le telephone seulement par chrome, https://IPv4
par l’application compagnon, en interne, avec la même URL que sur chrome, j’ai un message d’erreur comme quoi le certificat ne correspond pas au nom de domaine (IPv4), je ne sais pas trop comment le résoudre.

je précise que spécifier le port 8123 ne fonctionne plus du tout depuis que je suis passé en https par Let’s Encrypt

edit : je viens d’essayer de desinstaller/reinstaller Let’s Encrypt, relancer la demande de certificat, ça a fonctionné en DNS Challenge, mais le problème reste le même depuis Compagnon

Effectivement tu ne sembles pas obtenir d’ipv6 sur ton téléphone en interne Android ne peut recevoir d’ipv6 que par le protocole slaac (aucune idée pour les iphone) il faut activer le router advertissement sur ton opnsense pour fournir une IPv6 a ton téléphone
Sinon tu peux aussi utiliser le resolver DNS d’opnsense pour résoudre ton domaine en interne et rediriger vers ton ipv4 locale

je viens de jeter un oeil sur comment activer slaac sur OpnSense
j’ai vu qu’il fallait soit avoir une IPv6 statique (sur le LAN j’imagine) soit être en mode manuel sur le tracking interface (je suis actuellement en mode tracking mais pas en manuel).
J’avoue être frileux car je ne voudrais pas ouvrir trop de choses que je ne maitrise pas et qui pourrir nuire à la sécurité (ne maitrisant pas ce que je fais).

Pour l’histoire du Resolver DNS, est ce que c’est ça ?

Pour le moment je bute toujours sur cette histoire de certificat qu’il ne veut pas depuis Compagnon si interne IPv4

edit :
ça fonctionne en faisant comme cela ! :

Copy and paste the text below, replacing what is listed:

domains:
  - homenetwork.example.tk
  - "*.homenetwork.example.tk"
email: null@null.com
keyfile: privkey.pem
certfile: fullchain.pem
challenge: dns
dns:
  provider: dns-cloudflare
  cloudflare_api_token: replace-me-with-your-api-token

Under the “domains” property, you’ll notice that I provided both the subdomain and what’s called a wildcard domain. This is necessary if you want Home Assistant to not give you an error while you are inside your home network.