Dieser Configuration Guide zeigt, wie ein GRE-Tunnel innerhalb einer IPsec-Verbindung konfiguriert wird.
Situation
Ein entfernter Router hat mehrere lokale Subnetze, die vom INSYS-Router aus adressiert werden müssen. Eine IPsec-Verbindung ermöglicht nur ein Subnetz zu adressieren. Eine GRE-Verbindung kann zu mehr als einem Subnetz aufgebaut werden, aber sie kann nicht verschlüsselt werden. Um verschlüsselte Verbindungen zu mehr als einem Subnetz aufzubauen, ist es möglich, einen GRE-Tunnel durch eine verschlüsselte IPsec-Verbindung zu routen.
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. Es wird auch vorausgesetzt, dass der entfernte Router GRE via IPsec unterstützt. Folgende Abbildung zeigt die Netzwerktopologie, die für dieses Beispiel verwendet wird:
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 hinzuzufügen, und konfigurieren Sie diesen entsprechend:
Beschreibung: IPsec tunnel to remote-domain.com
VPN-Server-Adresse: remote-domain.com
Lokale Tunneladresse: 192.168.2.0 / 24
Subnetz Lokal: 192.168.2.0 / 24
Subnetz Remote: 192.168.200.0 / 24
Konfigurieren Sie Authentifizierung und Verschlüsselung entsprechend den Einstellungen des entfernten Routers.
Dies fügt ein Interface für einen IPsec-Tunnel vom lokalen LAN zum entfernten Router hinzu
Alle Adressen sind beispielhaft für das vorliegende Beispiel und müssen an Ihre Anwendung angepasst werden.
Klicken sie auf SPEICHERN.
Klicken Sie auf der Seite Netzwerk → Interfaces unter GRE auf , um einen neuen GRE-Tunnel hinzuzufügen, und konfigurieren Sie diesen entsprechend:
Beschreibung: GRE tunnel to remote router
IP-Adresse oder Domainname der Gegenstelle: 192.168.200.1
Eigene IP-Adresse: statisch 192.168.2.1
Lokale Tunneladresse: 10.10.10.10 / 30
GRE-Key: Geben Sie nur dann einen GRE-Key ein, wenn der Router dies erfordert.
Dies fügt ein Interface für einen GRE-Tunnel vom lokalen LAN zum entfernten Router hinzu
Alle Adressen sind beispielhaft für das vorliegende Beispiel und müssen an Ihre Anwendung angepasst werden.
Die lokale Tunnel-Adresse kann beliebig gewählt werden, muss aber im selben virtuellen Netzwerk wie die der Gegenstelle liegen.
In seltenen Fällen kann es vorkommen, dass die MTU (maximale erlaubte Anzahl an Bytes in einem zu versendenden Paket) angepasst werden muss. Die TTL (Time To Live) wird von jedem Router, den das Paket auf seinem Weg passiert, um eins dekrementiert. Ist der Wert auf 0 gesunken, wird das Paket nicht mehr weitergeleitet. Dadurch wird z.B. eine Endlosschleife vermieden. Standardmäßig wird für das GRE-Paket der TTL-Wert aus dem getunnelten Paket verwendet.
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
Klicken sie auf SPEICHERN.
Klicken Sie auf der Seite Netzwerk → Routing unter Statische Route auf , um eine neue statische Route durch den GRE-Tunnel zum Subnetz der Gegenstelle hinter dem entfernten Router hinzuzufügen und konfigurieren Sie diese entsprechend:
Beschreibung: GRE route to 192.168.201.0
Anlegen nach Start von Interface: gre1
Art der Route: Netzwerk 192.168.201.0 / 24
Gateway: interface gre1
Auf Einstellungen speichern klicken.
Klicken sie auf SPEICHERN.
Fügen sie die nächsten beiden Routen zu den entfernten Subnetzen 192.168.202.0 und 192.168.203.0 entsprechend hinzu.
Klicken Sie auf der Seite Netzwerk → WAN / Internet in der vom Schnellstart-Assistenten hinzugefügten WAN-Kette auf , um ein weiteres Interface zur WAN-Kette hinzuzufügen.
Wählen Sie für das Interface an Startposition 2 das Interface ipsec1 aus.
Klicken Sie erneut auf , um ein weiteres Interface zur WAN-Kette hinzuzufügen.
Wählen Sie für das Interface an Startposition 3 das Interface gre1 aus.
Bitte beachten Sie!
Obige zwei Einstellungen fügen die IPsec- und GRE-Interfaces (in dieser Reihenfolge) zur WAN-Kette hinzu. Eine WAN-Kette ist die sequentielle Anordnung von Interfaces, die den Aufbau einer WAN-Verbindung definiert.
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
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.
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 ç und konfigurieren Sie diese entsprechend:
Beschreibung: GRE (tunnel establishment)
Paket-Richtung: OUTPUT
IP-Version: Alle
Protokoll: GRE
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 den Aufbau des GRE-Tunnels und konfigurieren Sie diese entsprechend:
Beschreibung: GRE (tunnel establishment)
Paket-Richtung: INPUT
IP-Version: Alle
Protokoll: GRE
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 das Routen sämtlicher Daten von den lokalen Netzwerken durch den GRE-Tunnel hinzuzufügen, und konfigurieren Sie diese entsprechend:
Beschreibung: Traffic from the local net through the GRE tunnel
Paket-Richtung: FORWARD
IP-Version: Alle
Protokoll: Alle
Eingehendes Interface: net1, net2
Ausgehendes Interface: gre1
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 GRE-Tunnel zu den lokalen Netzwerken hinzuzufügen, und konfigurieren Sie diese entsprechend:
Beschreibung: Traffic through the GRE tunnel to the local net
Paket-Richtung: FORWARD
IP-Version: Alle
Protokoll: Alle
Eingehendes Interface: gre1
Ausgehendes Interface: net1, 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 einzugeben, 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=GRE (tunnel establishment)
netfilter.ip_filter.rule[last].rule_direction=output
netfilter.ip_filter.rule[last].rule_protocol=gre
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=GRE (tunnel establishment)
netfilter.ip_filter.rule[last].rule_direction=input
netfilter.ip_filter.rule[last].rule_protocol=gre
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=Traffic from the local net through the GRE 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=net1,net2
netfilter.ip_filter.rule[last].rule_output_if=gre1
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 GRE 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=gre1
netfilter.ip_filter.rule[last].rule_output_if=net1,net2
netfilter.ip_filter.rule[last].rule_ipversion=all
Fehlersuche
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.