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
8 vCPUs
16 GB RAM
100 GB Festplattenspeicher
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:
sudo apt update
sudo apt install postgresql-14 -y
Melden Sie sich anschließend als PostgreSQL-Benutzer an, starten Sie das psql
-Kommandozeilenwerkzeug und führen Sie die SQL-Befehle aus:
sudo -u postgres psql
Führen Sie nun folgende SQL-Befehle zur Erstellung von Datenbank und Benutzer aus:
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.
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
:
sudo vi /etc/postgresql/14/main/postgresql.conf
Suchen Sie folgende Zeile:
#listen_addresses = 'localhost'
Kommentieren Sie diese aus und ändern Sie den Wert wie folgt, um Zugriffe von außen zu erlauben:
listen_addresses = '*'
Speichern und schließen Sie die Datei. Bearbeiten Sie nun die Datei pg_hba.conf
, um externe Verbindungen zu erlauben:
sudo vi /etc/postgresql/{db-psql-version}/main/pg_hba.conf
Ersetzen Sie folgenden Eintrag:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
durch:
# IPv4 local connections:
host all all 0.0.0.0/0 md5
Falls eine aktive Firewall vorhanden ist, öffnen Sie den PostgreSQL-Port:
sudo ufw allow 5432/tcp
Starten Sie abschließend den Datenbankdienst neu:
sudo systemctl restart postgresql
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.
mkdir dist
unzip irm_linux_2025_03_0.zip -d dist
ls -aFl dist
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
:
sudo chmod +x dist/insysicom-routermgmt
Für die Datei insysicom-autoupdate
:
sudo chmod +x dist/insysicom-autoupdate
Erstellen Sie einen Systembenutzer sowie alle benötigten Verzeichnisse. Füllen Sie die Verzeichnisse mit Konfigurationsdateien und Binärdateien der Anwendung:
sudo mkdir /var/opt/insysicom-routermgmt
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 chown -R insysicom-routermgmt:insysicom-routermgmt /var/opt/insysicom-routermgmt
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 ..."
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
Passen Sie die Konfiguration in der Datei insysicom-routermgmt.conf
an, um die Kommunikation zwischen diesem Dienst und dem Autoupdate-Dienst zu ermöglichen:
vi /opt/insysicom-routermgmt/etc/insysicom-routermgmt.conf
/opt/insysicom-routermgmt/etc/insysicom-routermgmt.conf
barracuda_admin_api_port: 9201
barracuda_admin_api_host: "127.0.0.1"
barracuda_grpc_server_port: 50051
barracuda_grpc_server_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
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:
vi /opt/insysicom-routermgmt/etc/insysicom-autoupdate.env
Fügen Sie folgenden Inhalt ein:
AUTOUPDATE_HTTP_PORT=8082
AUTOUPDATE_GRPC_PORT=50052
AUTOUPDATE_HTTP_READ_TIMEOUT=60s
AUTOUPDATE_SHUTDOWN_TIMEOUT=10s
FILE_STORAGE_TYPE=filesystem
Ergänzen Sie weitere erforderliche Umgebungsvariablen, die bereits in der Routermanagement-Konfiguration definiert wurden:
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
Führen Sie dann folgenden Befehl aus, um die Datenbank für den Autoupdate-Dienst vorzubereiten:
set -a
source /opt/insysicom-routermgmt/etc/insysicom-autoupdate.env
set +a
/opt/insysicom-routermgmt/bin/insysicom-autoupdate -migrate
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:
exit
systemd-Dienst für das Routermanagement erstellen
sudo vi /etc/systemd/system/insysicom-routermgmt.service
Hinweis:
Falls PostgreSQL nicht auf demselben System läuft, entfernen Sie bitte die ZeileAfter=postgresql.service
im Abschnitt[Unit]
.
[Unit]
Description=INSYS icom Router Management
After=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
systemd-Dienst für Autoupdate erstellen
sudo vi /etc/systemd/system/insysicom-autoupdate.service
Hinweis:
Falls PostgreSQL nicht auf demselben System läuft, entfernen Sie bitte die ZeileAfter=postgresql.service
im Abschnitt[Unit]
.
[Unit]
Description=INSYS icom Autoupdateserver
After=postgresql.service
[Service]
Type=simple
User=insysicom-routermgmt
Group=insysicom-routermgmt
WorkingDirectory=/var/opt/insysicom-routermgmt
StandardOutput=file:/var/opt/insysicom-routermgmt/autoupdate_stdout.log
StandardError=file:/var/opt/insysicom-routermgmt/autoupdate_stderr.log
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-Dienste starten
sudo systemctl enable insysicom-routermgmt.service
sudo systemctl start insysicom-routermgmt.service
sudo systemctl enable insysicom-autoupdate.service
sudo systemctl start insysicom-autoupdate.service
Überprüfen Sie den Status der Dienste. Sie sollten mit active (running)
und grünem Indikator angezeigt werden:
sudo systemctl status insysicom-routermgmt.service
sudo systemctl status insysicom-autoupdate.service
Cronjob zum Abrufen von Geräteinformationen einrichten
sudo crontab -e
Fügen Sie am Ende der Datei folgende Zeilen hinzu:
30 4 * * * /opt/insysicom-routermgmt/bin/insysicom-routermgmt system fetchDeviceInfo -c /opt/insysicom-routermgmt/etc/insysicom-routermgmt.conf;
0 0 * * * /opt/insysicom-routermgmt/bin/insysicom-routermgmt system updateLicenseStatus -c /opt/insysicom-routermgmt/etc/insysicom-routermgmt.conf;
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
sudo apt update
sudo apt install nginx
Neue NGINX-Serverkonfiguration erstellen
sudo vi /etc/nginx/sites-available/insysicom-routermgmt
server {
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 8080;
listen [::]:8080;
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;
}
}
NGINX-Konfiguration aktivieren und Webserver anpassen
sudo ln -s /etc/nginx/sites-available/insysicom-routermgmt /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
Passen Sie die Servereinstellungen an:
sudo vi /etc/nginx/nginx.conf
...
worker_rlimit_nofile 40000;
events {
worker_connections 20000;
# multi_accept on;
}
http {
...
server_names_hash_bucket_size 64;
...
}
...
Konfiguration prüfen und Webserver neu starten
sudo nginx -t
sudo systemctl restart nginx
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:
http://myserver_or_ip_address
Melden Sie sich mit den Standard-Zugangsdaten an (Benutzername und Passwort können später geändert werden):
Username: default
Password: secret
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:
host = "164.90.225.14"
path = "devicecontrol"
active_https = "0"
port = "8080"
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")
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:
curl http://164.90.225.14:8080/devicecontrol
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):
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 5909721596463708658 (0x52038c7b1eac79f2)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=DE, L=Regensburg, O=INSYS MICROELECTRONICS GmbH, CN=iRM Install Guide Certificate Services
Validity
Not Before: May 24 12:40:00 2022 GMT
Not After : May 24 12:40:00 2032 GMT
Subject: C=DE, L=Regensburg, O=INSYS MICROELECTRONICS GmbH, CN=iRM Install Guide Certificate Services
X509v3 extensions:
X509v3 Basic Constraints:
CA:TRUE
X509v3 Key Usage: critical
Certificate Sign, CRL Sign
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:
sudo cp your_client_authentication-ca.crt /etc/nginx/ssl
NGINX-Konfiguration für Port 8443 anpassen:
sudo vi /etc/nginx/sites-available/insysicom-routermgmt
server {
listen 8443 ssl;
...
ssl_client_certificate /etc/nginx/ssl/your_client_authentication-ca.crt;
ssl_verify_client on;
...
}
Konfiguration testen und Webserver neustarten:
sudo nginx -t
sudo systemctl restart nginx
Websocket-Endpunkt überprüfen
Verbindung ohne Client-Zertifikat testen:
curl https://164.90.225.14:8443/devicecontrol
Erwartet: Fehlerseite mit 400 No required SSL certificate was sent
Verbindung mit Client-Zertifikat:
client.crt
undclient.key
aus Startkonfiguration extrahieren
curl --cert client.crt --key client.key --cacert iRM_Install_Guide_Certificate_Services.crt https://164.90.225.14:8443/devicecontrol
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:
sudo vi /etc/nginx/sites-available/insysicom-routermgmt
server {
listen 8443 ssl;
...
location /devicecontrol {
...
proxy_set_header X-Forwarded-Client-Cert $ssl_client_cert;
}
location /autoupdate/ {
...
proxy_set_header X-Forwarded-Client-Cert $ssl_client_cert;
}
}
sudo nginx -t
sudo systemctl restart nginx
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.