aqui
Goto Top

IPsec IKEv2 Standort VPN Vernetzung mit Cisco, pfSense OPNsense und Mikrotik

article-picture

back-to-topAllgemeine Einleitung


Dieses Tutorial ist eine kurze Ergänzung zum allgemeinen IPsec Site_to_Site_VPN_Tutorial hier im Forum. Dieses Tutorial schildert VPN Standort Kopplungen mit IKEv1 und IPsec. IKEv1 (Internet Key Exchange Protocol) ist ein langjähriger, standartisierter Protokoll Klassiker und deshalb sehr weit verbreitet. Es ist so gut wie in allen VPN Routern, Firewalls und Betriebssystemen verankert.
Mit IKEv2 steht aber schon seit Längerem ein moderner Nachfolger für VPNs mit IPsec in den Startlöchern, der einige Vorteile gegenüber IKEv1 hat. Das ist im Groben:
  • Weniger Overhead und damit weniger Bandbreiten Verbrauch und schnellerer Tunnelaufbau.
  • EAP Support
  • MOBIKE Support für mobile Endgeräte
  • Integriertes NAT Traversal
  • Besseres Tunnel Keepalive Management
IKEv1 ist nur bedingt kompatibel zu IKEv2. Router oder Firewalls haben oft eine Autodetection an Bord (z.B. pfSense) die erkennen kann, ob ein VPN Connect Request mit IKEv1 oder v2 kommt und passen sich dementsprechend an. Auch supporten viele VPN Endgeräte noch kein IKEv2. Die populäre FritzBox ist so ein Kandidat die derzeit nur IKEv1 spricht. Dies gilt es beim VPN Setup mit IPsec zu beachten.
Viele moderne Betriebssysteme wie z.B. Windows 10, Apple MacOS und auch Linux verwenden in den onboard Clients ebenfalls IKEv2. Bei Windows 10 sogar ausschließlich. Eine IKEv1 Kompatibilität kann dann nur mit zusätzlicher externer Software realisiert werden was das Handling von VPNs nicht unbedingt vereinfacht.
Alles in allem also ein Grund sich etwas näher mit IKEv2 zu beschäftigen.

back-to-topIKEv2 Beispiel Konfiguration


Das Setup ist ähnlich dem oben zitierten IKEv1 Standort VPN Tutorial und selbsterklärend. Alle Router machen NAT am WAN Port mit einer entsprechenden SPI Firewall ins Internet. Cisco Router 2 ist der Responder mit fester, statischer IP. Alle anderen Komponenten nutzen dynamische IPs und zur IPsec Authentisierung Pre Shared Keys mit FQDN Namen (Fully Qualified Domain Names (Hostnamen)), da bei dynamischen IP Adressen eine VPN Tunnel Authenthisierung über die sich ändernde IP fehlschlägt, wenn diese nicht statisch sind.
Eine Sonderstellung nimmt in diesem Design die pfSense Firewall ein die gleichzeitig IKEv2 Responder für den Mikrotik Router ist.
Interessanterweise lässt der Cisco keine IKEv2 SA Assoziierung vom Mikrotik zu. Und das weder mit FQDN Namen noch mit statischer IP Adress Beziehung. Ob das ein Bug auf Cisco oder Mikrotik Seite ist, ist derzeit unklar. Verwendet wurde Cisco IOS 15.6.3(M7) und Router OS Ver. 6.46.3 (Stable Train). (Sollte jemand Infos dazu haben bitte Feedback per PM !)
Der Mikrotik verbindet sich aber fehlerlos per IKEv2 mit der pfSense und dies ist sehr wahrscheinlich wohl auch das häufigere VPN Szenario in Netzwerken kleiner und mittlerer Größe unter Verwendung von Mikrotik und/oder pfSense Hardware.
Es muss nicht extra betont werden das IKEv2 in einer reinen Cisco, pfSense und Mikrotik Umgebung natürlich ebenso fehlerfrei funktioniert.
Das korrespondierende Demo Netzwerk zeigt die folgende Abbildung:

