iRM auf RHEL installieren

Vorwort

Diese Installationsanleitung basiert auf Red Hat Enterprise Linux 9. Befehle können sich bei anderen Linux-Distributionen unterscheiden.

Hinweis

Es wird dringend empfohlen, ein aktuelles, auf systemd basierendes Linux-System zu verwenden.


Unterstützte Versionen

Diese Anleitung bezieht sich auf folgende Versionen:

Router Management
2025.03.0

Autoupdate
2025.03.0


Systemanforderungen

Applikationsserver

  • Red Hat Enterprise Linux 9

  • 8 vCPUs

  • 16 GB RAM

  • 100 GB HDD

Optional: Dedizierter Datenbankserver für größere Umgebungen

  • Red Hat Enterprise Linux 9

  • 8 vCPUs

  • 16 GB RAM

  • 100 GB HDD


Notwendige Pakete installieren

Installieren Sie die folgenden Pakete, die in späteren Schritten benötigt werden:

sudo yum install postgresql-server unzip nginx policycoreutils-python-utils

PostgreSQL-Datenbank einrichten

Installieren Sie einen PostgreSQL-Datenbankserver (PostgreSQL 14) auf dem Applikations- oder dedizierten Datenbankserver.

Repository-RPM installieren:

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Integriertes PostgreSQL-Modul deaktivieren:

sudo dnf -qy module disable postgresql

PostgreSQL installieren:

sudo dnf install -y postgresql14-server

Optional: Datenbank initialisieren und Autostart aktivieren

sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
sudo systemctl enable postgresql-14
sudo systemctl start postgresql-14

PSQL aufrufen und Befehle ausführen:

sudo -u postgres psql

Innerhalb von psql folgende SQL-Kommandos ausführen:

create database insysicomroutermgmt;
create user u4insysicomroutermgmt with encrypted password 'pw4insysicomroutermgmt';
alter database insysicomroutermgmt owner to u4insysicomroutermgmt;
grant all privileges on database insysicomroutermgmt to u4insysicomroutermgmt;
\q

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.

Your content goes here

Für den Zugriff von außen müssen Sie die Remoteverbindungen zulassen.

Konfigurationsdatei anpassen:

sudo vi /etc/postgresql/14/main/postgresql.conf

Folgende Zeile suchen:

#listen_addresses = 'localhost'

Auskommentieren und auf '*' setzen:

listen_addresses = '*'

Datei speichern und pg_hba.conf bearbeiten:

sudo vi /etc/postgresql/{db-psql-version}/main/pg_hba.conf

Anpassung:

Vorher:

host    all             all             127.0.0.1/32            md5

Nachher:

host    all             all             0.0.0.0/0               md5

Hinweis

Bei aktivierter Firewall Port 5432 freigeben.


Dienst neu starten:

sudo systemctl restart postgresql

Applikationsserver vorbereiten

Erstellen Sie ein Verzeichnis und kopieren Sie die Datei irm_linux_2024_10_0.zip hinein. Entpacken Sie den Inhalt und notieren Sie sich den Pfad.

mkdir dist
cd dist
mv /path/to/irm_linux_2024_10_0.zip .
unzip -j irm_linux_2024_10_0.zip
ls -aFl

Erwartete Dateien:

  • insysicom-routermgmt

  • insysicom-autoupdate

  • irm_linux_2024_10_0.zip

Zurück ins Home-Verzeichnis:

cd

Dienstbenutzer und Verzeichnisse anlegen:

sudo adduser --home /var/opt/insysicom-routermgmt --no-create-home --gecos --disabled-password insysicom-routermgmt
sudo mkdir -p /opt/insysicom-routermgmt/etc
sudo mkdir -p /opt/insysicom-routermgmt/bin
sudo cp ./dist/insysicom-routermgmt /opt/insysicom-routermgmt/bin
sudo cp ./dist/insysicom-autoupdate /opt/insysicom-routermgmt/bin
sudo chown -R insysicom-routermgmt:insysicom-routermgmt /opt/insysicom-routermgmt
sudo mkdir /var/opt/insysicom-routermgmt
sudo chown insysicom-routermgmt:insysicom-routermgmt /var/opt/insysicom-routermgmt

