Architektur
Wo im Adminbereich: Dies ist eine Referenzseite. Die hier beschriebenen Dienste sind mit
sudo nexcmp statussichtbar; Verbindungen werden unter Infrastructure und System › Settings konfiguriert.
Die Übersicht
Dasselbe Diagramm in Worten
- Ein Kunde oder Administrator öffnet
https://cloud.example.com(das Portal),https://cloud.example.com/admin(die Admin-Konsole) oder ruft die REST API auf. DNS leitet den Namen auf Ihren Server oder auf Cloudflare weiter, das als Proxy dert - nginx auf dem Panel-Server lauscht auf den Ports 80 (Weiterleitung und Zertifikatserneuerung) und 443 (TLS) und leitet jede Anfrage an das Panel unter
127.0.0.1:3000weiter. Nach dem Setup-Assistenten lauscht das Panel nur auf der Loopback-Schnittstelle. - Das Panel (
nexcmp.service) stellt das Kundenportal, die Admin-Konsole, die REST API, den Setup-Assistenten und die von Knoten benötigten Downloads (die Agent-Binärdatei, das Installationsskript, dascmp-Befehlszeilentool) bereit. Außerdem prüft es einmal täglich Ihre Lizenz. - Der Worker (
nexcmp-vmd.service) lauscht auf127.0.0.1:8112, was nur lokal ist. Er führt alles aus, was Zeit beansprucht oder nach Zeitplan ablaufen muss: Bereitstellungsaufträge, Synchronisierung mit CloudStack und Proxmox VE, Abrechnungstakte, Bandbreitenerfassung und die Browser-Konsolenverbindungen. - Von diesen beiden Prozessen aus initiiert NexCMP ausgehende Verbindungen zu: CloudStack (Management-API), Proxmox VE (API auf Port 8006, Zertifikat gepinnt), Dell iDRAC (Redfish über HTTPS im Verwaltungsnetzwerk), Ceph RGW (S3 und Admin Ops über HTTPS), Zahlungs-Gateways (Stripe, PayPal, USDT und Banküberweisungsanbieter, die auch Ihre Webhook-URLs aufrufen), Ihrem SMTP-Server, einem KI-Anbieter mit einer OpenAI-kompatiblen API und optional Telegram.
- VPN-Knoten führen
cmp-agentaus. Jeder Knoten registriert sich einmal mit einem Einmal-Token, sendet dann alle 5 Sekunden einen Heartbeat per HTTPS an das Panel und erhält in der Antwort seine Konfiguration. IPv6-Proxy-Knoten werden einmalig vom Panel über SSH installiert und rufen ihre Konfiguration anschließend vom Panel ab. - Der Status wird in SQLite-Datenbanken und einigen Dateien in
/var/lib/nexcmpgespeichert. Anmeldedaten für CloudStack, Proxmox, S3, iDRAC und den KI-Anbieter werden verschlüsselt (AES-256-GCM) mit Master-Schlüsseldateien im selben Bereich gespeichert.
Dienste und Prozesse
| Prozess | Ausführung als | Lauscht auf | Funktion |
|---|---|---|---|
nginx | root (Worker www-data) | 80, 443 | TLS, Weiterleitung, Proxy zum Panel |
nexcmp | nexcmp | 3000 (alle Schnittstellen während der Erstinstallation, danach 127.0.0.1) | Portal, Admin-Konsole, API, Assistent, Downloads |
nexcmp-vmd | nexcmp | 127.0.0.1:8112 | Jobs, Synchronisierung, Abrechnung, Bandbreite, Konsole |
nexcmp-update | root | keine | Führt Updates aus, die die Admin-Konsole anfordert (eine Path-Unit wartet auf die Anfrage) |
cmp-agent (auf VPN-Knoten) | root | Die VPN-Listener-Ports | Meldet sich an das Panel, betreibt Proxy-Listener auf öffentlichen IPv4-Adressen |
Das Panel und der Worker laufen als gewöhnlicher Benutzer ohne Linux-Capabilities und mit einem schreibgeschützten Dateisystem mit Ausnahme von /var/lib/nexcmp und /var/log/nexcmp. Sie benötigen weder root, Docker, eine separate Datenbank noch Redis.
Dateien und ihre Speicherorte
| Pfad | Inhalt |
|---|---|
/opt/nexcmp | Das Programm: Releases, bin/, freigegebene Dateien wie der Template Builder. Gehört root, für den Dienst schreibgeschützt. |
/etc/nexcmp | Installatoreinstellungen (install.conf), Port und Bindung (nexcmp.env). |
/var/lib/nexcmp | SQLite-Datenbänke, hochgeladenes Branding, der Agent-Download-Ordner, Lizenzstatus, die Master-Key-Dateien. Sichern Sie diese. |
/var/log/nexcmp | Protokolle. |
Siehe Backup and restore. Die Master-Key-Dateien müssen zusammen mit den Datenbanken gesichert werden, da eine wiederhergestellte Datenbank andernfalls ihre gespeicherten Anmeldeinformationen nicht entschlüsseln kann.
Wer verbindet sich mit wem
| Richtung | Pfad | Port | Hinweise |
|---|---|---|---|
| Kunde an Panel | Internet, DNS, optionales Cloudflare, nginx | 443 | Siehe DNS and Cloudflare. |
| Panel an Lizenzserver | nexcmp.com | 443 | Aktivierung, tägliche Prüfung und Updates. |
| Panel an CloudStack | API | 443 oder 8080 | Die VM-Konsole, Bandbreiten- und Kubernetes-Funktionen verwenden denselben Endpunkt. |
| Panel an Proxmox VE | API und WebSocket-Konsole | 8006 | Zertifikat per SHA-256-Prüfsumme angeheftet. |
| Panel an iDRAC | Redfish | 443, VNC 5901 | Nur Management-Netzwerk. |
| iDRAC an ISO-Server | HTTP | Ihr Port | Der iDRAC ruft das ISO ab. |
| Panel an Ceph RGW | Admin Ops | 443 | |
| Panel an SMTP | SMTP | 587 oder 465 | |
| Panel an KI-Anbieter | HTTPS | 443 | Nur wenn das KI-Modul aktiv ist. |
| Zahlungsanbieter an Panel | Webhook | 443 | Stripe und PayPal rufen zurück. |
| Knoten an Panel | cmp-agent | 443 | Registrierung, Heartbeat, Upgrade. |
| Panel an IPv6-Proxy-Knoten | SSH | der eingegebene Port | Nur einmalige Installation. |
Warum das wichtig ist
- Ein Panel, das erreichbar ist, kann angegriffen werden. Halten Sie Port 3000 nach Abschluss des Setup-Assistenten geschlossen. Der Installer tut dies bereits, wenn TLS aktiv ist.
- Der Worker muss laufen, damit etwas erstellt oder abgerechnet werden kann.
sudo nexcmp statuszeigt sowohl die Dienste als auch den Gesundheitsstatus. - Planen Sie Outbound-Firewalls. Wenn der ausgehende Datenverkehr des Panel-Servers gefiltert wird, erlauben Sie die Ziele in der obigen Tabelle.
- Verwaltungsdatenverkehr bleibt außerhalb des öffentlichen Pfads. Verbindungen zu CloudStack, Proxmox VE, iDRAC und Ceph gehen direkt vom Panel-Server zu diesen Systemen, niemals über nginx oder Cloudflare.