ikev2

Der geplante spätere zweite Teil des Tutorials erweitert die Konfiguration auf dynamische VTI Interfaces mit GRE Tunnel um alle Standorte mit dynamischem Routing zu versorgen und auch Multicast fähig zu machen. Gleichzeitig ermöglichen VTI Interfaces eine einfachere Firewall Konfiguration. Dazu später mehr...

back-to-topIKEv2 Setup Cisco

Der Cisco-2 Router ist hier IPsec Responder mit einer festen statischen IP Adresse am Internet Port. Der Router 3 nutzt eine dynamische WAN IP.

back-to-topSetup Cisco-2 Router (Responder)


 crypto ikev2 proposal IKE2PROP
 encryption aes-cbc-256 aes-cbc-192 aes-cbc-128
 integrity sha256
 group 14
!
crypto ikev2 policy IKE2POL
 match fvrf any
 proposal IKE2PROP
!
crypto ikev2 keyring KR-1
 peer DynSITES
  address 0.0.0.0 0.0.0.0
  pre-shared-key test1234
 !
!
crypto ikev2 profile DYNAMIC
 match fvrf any
 match identity remote fqdn Cisco3
 match identity remote fqdn pfSense
 identity local fqdn Cisco2
 authentication local pre-share
 authentication remote pre-share
 keyring local KR-1
!
crypto ipsec transform-set Testset esp-aes 256 esp-sha256-hmac
 mode tunnel
!
crypto dynamic-map DMAP 10
 set transform-set Testset
 set pfs group14
 set ikev2-profile DYNAMIC
 match address DynIPVPN
!
crypto map IKE2VPN 10 ipsec-isakmp dynamic DMAP
!
!
interface Vlan1
 description Lokales LAN
 ip address 172.16.7.1 255.255.255.0
 ip nat inside
!
interface Gigabit 1/0
 description WAN Interface
 ip address 10.99.1.222 255.255.255.0
 ip nat outside
 crypto map IKE2VPN
!
ip nat inside source list 101 interface Gigabit 1/0 overload
!
ip access-list extended DynIPVPN
 permit ip 172.16.7.0 0.0.0.255 192.168.77.0 0.0.0.255
 permit ip 172.16.7.0 0.0.0.255 192.168.1.0 0.0.0.255
!
access-list 101 deny   ip 172.16.7.0 0.0.0.255 192.168.1.0 0.0.0.255
access-list 101 deny   ip 172.16.7.0 0.0.0.255 192.168.77.0 0.0.0.255
access-list 101 permit ip 172.16.7.0 0.0.0.255 any 
! 
Die Access Liste "DynVPN" klassifiziert den Traffic der in den VPN Tunnel geht.
Die Access Liste 101 definiert den NAT Traffic. Der VPN Traffic in den jeweiligen Tunneln zu den Standorten soll natürlich transparent geroutet werden und nicht über das NAT gehen und wird deshalb per deny von der NAT Translation ausgenommen.

back-to-topSetup Cisco-3 Router (Initiator)


Cisco 3 nutzt eine dynamische IP Adresse am WAN/Internet Port.
!
crypto ikev2 proposal IKE2PROP
encryption aes-cbc-256 aes-cbc-192 aes-cbc-128
integrity sha256
group 14
!
crypto ikev2 policy IKE2POL
match fvrf any
proposal IKE2PROP
!
crypto ikev2 keyring KR-1
peer Cisco2
address 10.99.1.222 255.255.255.0
pre-shared-key test1234
!
!
crypto ikev2 profile CISCO2
match fvrf any
match identity remote fqdn Cisco2
identity local fqdn Cisco3
authentication local pre-share
authentication remote pre-share
keyring local KR-1
!
!
crypto ipsec transform-set Testset esp-aes 256 esp-sha256-hmac
mode tunnel
!
crypto map IKE2VPN 10 ipsec-isakmp
set peer 10.99.1.222
set transform-set Testset
set pfs group14
set ikev2-profile CISCO2
match address Cisco2VPN
!
!
interface Vlan1
description Lokales LAN
ip address 192.168.77.1 255.255.255.0
ip nat inside
!
interface GigabitEthernet 1/0
description Internet
ip address dhcp
ip nat outside
crypto map IKE2VPN
!
ip nat inside source list 101 interface Vlan99 overload
!
ip access-list extended Cisco2VPN
permit ip 192.168.77.0 0.0.0.255 172.16.7.0 0.0.0.255
!
access-list 101 deny ip 192.168.77.0 0.0.0.255 172.16.7.0 0.0.0.255
access-list 101 permit ip 192.168.77.0 0.0.0.255 any
!
end



