Ga naar hoofdinhoud

Netwerkvereisten

{/* 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. */}

Vereisten bij het installeren van een Welotec (of gelijkwaardige IPC) op het klantnetwerk om Roasthubs te draaien:

  • Een statisch IP-adres voor de Linux-host (zodat de instantie bereikbaar is op het lokale netwerk).
  • Inkomende en uitgaande UDP- en TCP-poort 9993 (ZeroTier-VPN-toegang tot de Welotec).
  • Inkomende en uitgaande UDP-poorten 443 en 7844 (Cloudflare-tunnel).

We geven ook de voorkeur aan een statisch IP, zodat de dagelijkse operatie niet alleen van een externe internetverbinding afhangt. Reserveer een adres en deel het met Roasthubs vóór de installatie.

Cloudflare-tunnels (samenvatting)

Tunnels worden beheerd onder Cloudflare Zero Trust → Networks → Tunnels. Maak de tunnel bij voorkeur aan met het Ansible-playbook: het maakt de tunnel aan, installeert credentials, registreert de service, activeert die bij opstarten en controleert of die draait.

Externe / klantdomeinen

Randvoorwaarden:

  • Een werkende tunnel.
  • Een proxied Cloudflare-CNAME die naar de tunnel wijst (bijvoorbeeld staging.roasthubs.com<TUNNEL_ID>.cfargotunnel.com).

Ingress wordt voor de tunnel geconfigureerd (dashboard voor remote beheerde tunnels, of /etc/cloudflared/config.yml bij lokaal beheer). Voorbeeldstructuur:

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

Herstart de tunnelservice na lokale configuratiewijzigingen, bijvoorbeeld:

sudo systemctl restart cloudflared-tunnel.service

Aangepaste hostname op een niet-Cloudflare-klantdomein

Het clientdomein moet als Cloudflare Custom Hostname geauthenticeerd zijn (certificaat van Cloudflare; validatie via TXT). Lever aan de klant:

  1. Een CNAME voor hun hostname (bijvoorbeeld rhs.customer.com) naar de door Roasthubs geproxiede hostname (niet rauw <TUNNEL_ID>.cfargotunnel.com).
  2. De Hostname pre-validation TXT-naam en -waarde uit de Custom Hostname-UI.

Zodra beide DNS-records bestaan, geeft Cloudflare het certificaat uit en is de app bereikbaar op de klant-hostname.

Houd altijd een geproxiede CNAME onder de Roasthubs-Cloudflare-zone die de tunnel fronteert. Klanten alleen naar <TUNNEL_ID>.cfargotunnel.com laten wijzen wordt niet ondersteund.

Notities bij netwerkontwerp

Gewenste toegangspatronen:

  • SSH naar de IPC
  • Database-toegang op de IPC (bij voorkeur niet LAN-breed blootgesteld; zie edge-hardeningdocumentatie)
  • PLC-netwerktoegang
  • DNS naar de applicatie

Typisch PLC-netwerk: 10.18.0.0/24 met 10.18.0.5 op de Welotec-interface (kan down zijn). Gebruik bij voorkeur aparte CIDR-routes om botsingen te vermijden, bijvoorbeeld:

  • 10.18.0.0/24 → PLC-netwerk
  • een dedicated /32 → IPC-beheerinterface
  • gepubliceerde applicatie-hostname → <subdomain>.roasthubs.com