Dieser Configuration Guide zeigt, wie eine IPsec-Verbindung zu einer Gegenstelle konfiguriert wird.
Situation
Ein entfernter Router ist mit dem Internet verbunden. Es soll eine verschlüsselte IPsec-Verbindung zum Netzwerk hinter diesem Router aufgebaut werden.
Lösung
Es wird vorausgesetzt, dass Sie Zugriff auf das Web-Interface des Routers haben und der Router für eine WAN-Verbindung mit Hilfe des Schnellstart-Assistenten aus den Grundeinstellungen konfiguriert ist. Folgende Abbildung zeigt die Netzwerktopologie, die für dieses Beispiel verwendet wird:
.png)
Bitte beachten Sie für die verwendeten Adressen!
Alle Adressen sind beispielhaft für das vorliegende Beispiel und müssen an Ihre Anwendung angepasst werden.
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.
Öffnen Sie die Bedienoberfläche des Routers: https://insys.icom
Klicken Sie auf der Seite Netzwerk → Interfaces unter IPsec auf , um einen neuen IPsec-Tunnel vom lokalen LAN zum entfernten Router hinzuzufügen, und konfigurieren Sie diesen entsprechend:
Beschreibung: IPsec tunnel to 69.32.16.8
IP-Adresse oder Domainname der Gegenstelle: 69.32.16.8
Tunnel-Interface erzeugen: VTI-Interface (damit kann dem Tunnel eine freie IP-Adresse im lokalen Subnetz zugewiesen werden; wird keines ausgewählt, können keine Routen oder IP-Filter-Regeln für den Tunnel angelegt werden)
ID Lokal: kann optional angepasst werden, wenn die standardmäßige ID (IP-Adresse) nicht verwendet werden kann oder soll
ID Remote: kann explizit angegeben werden, wenn die eigentliche IP-Adresse von der empfangenen ID abweicht oder nicht bekannt ist
Konfigurieren Sie die Authentifizierung der IPsec-Verbindung (Phase 1) entsprechend:
IKE-Version: wählen Sie die von der IPsec-Gegenstelle verwendete IKE-Version und ggf. den IKEv1-Modus
Bitte beachten Sie zum IKEv1-Modus!
Beim Main-Modus werden alle Authentifizierungsdaten verschlüsselt übertragen, was diese Methode sicherer macht. Beim Aggressive-Modus wird auf diese Verschlüsselung verzichtet, wodurch die Authentifizierung schneller vonstatten geht. Von der Verwendung des Aggressive-Modus wird aus Sicherheitsgründen abgeraten.
Authentifizierung: wählen Sie die verwendete Authentifizierungsmethode
Zertifikat: markieren Sie die Checkbox Zertifikate hochladen und anwenden und laden Sie das CA-Zertifikat, das Zertifikat und den Privaten Schlüssel hoch
Pre-Shared Key: geben sie den Pre-Shared-Key ein
Konfigurieren Sie die IPsec-Verbindung (Phase 2) entsprechend:
IP-Adresse des Tunnel-Interface (VTI): 192.168.2.0 / 32 (Adresskonflikte vermeiden!)
Subnetz Lokal: 192.168.2.0 / 24
Subnetz Remote: 192.168.200.0 / 24
.png)
Zusätzliche IPsec-SAs!
Um unterschiedliche Netze getrennt zu tunneln, können bis zu 20 weitere IPsec-SAs unter dieser IKE-SA angelegt werden.
Zusätzliche Parameter in der erweiterten Ansicht!
Je nach Gegenstelle kann es erforderlich sein, zusätzliche Parameter in der erweiterten Ansicht konfigurieren zu müssen. Öffnen Sie die erweiterte Ansicht, indem Sie auf zur erweiterten Ansicht klicken.
UDP-Encapsulation erzwingen: wenn aktiviert, werden alle ESP (Encapsulating Security Payload)-Pakete zusätzlich in ein UDP-Paket verpackt und über den UDP-Port 4500 versendet. Ist die Option deaktiviert, erfolgt dies nur, wenn einer der beiden Gegenstellen über einen NAT (Network Address Translation)-Router erreichbar ist.
Dead-Peer-Detection-Interval: definiert, in welchen Abständen über den Tunnel Anfragen an die Gegenstelle gesendet werden.
Dead-Peer-Detection Timeout: innerhalb dieser Zeit müssen die Anfragen beantwortet werden, bevor die Verbindung als abgebrochen gilt.
Maximale Wartezeit für Verbindungsaufbau: definiert die Zeit, welche dem Aufbau des IPsec-Tunnels innerhalb der WAN-Kette gewährt wird. Kann der Tunnel in dieser Zeit nicht aufgebaut werden, wird der Aufbau der WAN-Kette abgebrochen.
IKE-Schlüsselparameter: diese können automatisch ausgehandelt oder fix eingestellt werden. Bei letzterem werden Verschlüsselungs- und Hash-Algorithmus sowie Diffie-Hellman-Parameter in den entsprechenden Dropdown-Liste ausgewählt. Die hier gewählten Parameter müssen von der Gegenstelle unterstützt werden. Nach TR-02102-2 werden dafür AES GCM und AES CBC bzw. SHA-256, 384 und 512 empfohlen. Nicht empfohlen werden DES bzw. SHA-1 und MD5.
IKE-Schlüsselerneuerungs-Intervall: definiert die Zeit für den regelmäßigen Austausch der Schlüssel für die Datenverbindung; nach deren Ablauf werden neue Schlüssel erzeugt werden.
IKE-Schlüsselaushandlungs-Versuche: definiert, wie oft versucht wird, die Schlüssel neu auszuhandeln bevor die Gegenstelle als nicht erreichbar gilt.
Exklusiv tunneln: Der Datenverkehr vom Router in den IPsec-Tunnel wird unter Lokal auf das angegebene Protokoll und/oder den angegebenen Port beschränkt. Der Datenverkehr vom IPsec-Tunnel in Richtung des Routers wird unter Remote auf das angegebene Protokoll und/oder den angegebenen Port beschränkt.
IPsec-Schlüsselparameter: diese können automatisch ausgehandelt oder fix eingestellt werden. Bei letzterem werden Verschlüsselungs- und Hash-Algorithmus sowie Diffie-Hellman-Parameter in den entsprechenden Dropdown-Liste ausgewählt. Wenn bei fix eingestellten Schlüsselparametern auch Diffie-Hellman-Parameter ausgewählt werden, wird automatisch Perfect-Forward-Secrecy (PFS) aktiviert. Bei automatisch ausgehandelten Schlüsselparametern werden keine Diffie-Hellman-Parameter und damit auch kein PFS verwendet. Die hier gewählten Parameter müssen von der Gegenstelle unterstützt werden. Nach TR-02102-2 werden dafür AES GCM und AES CBC bzw. SHA-256, 384 und 512 empfohlen. Nicht empfohlen werden DES bzw. SHA-1 und MD5.
IPsec-Schlüsselerneuerungs-Intervall: definiert die Zeit für den regelmäßigen Austausch der Schlüssel für die Datenverbindung; nach deren Ablauf werden neue Schlüssel erzeugt werden.
Dead-Peer-Detection Aktion: hier kann festgelegt werden, ob eine durch die oben konfigurierte Dead-Peer-Detection als abgebrochen erkannte Verbindung neu gestartet oder abgebrochen (clear) werden soll.
MTU: in seltenen Fällen kann es vorkommen, dass die Maximum Transmission Unit (maximale erlaubte Anzahl an Bytes in einem zu versendenden Paket) angepasst werden muss; sie muss dann jedoch mit der Gegenstelle übereinstimmen.
Klicken sie auf SPEICHERN.
Klicken Sie auf der Seite Netzwerk → WAN / Internet unter Primäre Internetverbindung auf Interface anhängen , um das IPsec-Interface an die WAN-Kette anzuhängen und wählen Sie für Startposition 2 das Interface ipsec1 aus.
.png)
Klicken sie auf SPEICHERN.
Klicken Sie auf der Seite Netzwerk → Routing unter Statische Route auf , um eine neue statische Route durch den IPsec-Tunnel zum Subnetz des entfernten Routers hinzuzufügen und konfigurieren Sie diese entsprechend:
Beschreibung: IPsec route to 192.168.200.0
Anlegen nach Start von Interface: ipsec1
Art der Route: Netzwerk 192.168.200.0 / 24
Gateway: interface ipsec1
.png)
Klicken sie auf SPEICHERN.
Klicken Sie auf der Seite Netzwerk → Firewall / NAT unter IP-Filter auf , um eine IP-Filter-Regel für den Aufbau von IPsec-Verbindungen und den Schlüsselaustausch hinzuzufügen, und konfigurieren Sie diese entsprechend:
Beschreibung: IPsec (tunnel establishment)
Paket-Richtung: OUTPUT
IP-Version: Alle
Protokoll: UDP
Ausgehendes Interface: Markieren Sie die verwendete WAN-Schnittstelle, d.h. lte2 oder net3
Ziel-Port: 500
.png)
Klicken sie auf SPEICHERN.
Klicken Sie auf der Seite Netzwerk → Firewall / NAT unter IP-Filter auf , um eine IP-Filter-Regel für den Aufbau des IPsec-Tunnels hinzuzufügen, und konfigurieren Sie diese entsprechend:
Beschreibung: IPsec protocol ESP
Paket-Richtung: OUTPUT
IP-Version: Alle
Protokoll: ESP
Ausgehendes Interface: Markieren Sie die verwendete WAN-Schnittstelle, d.h. lte2 oder net3
Klicken sie auf SPEICHERN.
Klicken Sie auf der Seite Netzwerk → Firewall / NAT unter IP-Filter auf , um eine IP-Filter-Regel für den Aufbau von IPsec-Verbindungen und den Schlüsselaustausch bei der Verwendung von NAT-Traversal hinzuzufügen, und konfigurieren Sie diese entsprechend:
Beschreibung: IPsec UDP Port 4500 (NAT traversal)
Paket-Richtung: OUTPUT
IP-Version: Alle
Protokoll: UDP
Ausgehendes Interface: Markieren Sie die verwendete WAN-Schnittstelle, d.h. lte2 oder net3
Ziel-Port: 4500
Klicken sie auf SPEICHERN.
Klicken Sie auf der Seite Netzwerk → Firewall / NAT unter IP-Filter auf , um eine IP-Filter-Regel für den Aufbau von IPsec-Verbindungen und den Schlüsselaustausch hinzuzufügen, und konfigurieren Sie diese entsprechend:
Beschreibung: IPsec (tunnel establishment)
Paket-Richtung: INPUT
IP-Version: Alle
Protokoll: UDP
Eingehendes Interface: Markieren Sie die verwendete WAN-Schnittstelle, d.h. lte2 oder net3
Ziel-Port: 500
Klicken sie auf SPEICHERN.
Klicken Sie auf der Seite Netzwerk → Firewall / NAT unter IP-Filter auf , um eine IP-Filter-Regel für den Aufbau des IPsec-Tunnels hinzuzufügen, und konfigurieren Sie diese entsprechend:
Beschreibung: IPsec protocol ESP
Paket-Richtung: INPUT
IP-Version: Alle
Protokoll: ESP
Eingehendes Interface: Markieren Sie die verwendete WAN-Schnittstelle, d.h. lte2 oder net3
Klicken sie auf SPEICHERN.
Klicken Sie auf der Seite Netzwerk → Firewall / NAT unter IP-Filter auf , um eine IP-Filter-Regel für den Aufbau von IPsec-Verbindungen und den Schlüsselaustausch bei der Verwendung von NAT-Traversal hinzuzufügen, und konfigurieren Sie diese entsprechend:
Beschreibung: IPsec UDP Port 4500 (NAT traversal)
Paket-Richtung: INPUT
IP-Version: Alle
Protokoll: UDP
Eingehendes Interface: Markieren Sie die verwendete WAN-Schnittstelle, d.h. lte2 oder net3
Ziel-Port: 4500
Klicken sie auf SPEICHERN.
Klicken Sie auf der Seite Netzwerk → Firewall / NAT unter IP-Filter auf , um eine IP-Filter-Regel für das Versenden sämtlicher Daten durch den IPsec-Tunnel hinzuzufügen, und konfigurieren Sie diese entsprechend:
Beschreibung: Traffic through the IPsec tunnel sent by the router
Paket-Richtung: OUTPUT
IP-Version: Alle
Protokoll: Alle
Ausgehendes Interface: ipsec1
Klicken sie auf SPEICHERN.
[Optional] Klicken Sie auf der Seite Netzwerk → Firewall / NAT unter IP-Filter auf , um eine IP-Filter-Regel für das Empfangen sämtlicher Daten durch den IPsec-Tunnel hinzuzufügen, und konfigurieren Sie diese entsprechend:
Beschreibung: Traffic through the IPsec tunnel sent to the router
Paket-Richtung: INPUT
IP-Version: Alle
Protokoll: Alle
Eingehendes Interface: ipsec1
Klicken sie auf SPEICHERN.
Klicken Sie auf der Seite Netzwerk → Firewall / NAT unter IP-Filter auf , um eine IP-Filter-Regel für das Routen sämtlicher Daten von den lokalen Netzwerken durch den IPsec-Tunnel hinzuzufügen, und konfigurieren Sie diese entsprechend:
Beschreibung: Traffic from the local net through the IPsec tunnel
Paket-Richtung: FORWARD
IP-Version: Alle
Protokoll: Alle
Eingehendes Interface: net2
Ausgehendes Interface: ipsec1
Klicken sie auf SPEICHERN.
Klicken Sie auf der Seite Netzwerk → Firewall / NAT unter IP-Filter auf , um eine IP-Filter-Regel für das Routen sämtlicher Daten durch den IPsec-Tunnel zu den lokalen Netzwerken hinzuzufügen, und konfigurieren Sie diese entsprechend:
Beschreibung: Traffic through the IPsec tunnel to the local net
Paket-Richtung: FORWARD
IP-Version: Alle
Protokoll: Alle
Eingehendes Interface: ipsec1
Ausgehendes Interface: net2
Klicken sie auf SPEICHERN.
Aktivieren Sie das Profil mit einem Klick auf PROFIL AKTIVIEREN .
Beobachten Sie auf der Seite
Status → Dashboard im Abschnitt WAN-Kette den Aufbau der WAN-Kette, welche die Tunnel enthält.Klicken sie auf der Seite Administration → Debugging auf DEBUG-WERKZEUGE ÖFFNEN , wählen Sie das Werkzeug Ping aus, geben Sie verfügbare IP-Adressen aus den entfernten Subnetzen unter Parameter ein und klicken Sie auf SENDEN, um die Konnektivität zu verifizieren.
Wir haben folgende ASCII-Konfigurationsdatei vorbereitet, um die Filterregeln in einem Zug hinzuzufügen, anstatt sie einzeln einzutragen, wie oben ausführlich beschrieben. Kopieren Sie den Inhalt und fügen Sie ihn in ihren Texteditor ein oder laden Sie die Konfiguration über den Link unten herunter. Denken Sie daran, sie bei Bedarf an Ihre Anwendung anzupassen.
Die ASCII-Konfigurationsdatei fügt alle Filter wie oben mit beiden möglichen WAN-Schnittstellen, die vom Schnellstart-Assistent erstellt werden können, hinzu, d.h. lte2 und net3.
Siehe Hinzufügen eines Listen-Parameters zu einem Profil mittels Lua, um mehr über das Anwenden einer ASCII-Konfigurationsdatei auf ein Profil zu erfahren.
ASCII-Konfigurationsdatei
netfilter.ip_filter.rule.add
netfilter.ip_filter.rule[last].rule_active=1
netfilter.ip_filter.rule[last].rule_description=IPsec (tunnel establishment)
netfilter.ip_filter.rule[last].rule_direction=output
netfilter.ip_filter.rule[last].rule_protocol=udp
netfilter.ip_filter.rule[last].rule_output_if=lte2,net3
netfilter.ip_filter.rule[last].rule_dport=500
netfilter.ip_filter.rule[last].rule_ipversion=all
netfilter.ip_filter.rule.add
netfilter.ip_filter.rule[last].rule_active=1
netfilter.ip_filter.rule[last].rule_description=IPsec protocol ESP
netfilter.ip_filter.rule[last].rule_direction=output
netfilter.ip_filter.rule[last].rule_protocol=esp
netfilter.ip_filter.rule[last].rule_output_if=lte2,net3
netfilter.ip_filter.rule[last].rule_ipversion=all
netfilter.ip_filter.rule.add
netfilter.ip_filter.rule[last].rule_active=1
netfilter.ip_filter.rule[last].rule_description=IPsec UDP Port 4500 (NAT traversal)
netfilter.ip_filter.rule[last].rule_direction=output
netfilter.ip_filter.rule[last].rule_protocol=udp
netfilter.ip_filter.rule[last].rule_output_if=lte2,net3
netfilter.ip_filter.rule[last].rule_dport=4500
netfilter.ip_filter.rule[last].rule_ipversion=all
netfilter.ip_filter.rule.add
netfilter.ip_filter.rule[last].rule_active=1
netfilter.ip_filter.rule[last].rule_description=IPsec (tunnel establishment)
netfilter.ip_filter.rule[last].rule_direction=input
netfilter.ip_filter.rule[last].rule_protocol=udp
netfilter.ip_filter.rule[last].rule_input_if=lte2,net3
netfilter.ip_filter.rule[last].rule_dport=500
netfilter.ip_filter.rule[last].rule_ipversion=all
netfilter.ip_filter.rule.add
netfilter.ip_filter.rule[last].rule_active=1
netfilter.ip_filter.rule[last].rule_description=IPsec protocol ESP
netfilter.ip_filter.rule[last].rule_direction=input
netfilter.ip_filter.rule[last].rule_protocol=esp
netfilter.ip_filter.rule[last].rule_input_if=lte2,net3
netfilter.ip_filter.rule[last].rule_ipversion=all
netfilter.ip_filter.rule.add
netfilter.ip_filter.rule[last].rule_active=1
netfilter.ip_filter.rule[last].rule_description=IPsec UDP Port 4500 (NAT traversal)
netfilter.ip_filter.rule[last].rule_direction=input
netfilter.ip_filter.rule[last].rule_protocol=udp
netfilter.ip_filter.rule[last].rule_input_if=lte2,net3
netfilter.ip_filter.rule[last].rule_dport=4500
netfilter.ip_filter.rule[last].rule_ipversion=all
netfilter.ip_filter.rule.add
netfilter.ip_filter.rule[last].rule_active=1
netfilter.ip_filter.rule[last].rule_description=Traffic through the IPsec tunnel sent by the router
netfilter.ip_filter.rule[last].rule_direction=output
netfilter.ip_filter.rule[last].rule_protocol=all
netfilter.ip_filter.rule[last].rule_output_if=ipsec1
netfilter.ip_filter.rule[last].rule_ipversion=all
netfilter.ip_filter.rule.add
netfilter.ip_filter.rule[last].rule_active=1
netfilter.ip_filter.rule[last].rule_description=Traffic through the IPsec tunnel sent to the router
netfilter.ip_filter.rule[last].rule_direction=input
netfilter.ip_filter.rule[last].rule_protocol=all
netfilter.ip_filter.rule[last].rule_input_if=ipsec1
netfilter.ip_filter.rule[last].rule_ipversion=all
netfilter.ip_filter.rule.add
netfilter.ip_filter.rule[last].rule_active=1
netfilter.ip_filter.rule[last].rule_description=Traffic from the local net through the IPsec tunnel
netfilter.ip_filter.rule[last].rule_direction=forward
netfilter.ip_filter.rule[last].rule_protocol=all
netfilter.ip_filter.rule[last].rule_input_if=net2
netfilter.ip_filter.rule[last].rule_output_if=ipsec1
netfilter.ip_filter.rule[last].rule_ipversion=all
netfilter.ip_filter.rule.add
netfilter.ip_filter.rule[last].rule_active=1
netfilter.ip_filter.rule[last].rule_description=Traffic through the IPsec tunnel to the local net
netfilter.ip_filter.rule[last].rule_direction=forward
netfilter.ip_filter.rule[last].rule_protocol=all
netfilter.ip_filter.rule[last].rule_input_if=ipsec1
netfilter.ip_filter.rule[last].rule_output_if=net2
netfilter.ip_filter.rule[last].rule_ipversion=allFehlersuche
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.
Wenn eine NAT verwendet wird, kann es erforderlich sein, für die IPsec-Verbindung die ID Lokal und ID Remote zu konfigurieren. Wird nichts konfiguriert, werden normalerweise die jeweiligen erreichbaren IP-Adressen verwendet. Ansonsten können die jeweiligen Domainnamen, @-Strings, also alphanumerische Kombinationen mit einen enthaltenen @, oder der Distinguished Name (DN) als ID verwendet werden. Wenn eine zertifikatsbasierte Authentifizierung verwendet wird und der DN nicht ohne weiters herzuleiten ist, versucht man einen Verbindungsaufbau, der dann logischerweise fehlschlägt. Im Log dieses Verbindungsaufbaus steht allerdings, was die Gegenstelle als DN mitgibt – und so weiß man, was sie auch erwarten würde. Man kopiert nun den DN der Gegenstelle und tauscht den Common Name einfach durch den eigenen Common Name aus.