GRE over IPsec: Sichere Tunnel richtig kombinieren

GRE over IPsec kombiniert zwei Welten: GRE liefert ein flexibles Overlay-Interface (ideal für dynamisches Routing, Multicast und viele Netze), IPsec liefert Verschlüsselung und Integrität über das unsichere Underlay (Internet/Provider-WAN). Das gängige Design ist: GRE kapselt den eigentlichen „Overlay“-Traffic, und IPsec verschlüsselt anschließend die GRE-Pakete zwischen den Public-Endpoints. So bekommst du einen „echten“ Tunnel (wie ein virtuelles Interface) und gleichzeitig Security nach Best Practice.

Warum GRE over IPsec statt „nur IPsec“?

Policy-based IPsec (Crypto ACL) ist für wenige Subnetze okay, wird aber bei vielen Netzen oder dynamischem Routing schnell unhandlich. GRE löst das, indem es ein Tunnel-Interface bereitstellt, über das du Routing-Protokolle fahren kannst. IPsec schützt dann nicht jedes einzelne Subnetz, sondern schlicht den GRE-Transport.

  • Dynamisches Routing (OSPF/EIGRP/BGP) über den Tunnel
  • Multicast über das WAN möglich
  • Viele Subnetze: weniger Crypto-Selector-Komplexität
  • Security: IPsec verschlüsselt den gesamten GRE-Verkehr

Merker

GRE  =>  Overlay-Flexibilität ,   IPsec  =>  Security

Designprinzip: IPsec schützt GRE (nicht jedes LAN-Präfix)

Der wichtigste Denkpunkt: In der Crypto ACL von IPsec matchst du bei GRE over IPsec typischerweise nur GRE zwischen den Public IPs (oder Tunnel-Source/Destination). Die LAN-Subnets laufen „in GRE“ und werden dadurch automatisch mitgeschützt.

  • GRE Tunnel: tunnel source / tunnel destination = Underlay-Peers
  • IPsec Crypto ACL: matcht GRE zwischen diesen Peers
  • Routing: LAN-Routen laufen über Tunnel0

Beispiel-Topologie und Parameter

Dieses Beispiel nutzt Public IPs als Underlay und ein /30 als Tunnelnetz. Darüber werden die LANs geroutet. IPsec verschlüsselt den GRE-Verkehr zwischen den Public IPs.

  • Router A Public: 203.0.113.2, LAN A: 192.168.10.0/24
  • Router B Public: 198.51.100.2, LAN B: 192.168.20.0/24
  • GRE Tunnel IPs: 10.0.0.1/3010.0.0.2/30
  • PSK: Str0ngPSK! (Beispiel)

Schritt 1: GRE Tunnel konfigurieren

Baue zuerst den GRE-Tunnel auf. Voraussetzung ist, dass sich die Public IPs erreichen können (Default Route, Upstream). Optional nutzt du Keepalives.

Router A: Tunnel0

RouterA# configure terminal
RouterA(config)# interface tunnel0
RouterA(config-if)# description GRE-over-IPsec-to-RouterB
RouterA(config-if)# ip address 10.0.0.1 255.255.255.252
RouterA(config-if)# tunnel source 203.0.113.2
RouterA(config-if)# tunnel destination 198.51.100.2
RouterA(config-if)# keepalive 10 3
RouterA(config-if)# end

Router B: Tunnel0

RouterB# configure terminal
RouterB(config)# interface tunnel0
RouterB(config-if)# description GRE-over-IPsec-to-RouterA
RouterB(config-if)# ip address 10.0.0.2 255.255.255.252
RouterB(config-if)# tunnel source 198.51.100.2
RouterB(config-if)# tunnel destination 203.0.113.2
RouterB(config-if)# keepalive 10 3
RouterB(config-if)# end

Schritt 2: Routing über den Tunnel einrichten

Für ein Minimalsetup reichen statische Routen über die Tunnel-IP. Alternativ nutzt du ein IGP (OSPF/EIGRP) über Tunnel0.

Statische Routen (einfaches Lab-Muster)

RouterA(config)# ip route 192.168.20.0 255.255.255.0 10.0.0.2
RouterB(config)# ip route 192.168.10.0 255.255.255.0 10.0.0.1

Schritt 3: IPsec Phase 1 (ISAKMP/IKEv1) konfigurieren

IPsec schützt jetzt den GRE-Transport. Phase 1 muss auf beiden Seiten identisch sein. Für Praxis/Lab ist AES-256/SHA/DH14 ein solides Muster.

Router A: ISAKMP Policy + PSK

