Die Router von INSYS icom können als OpenVPN-Server agieren und/oder als OpenVPN-Client Verbindungen zu einem OpenVPN-Server aufbauen.
Dieser Configuration Guide zeigt, wie Sie einen Router von INSYS icom als OpenVPN-Client konfigurieren.
Situation
Der Router soll als Client in ein bestehendes OpenVPN-Netzwerk eingebunden werden.
Lösung
Zur Konfiguration einer OpenVPN-Verbindung gibt es mehrere Möglichkeiten:
Mit dem Schnellstart-Assistenten des Routers kann neben der Konfiguration des Internet-Zugangs optional auch eine OpenVPN-Verbindung vorbereitet werden.
Bei einem bereits konfigurierten Router kann eine (weitere) OpenVPN-Verbindung manuell hinzugefügt werden.
Mit unserem Konverter-Tool kann eine OpenVPN-Konfigurationsdatei in eine ASCII-Konfigurationsdatei zur Konfiguration des OpenVPN-Clients im Router umgewandelt werden.
Es wird vorausgesetzt, dass die entsprechenden Zertifikate und Schlüssel oder eine OpenVPN-Konfigurationsdatei zur Verfügung stehen sowie die Konfiguration des Servers bekannt ist.
Halten sie Ihren Router aktuell!
Aktualisieren Sie Ihren Router zuerst auf icom OS 7.3 oder höher! Ab dieser Version wurden sämtliche Verschlüsselungsalgorithmen entfernt, die mittlerweile als nicht mehr ausreichend sicher betrachtet werden, was eine versehentliche Verwendung solcher Algorithmen ausschließt.
Konfiguration mit Schnellstart-Assistent
Für folgende Vorgehensweise wird davon ausgegangen, dass sich der Router in Werkseinstellungen befindet.
Öffnen Sie die Bedienoberfläche des Routers: https://insys.icom
Klicken sie auf dem Startbildschirm unter Schnellstart-Assistent auf Zum Schnellstart-Assistenten.
Klicken Sie im Menü Assistenten → Schnellstart-Assistent auf STARTEN .
Ändern Sie wenn erforderlich die Einstellungen zur Systemzeit und klicken Sie auf WEITER .
Geben Sie zur Authentifizierung einen Benutzername und ein Passwort ein oder konfigurieren Sie eine Authentifizierung durch Zertifikate und klicken Sie auf WEITER .
Konfigurieren Sie die Internetverbindung und klicken Sie auf WEITER .
Wählen Sie unter Art der VPN-Verbindung OpenVPN und als Betriebsart Client.
Wenn Sie eine OpenVPN-Konfigurationsdatei haben, wählen Sie Client-Konfiguration importieren (.ovpn) und laden Sie die Konfigurationsdatei im Feld darunter hoch.
Bitte beachten Sie!
Verschieden OpenVPN-Server, wie zum Beispiel die icom Connectivity Suite, stellen fertige Konfigurationsdateien für Clients zur Verfügung, die eine vollständige OpenVPN-Konfiguration und die zugehörigen Zertifikate und Schlüssel enthalten.
Wenn Sie den OpenVPN-Client manuell konfigurieren, wählen Sie Manuelle Client-Konfiguration und konfigurieren Sie die Verbindung zum OpenVPN-Sever manuell:
Geben Sie die Adresse des OpenVPN-Servers als VPN-Server-Adresse ein.
Geben Sie die vom OpenVPN-Server verwendeten Port-Adressen des Tunnels lokal und an der Gegenstelle bei Tunneln über Port ein.
Laden Sie die erforderlichen Zertifikate und Schlüssel hoch.
Klicken Sie auf WEITER .
Passen Sie wenn erforderlich die LAN-Einstellungen an und klicken Sie auf WEITER .
Klicken Sie auf SPEICHERN, um die Einstellungen des Schnellstart-Assistenten zu speichern.
Klicken Sie auf FERTIGSTELLEN , um den Schnellstart-Assistenten abzuschließen.
Manuelle Konfiguration
Für folgende Vorgehensweise wird davon ausgegangen, dass der Router bereits mit den Netzwerken für WAN (Internet) und LAN (lokale Netzwerke) und andere Funktionen konfiguriert ist. Der OpenVPN-Client wird dann nur noch dieser funktionierenden Konfiguration hinzugefügt. Sollten bereits OpenVPN-Verbindungen konfiguriert sein, wird diese Verbindung zu den bereits vorhandenen zusätzlich hinzugefügt.
Öffnen Sie die Bedienoberfläche des Routers: https://insys.icom
Klicken sie Menü Netzwerk → Interfaces im Abschnitt OpenVPN auf , um ein OpenVPN-Netzwerk hinzuzufügen.
Klicken Sie oben rechts auf zur erweiterten Ansicht, um die detaillierten Einstellungen anzuzeigen.
Geben Sie eine aussagekräftige Beschreibung ein und wählen Sie die Betriebsart Client.
Geben Sie unter IP-Adresse oder Domainname der Gegenstelle die Adresse des OpenVPN-Servers ein.
Geben Sie unter Tunneln über Port den Port, über den der gesamte Datenverkehr des Tunnels läuft, ein; dieser kann lokal und an der Gegenstelle unterschiedlich sein; dann ist jedoch dafür zu sorgen, dass alle VPN-Teilnehmer entsprechend konfiguriert sind.
Wählen Sie das vom Server verwendete Protokoll.
Markieren Sie die Checkbox Zertifikate hochladen und anwenden und laden Sie das CA-Zertifikat, das Zertifikat und den Privaten Schlüssel hoch.
Konfigurieren sie die weiteren Parameter gemäß den Anforderungen Ihres OpenVPN-Servers.
Hinweise zu diesen weiteren Parametern
Alternativ oder zusätzlich zu der Benutzung eines Client-Zertifikates und eines privaten Schlüssels kann eine Benutzername/Passwort-Kombination für die Authentifizierung beim OpenVPN-Server benutzt werden. Es wird jedoch auf alle Fälle das CA-Zertifikat benötigt, über das jeder Teilnehmer dieses VPNs verfügen muss.
Zusätzlich ist es möglich, einen statischen Schlüssel zur Authentifizierung und Verschlüsselung (tls-crypt) oder nur zur Authentifizierung (tls-auth) zu verwenden:
Wird ein Schlüssel für tls-crypt gewählt, muss dieser auch von der Gegenstelle verwendet werden.
Wird ein Schlüssel für tls-auth gewählt, kann optional angegeben werden, dass der statische Schlüssel nur für eine bestimmte Benutzungsrichtung benutzt werden soll. Wichtig dabei ist, dass diese Einstellung mit der VPN-Gegenstelle abgestimmt ist, d.h. bei beiden ist keine Richtung eingestellt oder die Einstellungen sind komplementär (0/1 bzw. 1/0). Der selbe Schlüssel muss auch von der Gegenstelle verwendet werden.
Dabei ist zu beachten, dass nicht beide Verfahren gleichzeitig aktiviert werden, indem ein Schlüssel ausgewählt wird!
Wenn bei der automatischen Aushandlung der Verschlüsselung des Datenverkehrs innerhalb des Tunnels keine Einigkeit erzielt wird, wird der hier eingestellte Verschlüsselungs-Algorithmus verwendet. Nach TR-02102-2 werden dafür AES CGM und AES CBC empfohlen. Nicht empfohlen werden DES, RC2, CAST, Blowfish und IDEA. Der hier eingestellte Hash-Algorithmus wird unabhängig von der automatischen Aushandlung verwendet. Nach TR-02102-2 werden dafür SHA-256, 384 und 512 empfohlen. Nicht empfohlen werden SHA-1 und 224.
Mit der Checkbox Zertifikatstyp der Gegenstelle überprüfen kann überprüft werden, ob das Zertifikat der Gegenstelle das eines Servers bzw. Clients ist. Damit können beispielsweise Man-in-the-Middle-Angriffe vermieden werden.
Mit der Checkbox Default-Route setzen (redirect-gateway) kann die Default-Route so gesetzt werden, dass jeglicher Datenverkehr durch den Tunnel geroutet wird.
Mit der Checkbox Lokale Adresse und Port nicht fixieren (nobind) kann die Festlegung der lokalen IP-Adresse und des lokalen Ports für einen OpenVPN-Client aufgehoben werden.
Mit der Checkbox Gegenstelle darf ihre IP-Adresse ändern (float) wird ermöglicht, dass der Tunnel weiter genutzt werden kann, wenn die Gegenstelle nach erfolgreicher Authentifizierung ihre IP-Adresse ändert.
Mit der Checkbox LZO-Komprimierung aktivieren wird der Datenverkehr mit LZO (Lempel-Ziv-Oberhumer) komprimiert. Diese Einstellung muss für Client und Server identisch sein.
Die Ausführlichkeit der Meldungen, die in das Log eingetragen werden, kann unter Log-Level eingestellt werden. Mit 0 wird das Führen des Logs komplett deaktiviert, mit 9 wird äußerst detailliert mitgeloggt. Als Standard empfiehlt sich der Level 3.
Die Schlüssel für die Datenverbindung werden in regelmäßigen Abständen ausgetauscht. Unter Intervall bis zur Schlüsselerneuerung wird die Zeit eingestellt, nach deren Ablauf neue Schlüssel erzeugt werden.
Mit dem Ping-Intervall wird eingestellt, in welchen Abständen über den Tunnel Kontrolldaten gesendet werden sollen, wenn ansonsten kein Datenverkehr herrscht. Damit können nach einem Zusammenbruch des Tunnels die Kommunikationspartner den Tunnel geordnet abbauen. Mit dem Ping-Intervall werden auch stateful Firewalls auf der Gegenstelle davon abgehalten den Tunnel nach einer längeren Kommunikationspause selbständig zu blocken. Mit dem Wert 0 wird der regelmäßige Ping deaktiviert.
Mit dem Ping-Restart-Intervall wird eingestellt, nach wie vielen Sekunden der Tunnel neu aufgebaut werden soll, wenn während der gesamten Zeit kein Ping von der Gegenstelle angekommen ist. Mit dem Wert 0 wird der Tunnel nie abgebaut, auch wenn kein Ping mehr empfangen wird.
Wenn bei der Datenübertragung aufgrund der Paketgrößen Fehler auftreten, können die Pakete über die Parameter Fragmentierung der Tunnelpakete, Maximale Segmentgröße anpassen (mssfix), Link-Layer MTU (link-mtu) und Tunnel-Interface MTU (tun-mtu) entsprechend angepasst werden. Diese Parameter sollten nur geändert werden, wenn man sich der Auswirkungen bewusst ist und das OpenVPN-Referenzhandbuch zu Rate gezogen hat.
Die maximale Wartezeit für den Verbindungsaufbau ist die Zeit, welche dem Aufbau des OpenVPN-Tunnels innerhalb der WAN-Kette gewährt wird. Kann der Tunnel in dieser Zeit nicht aufgebaut werden, gilt er in der WAN-Kette als nicht verfügbar.
Klicken Sie auf SPEICHERN.
Klicken sie Menü Netzwerk → Firewall / NAT im Abschnitt IP-Filter auf , um eine IP-Filter-Ausnahme (Firewall-Regel) für den Tunnel-Aufbau hinzuzufügen.
Geben Sie eine aussagekräftige Beschreibung (z.B. Tunnelaufbau …) ein und wählen Sie die Paket-Richtung OUTPUT.
Wählen Sie die für den Tunnel verwendete IP-Version und das dafür verwendete Protokoll (Alle erlaubt z.B. alle IP-Versionen bzw. Protokolle).
Wählen sie die für den Tunnel verwendeten Ausgehenden Interfaces aus (Alle erlaubt z.B. alle Interfaces).
Tragen Sie als Ziel-Port den Port bzw. die Ports ein, den oder die Sie oben für den Tunnel eingegeben haben.
Klicken Sie auf SPEICHERN.
Klicken sie Menü Netzwerk → Firewall / NAT im Abschnitt IP-Filter auf , um eine IP-Filter-Ausnahme (Firewall-Regel) für den vom Router gesendeten Datenverkehr in den Tunnel hinzuzufügen.
Geben Sie eine aussagekräftige Beschreibung (z.B. Datenverkehr vom Router in den Tunnel …) ein und wählen Sie die Paket-Richtung OUTPUT.
Wählen Sie die für den Tunnel verwendete IP-Version und das dafür verwendete Protokoll (Alle erlaubt z.B. alle IP-Versionen bzw. Protokolle).
Wählen sie als Ausgehendes Interface das oben hinzugefügte OpenVPN-Interface (z.B. openvpn2).
Klicken Sie auf SPEICHERN.
Klicken sie Menü Netzwerk → Firewall / NAT im Abschnitt IP-Filter auf , um eine IP-Filter-Ausnahme (Firewall-Regel) für den vom Router empfangenen Datenverkehr aus dem Tunnel hinzuzufügen.
Geben Sie eine aussagekräftige Beschreibung (z.B. Datenverkehr vom Tunnel in den Router …) ein und wählen Sie die Paket-Richtung INPUT.
Wählen Sie die für den Tunnel verwendete IP-Version und das dafür verwendete Protokoll (Alle erlaubt z.B. alle IP-Versionen bzw. Protokolle).
Wählen sie als Eingehendes Interface das oben hinzugefügte OpenVPN-Interface (z.B. openvpn2).
Klicken Sie auf SPEICHERN.
Klicken sie Menü Netzwerk → Firewall / NAT im Abschnitt IP-Filter auf , um eine IP-Filter-Ausnahme (Firewall-Regel) für den Datenverkehr aus dem lokalen Netz in den Tunnel hinzuzufügen.
Geben Sie eine aussagekräftige Beschreibung (z.B. Datenverkehr vom lokalen Netz in den Tunnel …) ein und wählen Sie die Paket-Richtung FORWARD.
Wählen Sie die für den Tunnel verwendete IP-Version und das dafür verwendete Protokoll (Alle erlaubt z.B. alle IP-Versionen bzw. Protokolle).
Wählen sie als Eingehendes Interface das IP-Netzwerk-Interface des Routers, das mit dem lokalen Netz verbunden ist (z.B. net1).
Wählen sie als Ausgehendes Interface das oben hinzugefügte OpenVPN-Interface (z.B. openvpn2).
Klicken Sie auf SPEICHERN.
Klicken sie Menü Netzwerk → Firewall / NAT im Abschnitt IP-Filter auf , um eine IP-Filter-Ausnahme (Firewall-Regel) für den Datenverkehr aus dem Tunnel in das lokalen Netz hinzuzufügen.
Geben Sie eine aussagekräftige Beschreibung (z.B. Datenverkehr vom Tunnel ins lokale Netz …) ein und wählen Sie die Paket-Richtung FORWARD.
Wählen Sie die für den Tunnel verwendete IP-Version und das dafür verwendete Protokoll (Alle erlaubt z.B. alle IP-Versionen bzw. Protokolle).
Wählen sie als Eingehendes Interface das oben hinzugefügte OpenVPN-Interface (z.B. openvpn2).
Wählen sie als Ausgehendes Interface das IP-Netzwerk-Interface des Routers, das mit dem lokalen Netz verbunden ist (z.B. net1).
Klicken Sie auf SPEICHERN.
Aktivieren Sie das Profil mit einem Klick auf PROFIL AKTIVIEREN .
Konfiguration mit OpenVPN-Konfigurationsdatei
Für folgende Vorgehensweise wird davon ausgegangen, dass der Router bereits mit den Netzwerken für WAN (Internet) und LAN (lokale Netzwerke) und andere Funktionen konfiguriert ist. Der OpenVPN-Client wird dann nur noch dieser funktionierenden Konfiguration hinzugefügt. Sollten bereits OpenVPN-Verbindungen konfiguriert sein, wird diese Verbindung zu den bereits vorhandenen zusätzlich hinzugefügt.
Bitte beachten Sie!
Da das Konverter-Tool nur für Windows verfügbar ist, benötigen Sie für die Konfiguration einen PC mit dem Betriebssystem Windows.
Das Konverter-Tool ermöglicht die Umwandlung einer vorhanden OpenVPN-Konfigurationsdatei in eine ASCII-Konfigurationsdatei, die dann in den Router importier werden kann, um die Konfiguration des OpenVPN-Clients zur bestehenden Konfiguration hinzuzufügen.
Laden Sie das Konverter-Tool herunter, entpacken Sie die ZIP-Datei auf Ihrem Konfigurations-PC und führen Sie das Tool aus.
Klicken Sie im Abschnitt File selection auf Load und wählen Sie die OpenVPN-Konfigurationsdatei aus.
[Optional] Wenn CA-Zertifikat, Client-Zertifikat und Privater Schlüssel nicht in der OpenVPN-Konfigurationsdatei enthalten sind oder die dort enthaltenen Zertifikate nicht verwendet werden sollen, gehen Sie wie folgt vor:
Markieren Sie die Checkbox Additional files und wählen Sie zwischen Use individual certificates (wenn Sie einzelne Zertifikatsdateien haben) und Use PKCS#12 (wenn die Zertifikate in einem PKCS#12-Container enthalten sind).
Laden Sie die einzelnen Zertifikate oder den Container mit den zugehörigen Schaltflächen Load hoch.
[Optional] Wenn der OpenVPN-Server einen statischen Schlüssel für Verschlüsselung (crypt) oder nur für Authentifizierung (auth) verwendet, markieren Sie die Checkbox Use TLS-auth/crypt und laden Sie den Schlüssel mit der zugehörigen Schaltfläche Load hoch.
Tragen Sie im Abschnitt Interface Settings unter OpenVPN interface name einen beschreibenden Namen ein, unter dem dieses OpenVPN-Interface in der Konfiguration des Routers angelegt werden soll.
Wählen Sie das IP-Netzwerk-Interface des Routers aus, das mit dem lokalen Netz verbunden ist, mit dem Sie sich über die OpenVPN-Verbindung verbinden möchten.
Klicken Sie auf Convert.
Öffnen Sie die Bedienoberfläche des Routers: https://insys.icom
Klicken sie im Menü Administration → Profile im Abschnitt ASCII-Konfigurationen auf und laden Sie die mit dem Konverter-Tool erstellte ASCII-Konfigurationsdatei hoch (die Datei befindet sich im entpackten Verzeichnis des Tools).
Klicken Sie in der Liste im Abschnitt ASCII-Konfigurationen auf die Zeile der oben hochgeladenen ASCII-Konfigurationsdatei und wählen Sie ASCII-Konfiguration anwenden.
Klicken Sie auf ASCII-KONFIGURATION ANWENDEN.
Aktivieren Sie das Profil mit einem Klick auf PROFIL AKTIVIEREN .
Funktionstest
Öffnen Sie im Menü die Seite Status → Dashboard und beobachten Sie im Abschnitt WAN-Kette den Aufbau der WAN-Kette mit dem OpenVPN-Tunnel.
Fehlersuche
Der Zustand der WAN-Kette und deren Interfaces wird im Web-Interface auf der Seite
Status → Dashboard dargestellt. Erreicht ein Interface nicht den Zustand online kann dessen Zustand ebenfalls auf dieser Seite untersucht werden.
Bei der Konfiguration der OpenVPN-Verbindung mit dem Schnellstart-Assistenten werden nur die wichtigsten Einstellungen vorgenommen, die aber in den meisten Fällen ausreichend sind, um eine Verbindung aufzubauen. Wenn dies nicht möglich ist, prüfen Sie die detaillierten Einstellungen der OpenVPN-Verbindung. Klicken Sie dazu Sie im Menü Netzwerk → Interfaces im Abschnitt OpenVPN auf in der Zeile des angelegten OpenVPN-Interfaces, um die Einstellungen zu prüfen bzw. zu bearbeiten. Klicken Sie oben rechts auf zur erweiterten Ansicht, um die detaillierten Einstellungen anzuzeigen.
Wenn der OpenVPN-Server zusätzlich einen statischen Schlüssel zur Authentifizierung und Verschlüsselung (tls-crypt) oder nur zur Authentifizierung (tls-auth) oder zusätzlich eine Benutzername/Passwort-Kombination für die Authentifizierung erfordert, müssen diese auch konfiguriert werden.
Kommt kein Netzwerkverkehr zustande, können die im Router integrierten Werkzeuge zum Debugging benutzt werden.
Prüfen Sie Menü
Status → Log-Ansicht die Meldungen im Log OpenVPN.
Deaktivieren Sie im Menü Netzwerk → Firewall / NAT unter Einstellungen IP-Filter die IP-Filter für IPv4, um herauszufinden, ob falsche Filtereinstellungen der Grund für Verbindungsprobleme sind.