back-to-topIKEv2 Setup pfSense Firewall:


ike2global

back-to-topPhase-1 (Peer zu Cisco 2)

ike2p1-1
ike2p1-2

back-to-topPhase-2 (Peer zu Cisco 2)

ike2p2-1
ike2p2-2

back-to-topPhase-1 (Peer zu Mikrotik)

ike2p1mt

back-to-topPhase-2 (Peer zu Mikrotik)

ike2p2mt


back-to-topSetup Mikrotik (Initiator)

mtsec


back-to-topIst das auch sicher?


Ein abschließender Wireshark Trace auf der "Internet" WAN Verbindung zeigt dann auch, das die Tunnel Verschlüsselung sicher funktioniert und der Inhalt nicht lesbar ist.

wdesp


back-to-topSetup Linux Server (StrongSwan)


Das StrongSwan Packet (IPsec Support) installiert man aus der Package Verwaltung (Debian basierte Distros, Ubuntu usw.)) mit dem folgenden Kommando:
sudo apt install strongswan libstrongswan-extra-plugins libcharon-extra-plugins

Wichtig !:
Bevor man mit der Konfiguration fortfährt muss auf dem Linux Rechner das IPv4 Forwarding aktiviert sein, denn der Linux Server routet zw. VPN und lokalem Netzwerk !!
Ohne diese Routing Aktivierung kann der VPN Client kein Tunnelinterface und eine Route dahin anlegen.
Dazu editiert man die Datei /etc/sysctl.conf mit dem onboard nano Editor mit sudo nano /etc/sysctl.conf und sucht dort nach der Zeile #net.ipv4.ip_forward=1 !
Man entfernt dann in dieser Zeile das davorliegende Kommentar "#", speichert die Datei und rebootet den Linux Rechner mit shutdown -r now.

Die zentrale Konfigurations Datei für den StrongSwan IPsec Client findet man im alten Konfig Mode unter /etc/ipsec.conf.
Diese Konfig Datei ist eine simple Text Datei und passt man mit dem nano Editor an.
Der folgende Thread beschreibt ein Live Beispiel des Setups:
Digitalisierungsbox Premium und ipsec IKEv2 Routing

Die modernere Strongswan Konfigurationsvariante mit dem swanctl Tool findet man im Verzeichnis/etc/swanctl/conf.d.Sie ist deutlich flexibler als die alte Variante und sollte für aktuelle Setups verwendet werden!
Ein IKEv2 Beispiel (Windows VPN) in Verbindung mit einer Fritzbox VPN Anbindung findet man u.a. hier:
IKEv2 VPN Server für Windows und Apple Clients mit Raspberry Pi


back-to-topWeiterführende Links


Grundkonfiguration von Cisco VPN Routern mit ADSL/VDSL:
Cisco 880, 890 und ISR Router Konfiguration mit xDSL, Kabel oder FTTH Anschluss plus VPN und IP-TV

VPN IPsec IKEv1 Standort Kopplung unterschiedlicher Hardware:
IPsec VPN Praxis mit Standort Vernetzung Cisco, Mikrotik, pfSense, FritzBox u.a
Cisco zu pfSense / OPNsense
2921 Kaskadierung mit Fritzbox für IPSEC-Tunnel

IPsec Standort Kopplung mit VTI und CiscoRoutern:
Cisco SVTI - Tunnel