RouterA# configure terminal
RouterA(config)# crypto isakmp policy 10
RouterA(config-isakmp)# encr aes 256
RouterA(config-isakmp)# hash sha
RouterA(config-isakmp)# authentication pre-share
RouterA(config-isakmp)# group 14
RouterA(config-isakmp)# lifetime 86400
RouterA(config-isakmp)# end

RouterA(config)# crypto isakmp key Str0ngPSK! address 198.51.100.2
RouterA(config)# end

Router B: ISAKMP Policy + PSK

RouterB# configure terminal
RouterB(config)# crypto isakmp policy 10
RouterB(config-isakmp)# encr aes 256
RouterB(config-isakmp)# hash sha
RouterB(config-isakmp)# authentication pre-share
RouterB(config-isakmp)# group 14
RouterB(config-isakmp)# lifetime 86400
RouterB(config-isakmp)# end

RouterB(config)# crypto isakmp key Str0ngPSK! address 203.0.113.2
RouterB(config)# end

Schritt 4: IPsec Phase 2 (Transform-Set) konfigurieren

Transform Sets definieren die ESP-Algorithmen. Beide Seiten müssen kompatibel sein.

RouterA# configure terminal
RouterA(config)# crypto ipsec transform-set TS_AES256_SHA esp-aes 256 esp-sha-hmac
RouterA(config)# mode tunnel
RouterA(config)# end
RouterB# configure terminal
RouterB(config)# crypto ipsec transform-set TS_AES256_SHA esp-aes 256 esp-sha-hmac
RouterB(config)# mode tunnel
RouterB(config)# end

Schritt 5: Crypto ACL für GRE (wichtigster Unterschied!)

Bei GRE over IPsec matcht die Crypto ACL typischerweise GRE (IP-Protokoll 47) zwischen den Underlay-Peer-IPs. Damit wird der gesamte GRE-Traffic verschlüsselt – unabhängig davon, welche LAN-Subnets im GRE stecken.

Router A: Crypto ACL (GRE zwischen Public IPs)

RouterA# configure terminal
RouterA(config)# ip access-list extended VPN_GRE
RouterA(config-ext-nacl)# permit gre host 203.0.113.2 host 198.51.100.2
RouterA(config-ext-nacl)# end

Router B: Crypto ACL (spiegelbildlich)

RouterB# configure terminal
RouterB(config)# ip access-list extended VPN_GRE
RouterB(config-ext-nacl)# permit gre host 198.51.100.2 host 203.0.113.2
RouterB(config-ext-nacl)# end

Schritt 6: Crypto Map erstellen und am WAN-Interface aktivieren

Die Crypto Map verbindet Peer, Transform Set und GRE-Selector. Danach wird sie am Outside-Interface gebunden.

Router A: Crypto Map

RouterA# configure terminal
RouterA(config)# crypto map CMAP 10 ipsec-isakmp
RouterA(config-crypto-map)# set peer 198.51.100.2
RouterA(config-crypto-map)# set transform-set TS_AES256_SHA
RouterA(config-crypto-map)# match address VPN_GRE
RouterA(config-crypto-map)# set pfs group14
RouterA(config-crypto-map)# end

Router B: Crypto Map

RouterB# configure terminal
RouterB(config)# crypto map CMAP 10 ipsec-isakmp
RouterB(config-crypto-map)# set peer 203.0.113.2
RouterB(config-crypto-map)# set transform-set TS_AES256_SHA
RouterB(config-crypto-map)# match address VPN_GRE
RouterB(config-crypto-map)# set pfs group14
RouterB(config-crypto-map)# end

Crypto Map am Outside aktivieren

RouterA# configure terminal
RouterA(config)# interface gigabitEthernet0/1
RouterA(config-if)# crypto map CMAP
RouterA(config-if)# end
RouterB# configure terminal
RouterB(config)# interface gigabitEthernet0/1
RouterB(config-if)# crypto map CMAP
RouterB(config-if)# end

Schritt 7: MSS-Clamping und MTU beachten (Praxisfix)

GRE + IPsec erzeugen Overhead. Damit TCP-Verbindungen (HTTPS, Downloads) nicht „hängen“, setzt du auf dem Tunnel-Interface häufig MSS-Clamping. Ein konservativer Startwert ist 1360; je nach Underlay kann ein anderer Wert besser sein.

MSS-Clamp am Tunnel

