Vorwort
Diese Installationsanleitung basiert auf einem Ubuntu 22.04 Server. Die Befehle können bei anderen Linux-Distributionen abweichen.
Achtung
Es wird dringend empfohlen, ein aktuelles, systemd-basiertes Linux-System zu verwenden.
Unterstützte Versionen
Diese Anleitung bezieht sich auf folgende Softwareversionen:
Router Management:
2025.03.0
Autoupdate:
2025.03.0
Systemanforderungen
Applikationsserver Ubuntu ≥ 22.04 Server
Anforderungen | 1 - 1.500 Router | 1.500 - 3.000 Router |
---|---|---|
CPU | 8 vCPUs | 16 vCPUs |
RAM | 16 GB | 32 GB |
Speicher | 100 GB HDD | 200 GB HDD |
Optional: Dedizierter Datenbankserver für größere Umgebungen
Ubuntu ≥ 22.04 Server
8 vCPUs
16 GB RAM
100 GB Festplattenspeicher
PostgreSQL-Datenbank einrichten
Installieren Sie einen PostgreSQL-Datenbankserver auf dem Applikationsserver oder auf einem dedizierten Datenbankserver:
Melden Sie sich anschließend als PostgreSQL-Benutzer an, starten Sie das psql
-Kommandozeilenwerkzeug und führen Sie die SQL-Befehle aus:
Führen Sie nun folgende SQL-Befehle zur Erstellung von Datenbank und Benutzer aus:
Zusätzliche Schritte für einen dedizierten PostgreSQL-Server
Optionaler Schritt
Ein dedizierter Server für die Datenbank kann insbesondere in größeren oder sicherheitskritischen Umgebungen Vorteile bieten, etwa durch bessere Performance, Lastentkopplung und eine klarere Trennung von Zuständigkeiten innerhalb der IT-Infrastruktur. Zudem lassen sich Zugriffsrechte und Netzwerksegmente gezielter absichern, was zu einer erhöhten Gesamtsicherheit beiträgt.
Allerdings ist der Betrieb eines separaten Datenbankservers mit zusätzlichem Verwaltungsaufwand und Infrastrukturkosten verbunden. Für kleinere Installationen oder Testumgebungen ist ein dedizierter Server nicht erforderlich – in diesen Fällen kann die Datenbank problemlos auf demselben System wie die iRM-Anwendung betrieben werden.
Wenn die Datenbank auf einem separaten Server läuft, muss der Remote-Zugriff aktiviert werden. Der Pfad zu den Konfigurationsdateien kann je nach PostgreSQL-Version variieren (in diesem Beispiel: Version 14).
Öffnen Sie die Konfigurationsdatei postgresql.conf
:
Suchen Sie folgende Zeile:
Kommentieren Sie diese aus und ändern Sie den Wert wie folgt, um Zugriffe von außen zu erlauben:
Speichern und schließen Sie die Datei. Bearbeiten Sie nun die Datei pg_hba.conf
, um externe Verbindungen zu erlauben:
Ersetzen Sie folgenden Eintrag:
durch:
Falls eine aktive Firewall vorhanden ist, öffnen Sie den PostgreSQL-Port:
Starten Sie abschließend den Datenbankdienst neu:
Einrichtung des Applikationsservers
Erstellen Sie ein Verzeichnis in Ihrem Home-Verzeichnis und kopieren Sie die Installations-ZIP-Datei irm_linux_2025_03_0.zip
in dieses Verzeichnis. Entpacken Sie den Inhalt und merken Sie sich den Pfad. Sie benötigen die ausführbare Datei der Routermanagement-Anwendung für die nächsten Schritte.
Der ls
-Befehl sollte folgende Dateien anzeigen:
insysicom-routermgmt
insysicom-autoupdate
VERSIONS.txt
Sie sollten die Dateien insysicom-routermgmt
und insysicom-autoupdate
im Verzeichnis dist
sehen.
Machen Sie die neuen Binärdateien ausführbar, falls das ls
-Kommando nicht das Ausführbarkeits-Flag *
hinter dem Dateinamen zeigt.
Für die Datei insysicom-routermgmt
:
Für die Datei insysicom-autoupdate
:
Erstellen Sie einen Systembenutzer sowie alle benötigten Verzeichnisse. Füllen Sie die Verzeichnisse mit Konfigurationsdateien und Binärdateien der Anwendung:
Installation von Routermanagement vorbereiten
Die Anwendung wird nun zum ersten Mal initialisiert. Wechseln Sie zum zuvor angelegten Benutzer insysicom-routermgmt
und navigieren Sie in das Verzeichnis /opt/insysicom-routermgmt/etc
. Dort wird später die generierte Konfigurationsdatei abgelegt. Die Umgebungsvariablen sind für die Datenbankverbindung notwendig. Der Initialisierungsprozess bereitet die Datenbank vor und legt danach die Konfigurationsdatei im aktuellen Verzeichnis ab. Diese Datei enthält zentrale Anwendungseinstellungen.
Hinweis:
Falls Sie einen dedizierten Datenbankserver verwenden, passen Sie den Wert vonBARRACUDA_DATABASE_ARGS
entsprechend der IP-Adresse oder dem Hostnamen des Datenbankservers an, z. B.:BARRACUDA_DATABASE_ARGS="... host=mydbserver port=5432 ..."
Passen Sie die Konfiguration in der Datei insysicom-routermgmt.conf
an, um die Kommunikation zwischen diesem Dienst und dem Autoupdate-Dienst zu ermöglichen:
Diese Einstellungen stellen sicher, dass der Routermanagement-Daemon nur über localhost
erreichbar ist und keine Konflikte mit typischen IP-Ports entstehen. Die Anwendung wird durch einen vorgelagerten NGINX-Webserver abgesichert. Der Parameter barracuda_data_path
muss angepasst werden, da der Initialisierungsprozess das versteckte Verzeichnis .barracuda
hinzufügt (nicht notwendig bei einem dedizierten Applikationsserver).
Installation von Autoupdate vorbereiten
Für die Konfiguration des Autoupdate-Dienstes muss eine Umgebungsdatei im selben Verzeichnis wie die Konfiguration des Routermanagements erstellt werden:
Fügen Sie folgenden Inhalt ein:
Ergänzen Sie weitere erforderliche Umgebungsvariablen, die bereits in der Routermanagement-Konfiguration definiert wurden:
Führen Sie dann folgenden Befehl aus, um die Datenbank für den Autoupdate-Dienst vorzubereiten:
Das Ergebnis sollte entweder Migration completed successfully
oder No pending migrations
sein – abhängig vom Zustand der Datenbank.
systemd-Dienste erstellen
Wechseln Sie zurück zu Ihrem administrativen Benutzer:
systemd-Dienst für das Routermanagement erstellen
Hinweis:
Falls PostgreSQL nicht auf demselben System läuft, entfernen Sie bitte die ZeileAfter=postgresql.service
im Abschnitt[Unit]
.
systemd-Dienst für Autoupdate erstellen
Hinweis:
Falls PostgreSQL nicht auf demselben System läuft, entfernen Sie bitte die ZeileAfter=postgresql.service
im Abschnitt[Unit]
.
systemd-Dienste starten
Überprüfen Sie den Status der Dienste. Sie sollten mit active (running)
und grünem Indikator angezeigt werden:
Cronjob zum Abrufen von Geräteinformationen einrichten
Fügen Sie am Ende der Datei folgende Zeilen hinzu:
NGINX-Webserver einrichten
Hinweis:
Es wird dringend empfohlen, mit der folgenden HTTP-only-Konfiguration zu starten, um den ordnungsgemäßen Betrieb der Anwendung zu überprüfen, bevor TLS aktiviert wird.
NGINX installieren
Neue NGINX-Serverkonfiguration erstellen
NGINX-Konfiguration aktivieren und Webserver anpassen
Passen Sie die Servereinstellungen an:
Konfiguration prüfen und Webserver neu starten
Systemeinstellungen anpassen
Um eine Routerverbindung einzurichten, sind Änderungen an den Systemeinstellungen erforderlich. Andernfalls schlägt der Download der Startkonfiguration eines Routers fehl.
Öffnen Sie einen Webbrowser und navigieren Sie zur installierten Anwendung:
Melden Sie sich mit den Standard-Zugangsdaten an (Benutzername und Passwort können später geändert werden):
Navigieren Sie zu:
System Administration ⇒ System settings
und passen Sie die folgenden drei Einstellungen wie folgt an:
Name | Wert |
---|---|
|
|
|
|
| IP-Adresse oder FQDN Ihres Applikationsservers |
Fully Qualified Domain Name (FQDN)
Überprüfung der Konfiguration
Navigieren Sie zur Routerliste, registrieren Sie einen neuen Router mit Dummy-Daten und versuchen Sie, die Startkonfiguration herunterzuladen.
Hinweis: Falls die Registrierung oder der Download fehlschlägt, könnte die Anwendung nicht korrekt konfiguriert sein. Prüfen Sie Netzwerk- oder Firewall-Einstellungen. Bei Bedarf wenden Sie sich bitte an unser Support-Team.
Extrahieren Sie das Tarball-Archiv und öffnen Sie die Datei ConnectionProfile_xxx.txt
in einem Editor. Der Inhalt sollte wie folgt aussehen:
Der Parameter host
muss mit der IP-Adresse Ihres Applikationsservers übereinstimmen. Wird ein FQDN verwendet, ist dieser im Parameter host
anzugeben.
Prüfung des WebSocket-Zugangs
Von einem anderen System aus prüfen Sie den WebSocket-Zugriff über:
Hinweis: Wenn die Fehlermeldung
handshake error: bad "Upgrade" header
erscheint, funktioniert die Verbindung erwartungsgemäß. Bei anderen Fehlern prüfen Sie bitte Ihre Netzwerk- oder Firewallkonfiguration.
Betrieb im HTTP-only-Modus
Die Routermanagement-Anwendung ist jetzt bereit für den Einsatz über HTTP (ohne TLS).
In folgenden Szenarien ist keine zusätzliche TLS-Verschlüsselung notwendig:
Das Netzwerk ist vollständig privat oder nicht von außen erreichbar.
Die Router sind über gesicherte VPN-Tunnel (z. B. IPSec) mit dem Unternehmensnetz verbunden.
Andernfalls wird empfohlen, die TLS-Konfiguration gemäß Anleitung vorzunehmen.
Absicherung mit TLS
Da es sich bei iRM um eine vollständig webbasierte Anwendung handelt, kann TLS auf verschiedene Arten implementiert werden. Diese Anleitung verwendet private Zertifikate und trennt Webschnittstelle und Routerverbindungen (WebSockets) über verschiedene IP-Ports, jedoch mit derselben Server-IP.
Anwendung: Port
80
Router-Zugriff: Port
8080
Nach TLS: Port
443
und8443
Hinweis:
Wenn Sie öffentliche Zertifikate, dedizierte IP-Adressen oder DNS-basierte NGINX-Hosts verwenden möchten, kontaktieren Sie bitte den Support.
Serverzertifikat erstellen
⚠️ Warnung: Selbstsignierte Zertifikate werden nicht unterstützt!
Ein auf Ihre Umgebung abgestimmtes Serverzertifikat ist erforderlich. Der Common Name (CN) sollte dem FQDN des Servers entsprechen. Für IP-basierte Zugriffe ist zusätzlich ein Subject Alternative Name (SAN) mit IP erforderlich.
Beispielhafte Zertifikatsausgabe (gekürzt):
TLS-Unterstützung für Router Management aktivieren
Damit das Router Management über TLS kommunizieren kann, benötigt es Zugriff auf das neue Serverzertifikat. Da NGINX die TLS-Terminierung übernimmt, muss lediglich das öffentliche TLS-Zertifikat hochgeladen werden, z. B. irmop1.icomcloud.net.crt
.
Zum Import des Zertifikats:
öffnen Sie die Router-Management-Oberfläche im Browser
navigieren Sie zu Certificate Management ⇒ Certificates
laden Sie das Zertifikat hoch (Name und optional Passwort erforderlich)
danach: Action ⇒ Use as server certificate auswählen
Navigieren Sie zu System Administration ⇒ System settings und setzen Sie den passenden TLS-Port:
Name | Wert |
---|---|
INVENTORY_CONNECTION_PROFILE_PORT | 8443 |
Nach diesen Änderungen kann das Router Management Verbindungen über HTTPS entgegennehmen. Testen Sie dies, indem Sie die Startkonfiguration eines zuvor registrierten Testgeräts erneut herunterladen und öffnen (z. B. ConnectionProfile_xxx.txt
). Diese sollte ein Client-Zertifikat, einen privaten Schlüssel und weitere Parameter enthalten.
Hinweis
Sollte der Download der Konfiguration fehlschlagen, wurde die TLS-Konfiguration vermutlich nicht korrekt abgeschlossen.
TLS-Client-Authentifizierung hinzufügen
Beim Registrieren eines neuen Routers generiert das System automatisch ein Client-Zertifikat. Dieses wird in die Startkonfiguration integriert und beim Gerät installiert.
Hinweis
Es wird dringend empfohlen, eine eigene Zertifizierungsstelle (CA) für Client-Zertifikate zu erstellen. Die standardmäßig generierte CA enthält Eigenschaften, die auf INSYS icom verweisen. Alternativ kann eine bestehende PKI verwendet und eine signierende CA hochgeladen werden. Bei Fragen zur PKI-Integration wenden Sie sich bitte an den Support.
Wichtig
Verwenden Sie niemals HTTPS für die Verteilung der Certificate Revocation List (CRL), da dies zu Fehlern führen kann. HTTP ist ausreichend, da CRLs signiert sind und keine sensitiven Daten enthalten.
Zur Konfiguration:
Navigieren Sie zu Certificate Management ⇒ Certificate Authorities
Klicken Sie auf Upload und wählen Sie die CA-Datei (z. B.
your_client_authentication-ca.crt
)Wählen Sie: New certificate authority with key (Format: PKCS#12)
Vergeben Sie Name und ggf. Passwort
Nach dem Upload: Select action ⇒ Configure client CA
Lesen und bestätigen Sie alle Hinweise
Dann:
Alle Router löschen und einen neuen Test-Router registrieren
Der neue Client-Zertifikat wird von der neu konfigurierten CA signiert
Falls die Registrierung fehlschlägt, überprüfen Sie die Konfiguration oder kontaktieren den Support.
TLS-Client-Authentifizierung in NGINX aktivieren
Neue Zertifizierungsstelle im PEM-Format herunterladen
Datei in SSL-Verzeichnis kopieren:
NGINX-Konfiguration für Port 8443 anpassen:
Konfiguration testen und Webserver neustarten:
Websocket-Endpunkt überprüfen
Verbindung ohne Client-Zertifikat testen:
Erwartet: Fehlerseite mit 400 No required SSL certificate was sent
Verbindung mit Client-Zertifikat:
client.crt
undclient.key
aus Startkonfiguration extrahieren
Hinweis
Bei
bad "Upgrade" header
funktioniert die Authentifizierung wie gewünscht.
Weiterleitung des Client-Zertifikats an iRM
Zur Weiterverarbeitung des Client-Zertifikats in iRM, konfigurieren Sie NGINX wie folgt:
Hinweise zur Verbindung eines icom OS Routers
Da in diesem Beispiel private Zertifikate verwendet werden, vertraut der icom OS Router der CA zunächst nicht. Daher:
CA-Zertifikate manuell im Router hochladen: Administration ⇒ Certificates
Reihenfolge beachten: Root CA zuerst, dann Zwischenstellen
Testen Sie die Verbindung:
Administration ⇒ Debugging im Router öffnen
Ping auf IP/FQDN des Router Management Servers ausführen
Registrieren Sie dann den icom OS Router in iRM und laden Sie die Startkonfiguration hoch: Administration ⇒ icom Router Management
Bei erfolgreicher Verbindung ändert sich der Verbindungsstatus zu "online".
Abschluss der Installation
Hinweis
Die Installation gilt erst nach Prüfung durch das Support-Team als abgeschlossen. Eine Checkliste zur Endabnahme ist verfügbar: Post installation checklist.