Aller au contenu principal

Exigences réseau

{/* notion-sync: page_id=1df1928df74d80d6b4eec3ba8028c32c /} {/ Notion is the source of truth: https://app.notion.com/p/1df1928df74d80d6b4eec3ba8028c32c — re-sync from Notion before treating this file as authoritative. */}

Exigences lors de l'installation d'un Welotec (ou IPC équivalent) sur le réseau client pour faire tourner Roasthubs :

  • Une adresse IP statique pour l'hôte Linux (afin que l'instance soit joignable sur le réseau local).
  • Ports UDP et TCP 9993 entrants et sortants (accès VPN ZeroTier au Welotec).
  • Ports UDP 443 et 7844 entrants et sortants (tunnel Cloudflare).

Nous préférons également une IP statique afin que les opérations quotidiennes ne dépendent pas uniquement d'une connexion Internet externe. Veuillez réserver une adresse et la communiquer à Roasthubs avant l'installation.

Tunnels Cloudflare (résumé)

Les tunnels sont gérés sous Cloudflare Zero Trust → Networks → Tunnels. Préférez créer le tunnel avec le playbook Ansible : il crée le tunnel, installe les identifiants, enregistre le service, l'active au démarrage et vérifie qu'il fonctionne.

Domaines externes / client

Prérequis :

  • Un tunnel opérationnel.
  • Un CNAME Cloudflare proxied pointant vers le tunnel (par exemple staging.roasthubs.com<TUNNEL_ID>.cfargotunnel.com).

L'ingress est configuré pour le tunnel (tableau de bord pour les tunnels gérés à distance, ou /etc/cloudflared/config.yml en gestion locale). Exemple de structure :

tunnel: staging
credentials-file: /home/roasthubs/.cloudflared/<tunnel-id>.json
ingress:
- hostname: staging.roasthubs.com
service: http://127.0.0.1:80
- hostname: rhs.example.com
service: http://127.0.0.1:80
- service: http_status:404

Redémarrez le service tunnel après des changements de configuration locale, par exemple :

sudo systemctl restart cloudflared-tunnel.service

Nom d'hôte personnalisé sur un domaine client hors Cloudflare

Le domaine client doit être authentifié en tant que Custom Hostname Cloudflare (certificat fourni par Cloudflare ; validation via TXT). Fournissez au client :

  1. Un CNAME pour son nom d'hôte (par exemple rhs.customer.com) vers le nom d'hôte proxifié Roasthubs (pas le brut <TUNNEL_ID>.cfargotunnel.com).
  2. Le nom et la valeur Hostname pre-validation TXT depuis l'interface Custom Hostname.

Une fois les deux enregistrements DNS en place, Cloudflare émet le certificat et l'application devient accessible sur le nom d'hôte client.

Conservez toujours un CNAME proxifié sous la zone Cloudflare Roasthubs qui front le tunnel. Pointer les clients uniquement vers <TUNNEL_ID>.cfargotunnel.com n'est pas pris en charge.

Notes de conception réseau

Modèles d'accès souhaités :

  • SSH vers l'IPC
  • Accès base de données sur l'IPC (de préférence non exposé à tout le LAN ; voir la documentation de durcissement edge)
  • Accès au réseau PLC
  • DNS vers l'application

Réseau PLC typique : 10.18.0.0/24 avec 10.18.0.5 sur l'interface Welotec (peut être down). Préférez des routes CIDR séparées pour éviter les collisions, par exemple :

  • 10.18.0.0/24 → réseau PLC
  • un /32 dédié → interface de gestion IPC
  • nom d'hôte d'application publié → <subdomain>.roasthubs.com