Преминете към основното съдържание

Мрежови изисквания

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

Изисквания при инсталиране на Welotec (или еквивалентен IPC) в клиентската мрежа за работа на Roasthubs:

  • Статичен IP адрес за Linux хоста (за да е достъпна инстанцията в локалната мрежа).
  • Входящ и изходящ UDP и TCP порт 9993 (ZeroTier VPN достъп до Welotec).
  • Входящи и изходящи UDP портове 443 и 7844 (Cloudflare тунел).

Също предпочитаме статичен IP, за да не зависят ежедневните операции само от външна интернет връзка. Моля, резервирайте адрес и го споделете с Roasthubs преди инсталацията.

Cloudflare тунели (резюме)

Тунелите се управляват в Cloudflare Zero Trust → Networks → Tunnels. Предпочитайте създаване на тунела с Ansible playbook: създава тунела, инсталира credentials, регистрира услугата, активира я при старт и проверява дали работи.

Външни / клиентски домейни

Предпоставки:

  • Работещ тунел.
  • Proxied Cloudflare CNAME, сочещ към тунела (например staging.roasthubs.com<TUNNEL_ID>.cfargotunnel.com).

Ingress се конфигурира за тунела (dashboard за отдалечено управлявани тунели, или /etc/cloudflared/config.yml при локално управление). Примерен вид:

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

Рестартирайте услугата на тунела след локални промени в конфигурацията, например:

sudo systemctl restart cloudflared-tunnel.service

Персонализиран hostname на клиентски домейн извън Cloudflare

Клиентският домейн трябва да е удостоверен като Cloudflare Custom Hostname (сертификат от Cloudflare; валидация чрез TXT). Предоставете на клиента:

  1. CNAME за неговия hostname (например rhs.customer.com) към proxied hostname на Roasthubs (не суров <TUNNEL_ID>.cfargotunnel.com).
  2. Името и стойността на Hostname pre-validation TXT от Custom Hostname UI.

След като и двата DNS записа съществуват, Cloudflare издава сертификата и приложението става достъпно на клиентския hostname.

Винаги поддържайте proxied CNAME под Cloudflare зоната на Roasthubs, който фронтира тунела. Насочването на клиенти само към <TUNNEL_ID>.cfargotunnel.com не се поддържа.

Бележки по мрежовия дизайн

Желани модели за достъп:

  • SSH към IPC
  • Достъп до базата данни на IPC (за предпочитане не изложен в цялата LAN; вижте документацията за edge hardening)
  • Достъп до PLC мрежата
  • DNS към приложението

Типична PLC мрежа: 10.18.0.0/24 с 10.18.0.5 на интерфейса на Welotec (може да е down). Предпочитайте отделни CIDR маршрути, за да избегнете колизии, например:

  • 10.18.0.0/24 → PLC мрежа
  • dedicated /32 → интерфейс за управление на IPC
  • публикуван hostname на приложението → <subdomain>.roasthubs.com