Routermanagement-Installation vorbereiten

Wechseln Sie zum Benutzer insysicom-routermgmt und führen Sie die Initialisierung aus.

sudo -i -u insysicom-routermgmt
cd /opt/insysicom-routermgmt/etc/
export BARRACUDA_DATABASE_DIALECT="postgres"
export BARRACUDA_DATABASE_ARGS="user=u4insysicomroutermgmt password=pw4insysicomroutermgmt dbname=insysicomroutermgmt host=localhost port=5432 sslmode=disable"
/opt/insysicom-routermgmt/bin/insysicom-routermgmt system upgrade --init --dump-config=insysicom-routermgmt.conf

Konfigurationsdatei bearbeiten:

vi /opt/insysicom-routermgmt/etc/insysicom-routermgmt.conf

Beispielhafte Einstellungen:

barracuda_admin_api_port: 9201
barracuda_admin_api_host: "127.0.0.1"
bonaventure_grpc_server_port: 50052
bonaventure_grpc_server_host: "127.0.0.1"
barracuda_service_port: 9202
barracuda_service_host: "127.0.0.1"
barracuda_api_port: 9203
barracuda_api_host: "127.0.0.1"
barracuda_swagger_host: localhost
barracuda_swagger_port: 9203
barracuda_data_path: /var/opt/insysicom-routermgmt

Autoupdate-Installation vorbereiten

Environment-Datei erstellen:

vi /opt/insysicom-routermgmt/etc/insysicom-autoupdate.env

Inhalt einfügen:

AUTOUPDATE_HTTP_PORT=8082
AUTOUPDATE_GRPC_PORT=50052
AUTOUPDATE_HTTP_READ_TIMEOUT=60s
AUTOUPDATE_SHUTDOWN_TIMEOUT=10s
FILE_STORAGE_TYPE=filesystem

Ergänzende Umgebungsvariablen hinzufügen:

echo "MASTER_KEY=$(grep -oP '(?<=barracuda_master_key: ).*' /opt/insysicom-routermgmt/etc/insysicom-routermgmt.conf)" >> /opt/insysicom-routermgmt/etc/insysicom-autoupdate.env
echo "DATABASE_ARGS=\"$(grep -oP '(?<=barracuda_database_args: ).*' /opt/insysicom-routermgmt/etc/insysicom-routermgmt.conf) $(grep -oP 'dbname=.*' /opt/insysicom-routermgmt/etc/insysicom-routermgmt.conf)\"" >> /opt/insysicom-routermgmt/etc/insysicom-autoupdate.env
echo "DATA_DIRECTORY=$(grep -oP '(?<=barracuda_data_path: ).*' /opt/insysicom-routermgmt/etc/insysicom-routermgmt.conf)" >> /opt/insysicom-routermgmt/etc/insysicom-autoupdate.env

Migration ausführen:

set -a
source /opt/insysicom-routermgmt/etc/insysicom-autoupdate.env
set +a
/opt/insysicom-routermgmt/bin/insysicom-autoupdate -migrate

Systemd-Dienste erstellen

Zurück zum Admin-Nutzer:

exit

Routermanagement-Dienst:

sudo vi /etc/systemd/system/insysicom-routermgmt.service

Inhalt:

[Unit]
Description=INSYS icom Router Management
After=postgresql.service
Wants=postgresql.service

[Service]
Type=simple
User=insysicom-routermgmt
Group=insysicom-routermgmt
WorkingDirectory=/var/opt/insysicom-routermgmt
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=insysicom-routermgmt
ExecStart=/opt/insysicom-routermgmt/bin/insysicom-routermgmt serve all -c /opt/insysicom-routermgmt/etc/insysicom-routermgmt.conf

[Install]
WantedBy=multi-user.target

Autoupdate-Dienst:

sudo vi /etc/systemd/system/insysicom-autoupdate.service

Inhalt:

[Unit]
Description=INSYS icom Autoupdateserver
After=postgresql.service
Wants=postgresql.service

[Service]
Type=simple
User=insysicom-routermgmt
Group=insysicom-routermgmt
WorkingDirectory=/var/opt/insysicom-routermgmt
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=insysicom-autoupdate
EnvironmentFile=/opt/insysicom-routermgmt/etc/insysicom-autoupdate.env
ExecStart=/opt/insysicom-routermgmt/bin/insysicom-autoupdate -serve-autoupdate