IPsec Standort Kopplung mit VTI Tunnel zwischen Cisco und pfSense/OPNsense Firewall:
2921 Kaskadierung mit Fritzbox für IPSEC-Tunnel

IPsec Standort Kopplung mit GRE Tunnel und dynamischem RIPv2 Routing auf Mikrotik und Cisco:
Cisco, Mikrotik, pfSense VPN Standort Vernetzung mit dynamischem Routing
Zwischen Miktrotik und PFSense GRE Tunnel mit IPSec Verschlüsslung
Zwischen Miktrotik und PFSense GRE Tunnel mit IPSec Verschlüsslung

IPv6 über IPv4 GRE Tunnel Interface mit OSPF übertragen (Cisco):
IPv6 über Cisco IPv4 IPsec Tunnel

VPN IPsec IKEv1 Standort Kopplung Cisco-Mikrotik mit GRE Tunnel und dyn. OSPF Routing:
Routing Frage welches Protokoll für Mobile Geräte

Klassische Mikrotik IKEv2 VPN Standort Kopplung mit Preshared Key:
MikroTik S2S IPSec Tunnel - kein Ping der Gegenstelle möglich
pfSense/OPNsense Mikrotik IKEv2 Praxisbeispiel
Mit 2 verschiedenen Phase 2 SAs
pfSense/OPNsense Mikrotik IKEv2 mit 2 P2 SAs

VxLAN Layer 2 Tunnel OPNsense/pfSense auf Mikrotik:
VLAN über Site2Site VPN

back-to-topIKEv1 VPN Beispiele:


Klassische Mikrotik IKEv1 VPN Standort Kopplung mit Preshared Key:
IPsec-Site2Site-Tunnel zwischen zwei MikroTik-Routern, beide MikroTik-Router hinter NAT

Einfaches LAN zu LAN VPN Setup mit FritzBox pfSense/OPNsense und DDNS Adressen:
Routingprobleme über OpenVPN auf Fritzbox

Klassische Cisco zu pfSense IKEv1 VPN Standort Kopplung:
2921 Kaskadierung mit Fritzbox für IPSEC-Tunnel

pfSense Firewall für mobile, bordeigene Windows, Linux, Mac OS und Smartphone VPN Clients einrichten:
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten
L2TP basiertes Client VPN:
PfSense VPN mit L2TP (IPsec) Protokoll für mobile Nutzer
Scheitern am IPsec VPN mit MikroTik

L2TP Site to Site (Standort) Anbindung mit Mikrotik:
MikroTik Router als VPN Client

pfSense auf VmWare ESXi 6.7:
VLAN mit Cisco SG220, ESXIund Pfsense
Sophos Software Appliance UTM - VLAN - CISCO SG Series Switches

DS-Lite Anschluss und VPN: Lösung mit Vermittlungsserver und fester IP:
Zwei Mobilfunkrouter (TP-Link MR200) per VPN verbinden, ev. per externen VPN-Gateway (VPS-Server)
Feste IPs zuhause in pfsense via WireGuard Tunnel
Feste IPs zuhause in pfsense via GRE Tunnel
Tücken bei remotem Port Forwarding in den VPN Tunnel beachten !!:
Wie Portforwarding über 2 miteinander verbundenen pfSense realisieren

Direkter DS-Lite Anschluss mit pfSense:
https://cybercyber.org/m-net-ds-lite-anschluss-mit-pfsense.html

Email Benachrichtigungen richtig einrichten:
OPNSense - EMAIL Alerts - failed login

Link Aggregation mit pfSense und OPNsense:
Link Aggregation (LAG) im Netzwerk

AirPrint Drucker und andere Bonjour/mDNS Dienste erreichbar machen:
Apple AirPrint über VLANs

Content-ID: 544054

Url: https://administrator.de/contentid/544054

Printed on: November 11, 2024 at 10:11 o'clock

LuziMarko
LuziMarko Feb 11, 2020 at 10:48:52 (UTC)
Goto Top
Respekt Danke schön