RouterA# configure terminal
RouterA(config)# interface tunnel0
RouterA(config-if)# ip tcp adjust-mss 1360
RouterA(config-if)# end
RouterB# configure terminal
RouterB(config)# interface tunnel0
RouterB(config-if)# ip tcp adjust-mss 1360
RouterB(config-if)# end

Schritt 8: Outside-ACL für IPsec (IKE/NAT-T/ESP) berücksichtigen

Wenn am WAN eine ACL aktiv ist, muss sie IPsec/IKE zulassen. Bei nativem IPsec sind UDP/500, UDP/4500 und ESP relevant. GRE selbst muss nicht separat erlaubt sein, wenn es bereits durch IPsec gekapselt wird – entscheidend ist, dass die IPsec-Verhandlung funktioniert.

Outside-ACL (Beispiel: nur Peer erlauben)

ip access-list extended OUTSIDE_IN
 permit udp host 198.51.100.2 host 203.0.113.2 eq 500
 permit udp host 198.51.100.2 host 203.0.113.2 eq 4500
 permit esp host 198.51.100.2 host 203.0.113.2
 deny ip any any

Verifikation: Tunnel und Verschlüsselung prüfen

Ein häufiger Irrtum: Tunnel0 kann „up/up“ sein, obwohl IPsec nicht aktiv ist (je nach Keepalive/Traffic). Prüfe daher sowohl GRE (Tunnel-Ping) als auch IPsec (SAs und Counters). Erzeuge dafür Traffic zwischen den LANs.

GRE prüfen

RouterA# show ip interface brief | include Tunnel0
RouterA# ping 10.0.0.2 source 10.0.0.1
RouterB# ping 10.0.0.1 source 10.0.0.2

IPsec prüfen

RouterA# show crypto isakmp sa
RouterA# show crypto ipsec sa
RouterB# show crypto isakmp sa
RouterB# show crypto ipsec sa

End-to-End Traffic erzeugen

RouterA# ping 192.168.20.10 source 192.168.10.1
RouterB# ping 192.168.10.10 source 192.168.20.1

Typische Fehler und schnelle Fixes

GRE over IPsec scheitert oft an einer Kleinigkeit: falscher GRE-Selector, fehlende IPsec-Freigaben oder MTU-Probleme. Nutze die Symptome (States/Counters), um die Ursache schnell zu finden.

  • IKE/Phase 1 down: UDP/500/4500 blockiert, PSK/Policy mismatch
  • Phase 1 up, aber keine IPsec-Counters: Crypto ACL matcht nicht (GRE Selector falsch)
  • Tunnel ping geht, LAN nicht: Routing über Tunnel fehlt
  • Webseiten hängen: MSS/MTU nicht angepasst
  • Firewall blockt ESP/NAT-T: Outside-ACL prüfen

Quick-Checks

show ip route | include Gateway|0.0.0.0
ping <peer-public-ip>
show interfaces tunnel0
show ip route 192.168.20.0
show crypto isakmp sa
show crypto ipsec sa
show access-lists VPN_GRE
show logging | include ISAKMP|IPSEC|CRYPTO

Konfiguration speichern

RouterA# copy running-config startup-config
RouterB# copy running-config startup-config

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab (CCNA)

Hallo! Ich bin ein CCNA-Network Engineer und unterstütze Sie bei Cisco Router- und Switch-Konfigurationen – inklusive eines vollständigen Cisco Packet-Tracer-Labs (.pkt). Ideal für Lern-/Übungsszenarien, Validierung oder eine saubere Demo-Topologie.

Was ich (je nach Paket) umsetze

  • Switching: VLANs, Trunking (802.1Q), Port-Zuweisung, STP-Basics (PortFast/BPDU Guard wo sinnvoll)

  • Routing: Default/Static Routing oder OSPF, Inter-VLAN Routing (Router-on-a-Stick)

  • Services: DHCP (Pools/Scopes), NAT/PAT für Internet-Simulation

  • Optional Security: Basic ACLs und SSH-Hardening

  • Test & Verifikation: Ping/Traceroute + wichtige Show-Commands (mit erwarteten Ergebnissen)

Sie erhalten

  • Packet Tracer .pkt Datei

  • ✅ Saubere Konfigurations-Notizen pro Gerät

  • ✅ Verifikations-Checkliste + erwartete Outputs

  • ✅ Kurze Dokumentation (wie die Topologie funktioniert)

Bitte schreiben Sie mir vor der Bestellung, damit wir Scope, Packet-Tracer-Version, Geräteanzahl und Deadline klären.

Konfiguriere Cisco Router & Switches | Cisco Packet-Tracer-Labs. Finden Sie mich auf Fiverr.

Related Articles