[Install]
WantedBy=multi-user.target

Systemd-Timer erstellen:

sudo systemctl edit --force --full insysicom-routermgmt-system@.timer

Inhalt:

[Unit]
Description=Run insysicom-routermgmt system %I Daily

[Timer]
OnCalendar=Daily
Persistent=true
AccuracySec=1us
RandomizedDelaySec=12h
Unit=insysicom-routermgmt-system@%I.service

[Install]
WantedBy=timers.target

Systemd-Service:

sudo systemctl edit --force --full insysicom-routermgmt-system@.service

Inhalt:

[Unit]
Description=Run insysicom-routermgmt system %I

[Service]
Type=oneshot
User=insysicom-routermgmt
Group=insysicom-routermgmt
ExecStart=/opt/insysicom-routermgmt/bin/insysicom-routermgmt system %I -c /opt/insysicom-routermgmt/etc/insysicom-routermgmt.conf

Systemd-Dienste starten

sudo systemctl daemon-relaod
sudo systemctl enable --now insysicom-routermgmt.service insysicom-autoupdate.service insysicom-routermgmt-system@fetchDeviceInfo.timer insysicom-routermgmt-system@updateLicenseStatus.timer

Dienste prüfen:

sudo systemctl status insysicom-routermgmt.service
sudo systemctl status insysicom-autoupdate.service

Der Status sollte active (running) anzeigen und grün markiert sein.


Einrichtung des NGINX-Webservers

Hinweis

Wir empfehlen dringend, zunächst die HTTP-only-Konfiguration umzusetzen und den ordnungsgemäßen Betrieb der Routermanagement-Applikation zu verifizieren, bevor TLS aktiviert wird.


Neue NGINX-Serverkonfiguration erstellen

sudo vi /etc/nginx/sites-available/insysicom-routermgmt

Verlinken Sie die Datei ggf. in das Verzeichnis /etc/nginx/conf.d/.

Inhalt der Konfigurationsdatei:

nginxCopyEditserver {
    listen 80;
    listen [::]:80;
    server_name _;

    client_max_body_size 300M;
    client_header_timeout 600;
    client_body_timeout 600;
    send_timeout 600;
    proxy_read_timeout 600;

    location = / {
        return 301 /ui;
    }
    location /ui/ {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:9203;
    }
    location /api/ {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:9203;
    }
    location /auth/ {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:9203;
    }
    location /graphql {
        proxy_read_timeout 180s;
        proxy_connect_timeout 180s;
        proxy_send_timeout 180s;
        send_timeout 180s;
        proxy_pass http://127.0.0.1:9203/graphql;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
    }
}

