Saltar al contenido principal

Requisitos de red

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

Requisitos al instalar un Welotec (o IPC equivalente) en la red del cliente para ejecutar Roasthubs:

  • Una dirección IP estática para el host Linux (para que la instancia sea accesible en la red local).
  • Puerto UDP y TCP 9993 de entrada y salida (acceso VPN ZeroTier al Welotec).
  • Puertos UDP 443 y 7844 de entrada y salida (túnel Cloudflare).

También preferimos una IP estática para que las operaciones diarias no dependan únicamente de una conexión a Internet externa. Reserve una dirección y compártala con Roasthubs antes de la instalación.

Túneles Cloudflare (resumen)

Los túneles se gestionan en Cloudflare Zero Trust → Networks → Tunnels. Prefiera crear el túnel con el playbook de Ansible: crea el túnel, instala las credenciales, registra el servicio, lo habilita al arranque y verifica que está en ejecución.

Dominios externos / del cliente

Prerrequisitos:

  • Un túnel en funcionamiento.
  • Un CNAME de Cloudflare proxied que apunte al túnel (por ejemplo staging.roasthubs.com<TUNNEL_ID>.cfargotunnel.com).

El ingress se configura para el túnel (panel para túneles gestionados de forma remota, o /etc/cloudflared/config.yml si se gestiona localmente). Estructura de ejemplo:

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

Reinicie el servicio del túnel tras cambios de configuración local, por ejemplo:

sudo systemctl restart cloudflared-tunnel.service

Hostname personalizado en un dominio de cliente que no usa Cloudflare

El dominio del cliente debe autenticarse como Custom Hostname de Cloudflare (certificado proporcionado por Cloudflare; validación mediante TXT). Proporcione al cliente:

  1. Un CNAME para su hostname (por ejemplo rhs.customer.com) hacia el hostname proxificado de Roasthubs (no el <TUNNEL_ID>.cfargotunnel.com en bruto).
  2. El nombre y el valor Hostname pre-validation TXT desde la UI de Custom Hostname.

Cuando existan ambos registros DNS, Cloudflare emite el certificado y la aplicación queda accesible en el hostname del cliente.

Mantenga siempre un CNAME proxificado bajo la zona Cloudflare de Roasthubs que frontalice el túnel. Apuntar a los clientes solo a <TUNNEL_ID>.cfargotunnel.com no está soportado.

Notas de diseño de red

Patrones de acceso deseados:

  • SSH al IPC
  • Acceso a la base de datos en el IPC (preferiblemente no expuesto a toda la LAN; ver documentación de endurecimiento edge)
  • Acceso a la red PLC
  • DNS hacia la aplicación

Red PLC típica: 10.18.0.0/24 con 10.18.0.5 en la interfaz Welotec (puede estar down). Prefiera rutas CIDR separadas para evitar colisiones, por ejemplo:

  • 10.18.0.0/24 → red PLC
  • un /32 dedicado → interfaz de gestión del IPC
  • hostname de aplicación publicado → <subdomain>.roasthubs.com