server {
    listen 8081;
    listen [::]:8081;
    server_name _;
    location /devicecontrol {
        proxy_read_timeout 180s;
        proxy_connect_timeout 180s;
        proxy_send_timeout 180s;
        send_timeout 180s;
        proxy_pass http://127.0.0.1:9202/devicecontrol;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    location /autoupdate/ {
        proxy_pass http://127.0.0.1:8082;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Achtung – SELinux-Einschränkung

Da SELinux spezielle Ports reserviert, muss Port 8081 für die Inventory-Verbindung verwendet werden. Bitte stellen Sie sicher, dass dieser Port verfügbar ist.


NGINX-Servereinstellungen anpassen

sudo vi /etc/nginx/default.d/nginx.conf

Oder direkt in:

/etc/nginx/nginx.conf

Ändern Sie bzw. ergänzen Sie:

worker_rlimit_nofile 40000;
events {
    worker_connections 20000;
    # multi_accept on;
}
http {
    ...
    server_names_hash_bucket_size 64;
    ...
}

Konfiguration validieren und Webserver neu starten

sudo nginx -t
sudo systemctl restart nginx

SELinux-Konfiguration (nur RHEL)

Führen Sie folgende Kommandos aus, um NGINX den Zugriff auf die Backend-Prozesse zu erlauben:

sudo semanage port -a -t http_port_t -p tcp 8082
sudo semanage port -a -t http_port_t -p tcp 9202
sudo semanage port -a -t http_port_t -p tcp 9203
setsebool -P httpd_can_network_connect 1

Systemkonfiguration anpassen

Öffnen Sie im Browser die Adresse der Applikation (z. B. http://<server_ip>).
Melden Sie sich mit den Standard-Zugangsdaten an:

  • Benutzername: default

  • Passwort: secret

Navigieren Sie zu:
System Administration ⇒ System settings
und passen Sie folgende Werte an:

Name

Wert

DEVICECONTROL_SERVER_CERT

NONE

AUTOUPDATE_SERVER_CERT

NONE

INVENTORY_CONNECTION_PROFILE_HOSTNAME

IP-Adresse oder FQDN Ihres Applikationsservers

INVENTORY_CONNECTION_PROFILE_PORT

8081


Verbindung testen

  1. Navigieren Sie zur Routerliste.

  2. Registrieren Sie einen Testrouter mit Dummy-Werten.

  3. Laden Sie die Startkonfiguration herunter.

Entpacken Sie das Archiv und öffnen Sie die Datei ConnectionProfile_xxx.txt. Der Inhalt sollte wie folgt aussehen:

host = "164.90.225.14"
path = "devicecontrol"
active_https = "0"
port = "8081"
device_id = "9a201fa4-c022-49ae-a5ba-86ee79acbbdd"
realm_uri = "devices.insys-tec.net"
-- configure the remote management service
cli("administration.remote_management.active=1")
cli("administration.remote_management.host=" .. host)
cli("administration.remote_management.path=" .. path)
cli("administration.remote_management.port=" .. port)
cli("administration.remote_management.device_id=" .. device_id)
cli("administration.remote_management.realm_uri=" .. realm_uri)
cli("administration.remote_management.active_https=" .. active_https)
cli("administration.remote_management.client_cert=" .. cert_name)
cli("administration.remote_management.client_key=" .. key_name)

-- activate profile
cli("administration.profiles.activate")

WebSocket-Verfügbarkeit prüfen

curl http://164.90.225.14:8081/devicecontrol

Erwartete Antwort

handshake error: bad "Upgrade" header ⇒ Dies bedeutet, dass alles wie erwartet funktioniert.


Routermanagement im HTTP-only-Modus betriebsbereit

Die Applikation ist einsatzbereit.
TLS ist nicht zwingend erforderlich, wenn:

  • die Infrastruktur vollständig privat ist, oder

  • die Router ausschließlich über sichere VPNs (z. B. IPsec) kommunizieren.

Wenn dies nicht zutrifft, sollten Sie mit der TLS-Absicherung fortfahren.


Absicherung mittels TLS

TLS wird durch NGINX terminiert. Die Applikation nutzt weiterhin localhost-Ports (9203, 9202). In der TLS-Konfiguration:

  • 443 ersetzt Port 80 (Frontend),

  • 8443 ersetzt 8081 (Routerverbindungen).


Hinweis – Keine Self-Signed-Zertifikate

Ein signiertes Zertifikat mit:

  • FQDN als Common Name,

  • optional IP als Subject Alternative Name (SAN)

ist erforderlich.

Beispielhafte Zertifikatsstruktur (gekürzt dargestellt) folgt in der Anleitung und muss als PEM-Dateien vorliegen:

  1. Zertifizierungsstelle: iRM_Install_Guide_Certificate_Services.crt

  2. Server-Zertifikat: irmop1.icomcloud.net.crt

  3. Privater Schlüssel: irmop1.icomcloud.net.key


TLS-Parameter konfigurieren

sudo vi /etc/nginx/snippets/ssl-params.conf

Beispielkonfiguration:

nginxCopyEditssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/dhparam.pem;
...
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";

DH-Parameter erzeugen:

openssl dhparam -out /etc/nginx/dhparam.pem 4096

Zertifikatskette erstellen:

sudo mkdir /etc/nginx/ssl
sudo cat irmop1.icomcloud.net.crt iRM_Install_Guide_Certificate_Services.crt > /etc/nginx/ssl/insysicom-routermgmt.crt
sudo cp irmop1.icomcloud.net.key /etc/nginx/ssl/insysicom-routermgmt.key
sudo chmod 600 /etc/nginx/ssl/insysicom-routermgmt.key

Snippet für Zertifikat einfügen

sudo vi /etc/nginx/snippets/insysicom-routermgmt-ssl.conf
ssl_certificate /etc/nginx/ssl/insysicom-routermgmt.crt;
ssl_certificate_key /etc/nginx/ssl/insysicom-routermgmt.key;

TLS in Server-Konfiguration einbinden

Erweitern Sie /etc/nginx/sites-available/insysicom-routermgmt um die Konfiguration für TLS (443 + 8443).

Siehe Originalkonfiguration aus deinem Text (wird beibehalten).


Konfiguration validieren

sudo nginx -t
sudo systemctl restart nginx
curl --cacert iRM_Install_Guide_Certificate_Services.crt https://164.90.225.14:8443/devicecontrol

Erwartetes Ergebnis:

handshake error: bad "Upgrade" header


TLS-Zertifikat in Routermanagement hochladen

  1. Navigieren Sie in der Weboberfläche zu:
    Certificate Management ⇒ Certificates

  2. Laden Sie das TLS-Zertifikat hoch (irmop1.icomcloud.net.crt)

  3. Wählen Sie anschließend:
    Action ⇒ Use as server certificate


Systemkonfiguration aktualisieren

System Administration ⇒ System settings

Name

Wert

INVENTORY_CONNECTION_PROFILE_PORT

8443


Nach diesen Änderungen ist die Kommunikation der Router per HTTPS abgesichert.
Die ConnectionProfile_xxx.txt wird nun auch Client-Zertifikate und Schlüssel enthalten.

Hinweis

Falls das Herunterladen der Startkonfiguration fehlschlägt, ist die TLS-Konfiguration unvollständig oder fehlerhaft.

TLS-Client-Authentifizierung hinzufügen

Wenn ein neuer Router in der Routermanagement-Applikation registriert wird, wird automatisch ein Client-Zertifikat für den Router erstellt. Dieses Zertifikat ist Bestandteil der Startkonfiguration und wird auf dem Router installiert.

Hinweis

Es wird dringend empfohlen, eine separate Zertifizierungsstelle (CA) für die Signierung von Client-Zertifikaten zu erstellen – anstelle der mitgelieferten CA. Bei der Initialisierung erzeugt Routermanagement automatisch eine CA und verwendet sie als Standard für Client-Zertifikate. Diese enthält jedoch Attributangaben zu INSYS icom GmbH.

In dieser Anleitung wird eine interne PKI verwendet. Alternativ kann eine bestehende PKI genutzt und eine signierende CA hochgeladen werden. Bei Fragen zur Einbindung einer bestehenden PKI wenden Sie sich bitte an den Support.

Wichtiger Hinweis zur CRL-Distribution:

Verwenden Sie niemals HTTPS als Protokoll für die Verteilung der Certificate Revocation List (CRL), da dies zu Fehlern beim Herunterladen führen kann. Verwenden Sie stattdessen immer unverschlüsseltes HTTP. Die CRL enthält keine sensiblen Daten und ist durch die CA signiert – dies stellt kein Sicherheitsrisiko dar.


Zertifizierungsstelle für Client-Zertifikate hochladen

  1. Öffnen Sie im Browser die Routermanagement-Oberfläche.

  2. Navigieren Sie zu: Certificate Management ⇒ Certificate Authorities

  3. Klicken Sie auf Upload, wählen Sie die Datei your_client_authentication-ca.crt aus.

  4. Wählen Sie New certificate authority with key (Format: PKCS#12).

  5. Vergabe eines Namens und ggf. Passworts.

Nach dem Upload:

  • Die CA markieren

  • Rechts oben: Select action ⇒ Configure client CA

  • Hinweise lesen und bestätigen

Da standardmäßig die integrierte CA verwendet wird, muss die neue CA explizit aktiviert werden.


Client-Zertifikaterzeugung testen

  1. Wechseln Sie in der Routermanagement-Oberfläche zu Routers.

  2. Löschen Sie alle registrierten Router.

  3. Registrieren Sie einen Testrouter erneut.

Ein neues Client-Zertifikat wird erstellt und durch die neue CA signiert.

Hinweis

Falls die Registrierung fehlschlägt, liegt vermutlich ein Konfigurationsfehler vor. Wenden Sie sich an den Support.


TLS-Client-Authentifizierung in NGINX aktivieren

  1. Laden Sie die neue CA (your_client_authentication-ca.crt) im PEM-Format herunter.

  2. Kopieren Sie diese in das SSL-Verzeichnis von NGINX:

sudo cp your_client_authentication-ca.crt /etc/nginx/ssl
  1. Bearbeiten Sie die Server-Konfiguration für Port 8443:

sudo vi /etc/nginx/sites-available/insysicom-routermgmt

Ergänzen Sie innerhalb des passenden server-Blocks:

ssl_client_certificate /etc/nginx/ssl/your_client_authentication-ca.crt;
ssl_verify_client on;

NGINX-Konfiguration überprüfen und neu starten

sudo nginx -t
sudo systemctl restart nginx

Verbindungsversuch ohne Client-Zertifikat

curl https://164.90.225.14:8443/devicecontrol

Erwartete Antwort:

<html>
<head><title>400 No required SSL certificate was sent</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<center>No required SSL certificate was sent</center>
<hr><center>nginx/1.18.0</center>
</body>
</html>

Verbindungsversuch mit gültigem Client-Zertifikat

  1. Laden Sie die Startkonfiguration des zuvor registrierten Routers herunter.

  2. Entpacken Sie das Archiv und öffnen Sie ConnectionProfile_xxx.txt.

  3. Extrahieren Sie die PEM-Blöcke für:

    • Zertifikat → client.crt

    • Privater Schlüssel → client.key

  4. Führen Sie folgenden Befehl aus:

curl --cert client.crt --key client.key --cacert iRM_Install_Guide_Certificate_Services.crt https://164.90.225.14:8443/devicecontrol

Erwartetes Ergebnis

handshake error: bad "Upgrade" header → TLS-Client-Authentifizierung funktioniert wie erwartet.


Weiterleitung des Client-Zertifikats an Routermanagement

Bearbeiten Sie erneut die NGINX-Konfiguration:

sudo vi /etc/nginx/sites-available/insysicom-routermgmt

Ergänzen Sie in den entsprechenden location-Blöcken:

proxy_set_header X-Forwarded-Client-Cert $ssl_client_cert;

z. B.:

nginxCopyEditlocation /devicecontrol {
    ...
    proxy_set_header X-Forwarded-Client-Cert $ssl_client_cert;
}
location /autoupdate/ {
    ...
    proxy_set_header X-Forwarded-Client-Cert $ssl_client_cert;
}

NGINX erneut prüfen und starten

sudo nginx -t
sudo systemctl restart nginx

Hinweise zur Verbindung eines icom OS Routers

Da in diesem Setup private Zertifikate verwendet werden, vertraut der icom OS Router dem Serverzertifikat nicht. Es ist notwendig, die CA-Zertifikate auf dem Router zu installieren:

  1. Öffnen Sie die Weboberfläche des Routers.

  2. Navigieren Sie zu: Administration ⇒ Certificates

  3. Laden Sie die CA hoch, die das Serverzertifikat signiert hat.
    Falls eine CA-Hierarchie existiert, zuerst Root CA, dann Zwischenzertifikate in korrekter Reihenfolge.

Netzwerkverbindung prüfen:

  • Sicherstellen, dass der Router den Management-Server erreichen kann.

  • Testen mittels Administration ⇒ Debugging ⇒ Ping auf IP/FQDN.

Zeitsynchronisierung sicherstellen:

  • NTP muss korrekt konfiguriert sein.

  • Datum und Uhrzeit müssen korrekt gesetzt sein, da Zertifikate andernfalls abgelehnt werden.


Router mit Management verbinden

  1. Router in der Management-Oberfläche registrieren.

  2. Startkonfiguration herunterladen.

  3. In der Router-Oberfläche unter Administration ⇒ icom Router Management hochladen.

Erwartetes Ergebnis

Die Verbindung wird hergestellt und der Status des Routers wechselt auf online.


Abschluss der Installation

Achtung

Die Installation gilt erst nach formeller Abnahme durch das Support-Team als abgeschlossen. Eine Checkliste zur Überprüfung kann hier heruntergeladen werden: Post-installation checklist