2921 Kaskadierung mit Fritzbox für IPSEC-Tunnel

Mitglied: vickyys

vickyys (Level 1) - Jetzt verbinden

31.12.2020 um 12:54 Uhr, 1029 Aufrufe, 25 Kommentare

Hallo zusammen,

ich möchte den Cisco 2921 Router an meine Fritzbox 6490(Vodafone/UM)) anschließen und einen ip-sec Tunnel zum Remote pfsense auf einem ESXi 6.5 Host konfigurieren. Momentan gibt es keine spezielle Konfiguration auf meiner fritzbox, außer dem dyndns.
Das Netzwerk auf meiner Seite sieht also wie folgt aus.

Gig 0/1 LAN---->2921 Router---->Gig 0/0 WAN(DHCP)---->Fritzbox--->Internet----->Fernes Ende DSL Router + Modem---->ESXi mit pfsense.
netzwerk - Klicke auf das Bild, um es zu vergrößern

Ich habe auch die Übersicht des Netzwerkdiagramms beigefügt.

Ich habe ein sehr detailliertes Dokument in diesem Forum gelesen und es war wirklich hilfreich, aber es ist ein bisschen verwirrend, da ich nicht der Routing-Experte bin.
Es wäre also toll, wenn ich hier etwas Unterstützung bekommen könnte.
Vielleicht eine genaue Demo-Konfiguration, die auf dem Cisco 2921 Router und der fritzbox gemacht werden muss?


Vielen Dank

Vicky
Mitglied: aqui
31.12.2020, aktualisiert 01.01.2021
Wenn du den Cisco ohne NAT als einfachen transparenten Router laufen lassen willst, dann musst du an der FritzBox lediglich eine statischen Route eingeben zur Standard Konfig, mehr nicht.
Nehmen wir einmal an dein FritzBox LAN ist das klassische 192.168.178.0 /24 mit der FritzBox als .1 als Hostadresse und dem Cisco mit der .254 am Gig0/0 Interface. Lokales LAN am Cisco ist die 142.100.64.0 /24.
Dann sieht deine einfache Cisco 2921 Konfig so aus:
!
service timestamps log datetime localtime
!
hostname Cisco_Router
!
security authentication failure rate 3 log
security passwords min-length 6
enable secret Geheim123
!
clock timezone CET 1 0
clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00
!
aaa new-model
aaa authentication login default local
!
no ip source-route
no ip gratuitous-arps
!
ip dhcp excluded-address 142.100.64.1 142.100.64.99
ip dhcp excluded-address 142.100.64.200 142.100.64.254
!
ip dhcp pool Lokal
network 142.100.64.0 255.255.255.0
default-router 142.100.64.254
dns-server 192.168.178.1
domain-name meinedomain.home.arpa
!
ip domain name meinedomain.home.arpa
!
username admin password Geheim123
!
interface Gigabit 0/0
description WAN Link zur FritzBox
ip address 192.168.178.254 255.255.255.0
!
interface Gigabit 0/1
description Lokales LAN
ip address 142.100.64.254 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 192.168.178.1
!


Die statische Route auf der FB sieht so aus:
fbrou - Klicke auf das Bild, um es zu vergrößern
Fertisch ! ;-) face-wink

ACHTUNG !!:
Dir ist hoffentlich klar das die IP Adresse 142.100.64.0 /24 keine private RFC 1918 IP Adresse für private lokale IP Netze ist !!
Sie ist weltweit auf eine kanadische Behörde registriert !!
NetRange: 142.100.0.0 - 142.100.255.255
CIDR: 142.100.0.0/16
NetName: CACSST01
NetType: Direct Assignment
RegDate: 1993-10-21
Updated: 2017-02-02
OrgName: Commission de Sante et de Securite au Travail
Address: 524, rue Bourdages
City: Quebec

Solche IP Adressen sollte man also tunlichst niemals als Privates Netzwerk nutzen ! Ganz besonders nicht wenn es eine öffentliche Behörde eines souveränen Landes ist !
Dafür sind die bekannten RFC 1918 IP Netze da:
https://de.wikipedia.org/wiki/Private_IP-Adresse#Private_Adressbereiche

Grundlagen zu so einem simplen Routing Design wie immer hier:
https://administrator.de/tutorial/routing-2-ip-netzen-windows-linux-rout ...
Weitere Infos zur Cisco Konfiguration inkl. VPN Setup usw. hier:
https://administrator.de/tutorial/cisco-880-890-isr-router-konfiguration ...

VPN Standortkopplung pfSense <-> Cisco:
Mit IKEv1
https://administrator.de/knowledge/ipsec-vpn-praxis-standort-kopplung-ci ...
Mit IKEv2
https://administrator.de/tutorial/ipsec-ikev2-standort-vpn-vernetzung-ci ...
Mit VTI Interfaces und dynamischem Routing:
https://administrator.de/tutorial/cisco-mikrotik-pfsense-vpn-standort-ve ...
Bitte warten ..
Mitglied: vickyys
31.12.2020 um 15:10 Uhr
Vielen Dank! Ich werde jetzt loslegen und das Forum auf dem Laufenden halten.
Bitte warten ..
Mitglied: aqui
31.12.2020 um 15:35 Uhr
Wir sind gespannt...! 😉
Bitte warten ..
Mitglied: vickyys
31.12.2020, aktualisiert um 16:49 Uhr
OK ich habe die Konfiguration mit IKEV1 mit dem folgenden Link versucht, aber es scheint, ich mache immer noch etwas falsch auf dem 2921 Router. irgendwelche Vorschläge? Ich hänge die Konfiguration von meinem 2921 Router und den IPSEC-Tunnelstatus von pfsense an.

pfsense - Klicke auf das Bild, um es zu vergrößern

Eigentlich bin ich ein Cisco Voice Engineer und habe vor kurzem angefangen, mich mit pfsense und Security zu beschäftigen. Daher brauche ich etwas Unterstützung :) face-smile


Vielen Dank
Bitte warten ..
Mitglied: aqui
31.12.2020, aktualisiert um 17:42 Uhr
Nur mal doof nachgefragt:
Dir ist klar das der Cisco in einer Router Kaskade mit einem NAT Router davor rennt, oder ???
Ohne das du ein entsprechendes Port Forwarding auf der FritzBox für die IPsec VPN Ports:
  • UDP 500
  • UDP 4500
  • ESP Protokoll
gemacht hast, können an der FritzBox eingehende IPsec Pakete niemals deren NAT Firewall überwinden auf ein Gerät was dahinter liegt.
fppfw kopie - Klicke auf das Bild, um es zu vergrößern
Da die FritzBox selber ein aktiver IPsec VPN Router ist dürfen auf ihr auch keinerlei VPN Konfigs, User usw. eingestellt sein sonst forwardet sie trotz Port Forwarding keine IPsec Pakete und blockt diese.

Idealerweise startest du auf dem Cisco einmal den IPsec Debugger mit debug crypto isakmp und debug crypto ipsec und siehst dir die von der pfSense eingehenden IPsec Pakete an. (Achtung: Wenn du per Telnet oder SSH auf dem Cisco bist vorher term mon aktivieren um die Konsol Messages zu sehen ! Weisst du ja als Cisco Profi selber..)
Wenn du keinerlei eingehende IPsec Pakete der pfSense auf dem Cisco siehst weisst du das die FritzBox davor kein IPsec forwardet und musst Hand an deren Konfig legen !
Wenn du mit dem Debuggen fertig bist unbedingt mit u all das Debugging auf dem Cisco wieder deaktivieren sonst rennt der im 3ten Gang !
Es sollte auch klar sein das die Peer IP Adresse auf der pfSense natürlich die des WAN Ports der FritzBox ist bzw. deren DynDNS Name !

Hier findest du alle Infos zu dem Thema Kaskaden und Port Forwarding:
https://administrator.de/tutorial/ipsec-vpn-mobile-benutzer-pfsense-opns ...
mich mit pfsense und Security zu beschäftigen. Daher brauche ich etwas Unterstützung.
Keine Sorge, wir bekommen das schon zum Fliegen. Das ist eine Konfig die ganz sicher und wasserdicht funktioniert... ;-) face-wink
Bitte warten ..
Mitglied: aqui
LÖSUNG 01.01.2021, aktualisiert 02.01.2021
Deine Fehler kannst du oben in der Cisco Konfig auch schon selber sehen !!
  • Überflüssiges VTI Interface konfiguriert. (crypto ipsec profile test-vti2) Kannst du entfernen !
  • Crypto Map am WAN Interface GigabitEthernet0/0 nicht konfiguriert, dadurch kann der Cisco gar keinen VPN Tunnel aufbauen.
  • VPN Accesslitste vpnpfsense zum Klassifizieren des VPN Traffics vollkommen falsch mit einer 10er Netz IP konfiguriert die es gar nicht gibt
Diese 3 Fehler, wobei die 2 letzten die gravierensten sind, führen dazu das der Cisco niemals einen IPsec Tunnel zur pfSense aufbauen kann !
Richtig muss die Cisco Konfig so aussehen:
!
crypto keyring PFSENSEAWS
pre-shared-key address <pfsense_ipv4_ip> key <Passwort>
!
crypto isakmp policy 5
encr aes 256
hash sha256
authentication pre-share
group 14
!
crypto isakmp policy 10
encr aes
authentication pre-share
group 2
!
crypto isakmp profile PFSENSE
description IPsec VPN pfSense
keyring PFSENSEAWS
match identity address <pfsense_ipv4_ip>
!
crypto ipsec transform-set VPNSET esp-aes esp-sha-hmac
mode tunnel
crypto ipsec transform-set VPNSET2 esp-aes esp-sha256-hmac
mode tunnel
!
crypto map PFSENSE 10 ipsec-isakmp
description Static VPN Tunnel pfSense
set peer <pfsense_ipv4_ip>
set transform-set VPNSET2
set isakmp-profile PFSENSE
match address vpnpfsense
!
interface GigabitEthernet0/0
description WAN zur FritzBox
ip address 192.168.178.254 255.255.255.0
no ip proxy-arp
crypto map PFSENSE
!
ip access-list extended vpnpfsense
permit ip 142.100.64.0 0.0.0.255 192.168.1.0 0.0.0.255
!


Die Klassifizierungs ACL ist so strukturiert: permit ip <lokales_LAN> <wildcard_mask> <remotes_LAN> <wildcard_mask>
Wobei wir hier ausgehen das remote das Standard pfSense LAN 192.168.1.0 /24 vorhanden ist. Ggf. musst du das anpassen wenn du dort eine andere Adressierung nutzt !

Auf der pfSense sieht es dann ganz klassisch aus:
pfs - Klicke auf das Bild, um es zu vergrößern
Hier solltest du noch die Phase 1 Lifetime an den Cisco Default 86400 anpassen !
pfs2 - Klicke auf das Bild, um es zu vergrößern

Die pfSense quittiert das dann mit einem funktionierenden Tunnel im IPsec Status oder Im IPsec Dashboard Widget
vpnstat-neu - Klicke auf das Bild, um es zu vergrößern
pfs-db - Klicke auf das Bild, um es zu vergrößern
Und auch der Cisco zeigt dir dann den laufenden Tunnel mit den 2 Befehlen:
  • show crypto ipsec sa
  • show crypto isakmp sa
an.

Fertisch ! 😉
Works as designed !!
Bitte warten ..
Mitglied: vickyys
02.01.2021, aktualisiert um 20:09 Uhr
Ok, ich habe die Konfigurationen gemäß deinem vorschlag geändert.

Wenigstens sehe ich jetzt die Ausgabe von sh crypto ipsec sa
und auf der pfsense sehe ich, dass sie versucht, sich zu verbinden, aber die Verbindung schlägt fehl.
Ich habe auch das Netzwerk ein wenig veraendert, um es an die Standards anzupassen und das Problem zu isolieren. Ich habe mein lokales LAN auf dem Cisco-Router auf 192.168.188.0/24 anstelle von 142.100.64.0/24 geändert.
Auf der Remote Seite habe ich nun die pfsense direkt auf AWS, um eventuelle Modem/Router-Probleme zu unterscheiden.
Das WAN auf der pfsense hat ein WAN-Subnetz und dann die andere Seite ein LAN-Subnetz.

192.168.188.0/24<<-------Cisco--->>192.168.178.254/24--->Fritzbox--->Internet--->pfsense-AWS-WAN(publicip/privateip 10.0.0.16/28)---->pfsenseLAN(10.0.0.0/28).

Ich wollte nur checken, wenn die Interface gig 0/1 auf dem Cisco Router 192.168.188.0/24 abgeschaltet wird und dann kein Gerät im 10.0.0.0.0/28 AWS LAN Subnetz angeschlossen ist, wird der Tunnel dann wenigstens noch aufgebaut? ODER wird er nur aufgebaut, wenn Traffic zwischen 192.168.188.0/24 und 10.0.0.0/28 gesendet wird.

einmal die Cisco konfig


myrouter# show crypto ipsec sa

interface: GigabitEthernet0/0
Crypto map tag: PFSENSE, local addr 192.168.178.254

protected vrf: (none)
local ident (addr/mask/prot/port): (192.168.188.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (10.0.0.0/255.255.255.15/0/0)
current_peer <<pfsense public ip ipv4>> port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 0, #pkts encrypt: 0, #pkts digest: 0
#pkts decaps: 0, #pkts decrypt: 0, #pkts verify: 0
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 0, #recv errors 0

local crypto endpt.: 192.168.178.254, remote crypto endpt.: <pfsense public ip ipv4>
plaintext mtu 1500, path mtu 1500, ip mtu 1500, ip mtu idb GigabitEthernet0/0
current outbound spi: 0x0(0)
PFS (Y/N): N, DH group: none

inbound esp sas:

inbound ah sas:

inbound pcp sas:

outbound esp sas:

outbound ah sas:

outbound pcp sas:


Danke

Vicky
Bitte warten ..
Mitglied: vickyys
03.01.2021, aktualisiert um 00:24 Uhr
OK, das andere Problem könnte sein, dass ich einen Vodafone DS-Lite-Anschluss für IPV4 habe und daher der dyndns-Provider noip.com nicht in der Lage ist, die richtige ipv4 zu erhalten.
Ich muss dann einen Dual-Stack bestellen oder?
Bitte warten ..
Mitglied: vickyys
03.01.2021, aktualisiert um 12:14 Uhr
Hallo,

ich habe die Vodafone-anschluss auf Dual-Stack umgestellt und sehe nun zumindest 2-Wege-Signalisierung.

Allerdings ist der Tunnel nicht connected. Der Tunnel von pfsense wird disconnected.

Ich sehe, dass dieser Router jeden der MM-Zustände durchläuft.

IKE_I_MM2 -> IKE_I_MM3 -> IKE_I_MM4 -> IKE_I_MM5 -> IKE_I_MM6 -> QM_IDLE

Das sieht gut aus. Es schließt den gesamten Phase-1-Phase one key exchange process ab. Ich weiß also, dass mit meinen ISAKMP-Einstellungen nichts falsch ist.

Kurz nachdem er QM_IDLE wird, beginnt er SAs zu löschen und sagt:

peer does not do paranoid keepalives.

Ich habe versucht, die PFS-Werte und die Phase-2-Keepalive-Werte zu vergleichen, und beides scheint in Ordnung zu sein.

*Jan 3 09:55:35.187: ISAKMP (1007): received packet from <pfsense ipv4 public ip> dport 4500 sport 4500 Global (R) MM_KEY_EXCH
*Jan 3 09:55:35.187: ISAKMP:( face-sad1007):Input = IKE_MESG_FROM_PEER, IKE_MM_EXCH
*Jan 3 09:55:35.187: ISAKMP:( face-sad1007):Old State = IKE_R_MM4 New State = IKE_R_MM5

*Jan 3 09:55:35.187: ISAKMP:( face-sad1007): processing ID payload. message ID = 0
*Jan 3 09:55:35.187: ISAKMP (1007): ID payload
next-payload : 8
type : 1
address : 10.0.0.26
protocol : 0
port : 0
length : 12
*Jan 3 09:55:35.187: ISAKMP:( face-sad0):: peer matches *none* of the profiles
*Jan 3 09:55:35.187: ISAKMP:( face-sad1007): processing HASH payload. message ID = 0
*Jan 3 09:55:35.187: ISAKMP:( face-sad1007): processing NOTIFY INITIAL_CONTACT protocol 1
spi 0, message ID = 0, sa = 0x39F49A94
*Jan 3 09:55:35.187: ISAKMP:( face-sad1007):SA authentication status:
authenticated
*Jan 3 09:55:35.187: ISAKMP:( face-sad1007):SA has been authenticated with <pfsense ipv4 public ip>
*Jan 3 09:55:35.187: ISAKMP:( face-sad1007):Detected port floating to port = 4500
*Jan 3 09:55:35.187: ISAKMP: Trying to find existing peer 192.168.178.254/<pfsense ipv4 public ip>/4500/
*Jan 3 09:55:35.187: ISAKMP:( face-sad1007):SA authentication status:
authenticated
*Jan 3 09:55:35.187: ISAKMP:( face-sad1007): Process initial contact,
bring down existing phase 1 and 2 SA's with local 192.168.178.254 remote <pfsense ipv4 public ip> remote port 4500
*Jan 3 09:55:35.187: ISAKMP: Trying to insert a peer 192.168.178.254/<pfsense ipv4 public ip>/4500/, and inserted successfully 22C82AE8.
*Jan 3 09:55:35.187: ISAKMP:( face-sad1007):Setting UDP ENC peer struct 0x3E4564A4 sa= 0x39F49A94
*Jan 3 09:55:35.187: ISAKMP:( face-sad1007):Input = IKE_MESG_INTERNAL, IKE_PROCESS_MAIN_MODE
*Jan 3 09:55:35.187: ISAKMP:( face-sad1007):Old State = IKE_R_MM5 New State = IKE_R_MM5

*Jan 3 09:55:35.187: IPSEC(key_engine): got a queue event with 1 KMI message(s)
*Jan 3 09:55:35.187: ISAKMP:( face-sad1007):SA is doing pre-shared key authentication using id type ID_IPV4_ADDR
*Jan 3 09:55:35.187: ISAKMP (1007): ID payload
next-payload : 8
type : 1
address : 192.168.178.254
protocol : 17
port : 0
length : 12
*Jan 3 09:55:35.187: ISAKMP: (1007):Total payload length: 12
*Jan 3 09:55:35.187: ISAKMP: (1007): sending packet to <pfsense ipv4 public ip> my_port 4500 peer_port 4500 (R) MM_KEY_EXCH
*Jan 3 09:55:35.187: ISAKMP: (1007):Sending an IKE IPv4 Packet.
*Jan 3 09:55:35.187: ISAKMP: (1007):Input = IKE_MESG_INTERNAL, IKE_PROCESS_COMPLETE
*Jan 3 09:55:35.187: ISAKMP: (1007):Old State = IKE_R_MM5 New State = IKE_P1_COMPLETE

*Jan 3 09:55:35.187: ISAKMP: (1007):Input = IKE_MESG_INTERNAL, IKE_PHASE1_COMPLETE
*Jan 3 09:55:35.187: ISAKMP: (1007):Old State = IKE_P1_COMPLETE New State = IKE_P1_COMPLETE

*Jan 3 09:55:35.363: ISAKMP (1007): received packet from <pfsense ipv4 public ip> dport 4500 sport 4500 Global (R) QM_IDLE
*Jan 3 09:55:35.363: ISAKMP: set new node 1035329911 to QM_IDLE
*Jan 3 09:55:35.363: ISAKMP: (1007): processing HASH payload. message ID = 1035329911
*Jan 3 09:55:35.363: ISAKMP: (1007): processing DELETE payload. message ID = 1035329911
*Jan 3 09:55:35.363: ISAKMP: (1007):peer does not do paranoid keepalives.

*Jan 3 09:55:35.363: ISAKMP: (1007):deleting SA reason "No reason" state (R) QM_IDLE (peer <pfsense ipv4 public ip>)
*Jan 3 09:55:35.367: ISAKMP: (1007):deleting node 1035329911 error FALSE reason "Informational (in) state 1"
*Jan 3 09:55:35.367: ISAKMP: set new node -684451573 to QM_IDLE
*Jan 3 09:55:35.367: ISAKMP: (1007): sending packet to <pfsense ipv4 public ip> my_port 4500 peer_port 4500 (R) QM_IDLE
*Jan 3 09:55:35.367: ISAKMP: (1007):Sending an IKE IPv4 Packet.
*Jan 3 09:55:35.367: ISAKMP: (1007):purging node -684451573
*Jan 3 09:55:35.367: ISAKMP: (1007):Input = IKE_MESG_INTERNAL, IKE_PHASE1_DEL
*Jan 3 09:55:35.367: ISAKMP: (1007):Old State = IKE_P1_COMPLETE New State = IKE_DEST_SA

*Jan 3 09:55:35.367: ISAKMP: (1007):deleting SA reason "No reason" state (R) QM_IDLE (peer <pfsense ipv4 public ip>)
*Jan 3 09:55:35.367: ISAKMP: Unlocking peer struct 0x22C82AE8 for isadb_mark_sa_deleted(), count 0
*Jan 3 09:55:35.367: ISAKMP: Deleting peer node by peer_reap for <pfsense ipv4 public ip>: 22C82AE8
*Jan 3 09:55:35.367: ISAKMP: (1007):Input = IKE_MESG_FROM_PEER, IKE_MM_EXCH
*Jan 3 09:55:35.367: ISAKMP: (1007):Old State = IKE_DEST_SA New State = IKE_DEST_SA
Bitte warten ..
Mitglied: aqui
03.01.2021, aktualisiert um 13:00 Uhr
OK, das andere Problem könnte sein, dass ich einen Vodafone DS-Lite-Anschluss für IPV4 habe und daher der dyndns-Provider noip.com nicht in der Lage ist, die richtige ipv4 zu erhalten.
Das müsste man nicht zwingend. Du könntest den Cisco auch als reinen Responder konfigurieren, das er jegliche IP annimmt die als Peer Tunnel IP an ihn gerichtet ist. Dann sieht die Cisco Konfig oben etwas anders aus mit einer dynamischen Crypto Map. Wenn's dich interessiert kann ich solch ein Setup für den Cisco hier auch nochmal posten.

Dein zweiter Kardinalsfehler ist oben bei der vpnpfsense Access Liste !!!
Du schreibst das dein remotes 10er Netz einen 28 Bit Prefix nutzt also 255.255.255.240 was dann den Host IPs von 10.0.0.1 bis 10.0.0.14 entspricht.
Ein /28er Prefix ergibt aber eine inverse Wildcard Netzmaske von 0.0.0.15 und NICHT ".240" denn solch eine inverse Maske existiert logisch gar nicht !
Richtig müsste also deine Klassifizierungs ACL vpnpfsense so lauten:
!
ip access-list extended vpnpfsense
permit ip 192.168.188.0 0.0.0.255 10.0.0.0 0.0.0.15
!

Solche banalen Flüchtigkeitsfehler in simplen Masken sollten dir als Cisco Profi aber eigentlich nicht mehr passieren !!
Achte darauf das das mit der Phase 2 Konfig auf der pfSense absolut identisch ist, ansonsten kommt der Tunnel nicht hoch bei einem Phase 2 Mismatch wie du es ja an deinen geposteten Cisco Fehlermeldungen auch selber sehen kannst !!
Korrigiere das, dann klappt das auch sofort ! ;-) face-wink
Deine restliche Cisco Konfig ist sonst absolut korrekt.
Bitte warten ..
Mitglied: vickyys
03.01.2021 um 15:50 Uhr
die inverse Maske sollte also wirklich nicht so konfiguriert werden, und ich verstehe, wie ärgerlich es sein kann, wenn ein anderer Netzwerkprofi sie sieht. Ich habe gerade meine alte Konfiguration modifiziert und ein Copy-Paste gemacht, also liegt es daran. Allerdings ist sie wirklich auf 0.0.0.15 eingestellt. Aber danke, dass du mich trotzdem darauf hinweist.

Eine andere Sache, die mich stört, ist, was sonst schief gehen könnte, wenn ich genau die gleiche Konfiguration wie die oben vorgeschlagene habe.

Die Phase 2 Config's stimmen mit dem Router überein. Das kann ich bestätigen.
Ich habe sogar die PFS-Schlüsselgruppe auf beiden Seiten hinzugefügt, nur um zu prüfen, ob das hilft. Der Status bleibt jedoch derselbe.

router-ipsec - Klicke auf das Bild, um es zu vergrößern
pfsense-p2 - Klicke auf das Bild, um es zu vergrößern
pfsense-p22 - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: aqui
03.01.2021, aktualisiert um 20:26 Uhr
☹️ Siehe Konfig Screenshot oben.
fehler - Klicke auf das Bild, um es zu vergrößern
  • Was steht im IPsec Log der pfSense
  • Was sagt der Cisco isakmp Debugger ?

Bitte warten ..
Mitglied: vickyys
03.01.2021, aktualisiert um 23:04 Uhr
Sorry für den etwas langen Text.
:( face-sad

PFS ich habe es absichtlich auf 2 geändert, weil ich dachte, dass die Policy 10 in meinem vorherigen Screenshot dort helfen könnte. Aber das tat es nicht. Also änderte ich das auf 14 auf der pfsense Seite, was mir einen Fehler auf der pfsense ipsec Seite gab

IDir '192.168.178.254' does not match to '<Fritzbox Public IPv4>

Die ISAKMP-debugger zeigen weiterhin keine Veränderung. Phase 1 hat sich aufgebaut und Phase 2 hat sich nicht aufgebaut.

Ich habe die Logs von ISAKMP Debugger und pfsense ipsec Logs angefügt.

ISAKMP Debugger
IPSEC Logs

Dann habe ich nachgelesen, warum es diesen nicht passenden Identifier mit NAT geben könnte.
Nachdem ich die Netgate Tshoot-Dokumente befolgt hatte, änderte ich die Peer-IP-Adresse in Phase 1 von Peer-IP-Adresse auf IP-Adresse, wie man auf dem Screenshot sehen kann.

pfsense mismatched nat identifier - Klicke auf das Bild, um es zu vergrößern
pfsense-p1-ip-addr - Klicke auf das Bild, um es zu vergrößern
Nachdem ich dies in IP-Adresse geändert und dann die Pre-NAT-IP 192.168.178.254 eingegeben hatte, funktionierte sogar die Phase 1 nicht mehr.


Hier findet man die Protokolle von ISAKMP Debugger und Pfsense IPsec.

ISAKMP Debugger

Pfsense Ipsec logs

Und hier ist der letzte Stand meiner pfsense


pfsense ipsec - Klicke auf das Bild, um es zu vergrößern
pfsense ipsec spds - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: aqui
04.01.2021 um 09:35 Uhr
funktionierte sogar die Phase 1 nicht mehr.
Das ist ja auch vollkommen logisch, denn RFC 1918 IP Adressen sind im Internet nicht geroutet. Niemals darf man also die IP Adressen der lokalen Koppelnetze als Peers angeben, das das dann in die Hode geht weiss auch ein Laie.
Als Peer Adressen müssen immer die jeweils öffentlichen IPs des Vodafone Routers bzw. der FritzBox an ihren WAN/Internet Ports angegeben werden.
Ich stelle das Testsetup nochmal nach mit jeweils einem einfachen NAT Router davor.
Bitte warten ..
Mitglied: vickyys
04.01.2021, aktualisiert um 10:21 Uhr
Ich wollte sagen, dass die private IP im öffentlichen Internet natürlich keinen Sinn macht und ein Laie das auch wissen würde.
Die Netgate Dokumentation legt mir jedoch nahe, dass strongsWAN die tatsächliche private IP vor NAT als Identifier für die korrekte Abstimmung braucht. Ich habe noch einen anderen Cisco RV340 Router bei einem Kollegen von mir. Vielleicht werde ich den morgen auch ausprobieren. So ist AWS zum Testen aus dem Weg.

Und schon jetzt vielen Dank für die proaktive Hilfe. !!
Bitte warten ..
Mitglied: aqui
04.01.2021 um 10:45 Uhr
Du kannst den Identifier ja auch ganz einfach auf einen Usernamen umstellen statt IP, das fixt das Problem auch im Handumdrehen. ;-) face-wink
Bitte warten ..
Mitglied: aqui
04.01.2021, aktualisiert 05.01.2021
Versuche einmal den Cisco als allgemeinen IPsec Responder zu konfigurieren, das er mit einer dynamischen Crypto Map jegliche eingehenden VPN Peers, egal mit welcher Absender IP annimmt. Das eliminiert die IP Authentisierungs Problematik bei Peers mit dynamischen oder CGN IPs.

Cisco Konfig:

!
crypto keyring PFSENSEAWS
pre-shared-key address 0.0.0.0 0.0.0.0 key geheim1234
!
crypto isakmp policy 5
encr aes 256
hash sha256
authentication pre-share
group 14
!
crypto isakmp policy 10
encr aes
authentication pre-share
group 2
!
crypto isakmp profile PFSENSE
description IPsec VPN pfSense
keyring PFSENSEAWS
match identity address 0.0.0.0
!
crypto ipsec transform-set VPNSET esp-aes esp-sha-hmac
mode tunnel
crypto ipsec transform-set VPNSET2 esp-aes esp-sha256-hmac
mode tunnel
!
crypto dynamic-map PFSENSEDYN 10
set transform-set LABSET2
set isakmp-profile PFSENSE
match address vpnpfsense
!
crypto map PFSENSE 5 ipsec-isakmp dynamic PFSENSEDYN
!
interface GigabitEthernet0/0
description WAN Port zur FritzBox
ip address 192.168.178.254 255.255.255.0
crypto map PFSENSE
!
interface GigabitEthernet0/1
description Local LAN
ip address 192.168.188.254 255.255.255.0
!
ip access-list extended vpnpfsense
permit ip 192.168.188.0 0.0.0.255 10.0.0.16 0.0.0.15
!

(Das "no proxy-arp" vom GigEth0/0 entfernen !)

pfSense Phase 1 Konfig:

p1-1 - Klicke auf das Bild, um es zu vergrößern
p1-2 - Klicke auf das Bild, um es zu vergrößern

pfSense Phase 2 Konfig:

p2-1 - Klicke auf das Bild, um es zu vergrößern

Auch das führt sofort zum Erfolg. Auch mit 2 lokalen NAT Routern dazwischen !!
dynstat - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: vickyys
04.01.2021, aktualisiert um 21:30 Uhr
Endlich ist der Tunnel aufgebaut!!! Obwohl ich wieder den gleichen Fehler erhielt
ipsec status - Klicke auf das Bild, um es zu vergrößern

IDir '192.168.178.254' does not match to '<Fritzbox Public IPv4> überein

Ich habe den Tunnel komplett gelöscht und neu erstellt.
Ich musste die Peer-Adresse wert von Peer IP Address auf IP Address ändern. Vielleicht hast du eine ältere Version von Pfsense?

peer-identifier - Klicke auf das Bild, um es zu vergrößern
Danach war der Tunnel aufgebaut. Allerdings kann ich die Tunnelendpunkte(10.0.0.26/192.168.178.254) und die LAN IP's(192.168.188.254) nicht anpingen. Vielleicht sollte es dann funktionieren, wenn ich die Geräte im LAN habe und der Traffic initiiert wird?

Hier die show crypto Ausgaben des Cisco-Routers

cisco show crypto - Klicke auf das Bild, um es zu vergrößern

aber ich danke dir wirklich für deine Bemühungen und so schnelle Reaktionen und die detaillierten Lösungen. Dies wäre das erste Mal, dass ich eine so hilfreiche Antwort in einem Forum sehe, das ich bis jetzt gefunden habe. wirklich Toll!! :) face-smile

Vielen Dank

Vicky
Bitte warten ..
Mitglied: aqui
05.01.2021, aktualisiert um 09:44 Uhr
Glückwunsch ! 👏
Vielleicht hast du eine ältere Version von Pfsense?
Nein !
Getestet mit der aktuellen Version 2.4.5p1 ! Der Cisco hat eine IOS Version 15.6.3M6
Wie gesagt mit beiden Konfig Versionen auf Cisco Seite kommt ein VPN Tunnel auch mit davor kaskadierten NAT Routern fehlerfrei zustande OHNE diese Konfig Tricksereien mit der manuellen Angabe der IP Adresse.
IDir '192.168.178.254' does not match to '<Fritzbox Public IPv4> überein
Das ist auch logisch das diese Message kommt. Du hast vermutlich fälschlicherweise als remote Peer IP immer die 192.168.178.254 in der pfSense eingetragen was ja falsch ist. Wie oben mehrfach geschrieben MUSS dort die öffentliche IP am WAN Port des Internet Routers hin. Fragt sich nur WER nun der wirkliche Internet Router ist ???
Man kann leider schon ahnen wo hier der (vermutliche) Kardinalsfehler ist... !!! 😟

Dein oben geschildertes Design FritzBox 6490 und Vodafone "Modem" ist wahrscheinlich falsch !! Das "Modem" ist in Wahrheit gar kein "Modem" sondern (vermutlich) auch ein weiterer NAT Router auf den die 6490 FritzBox via "vorhandenem Internet" sprich LAN-1 Konfig zugreift !! Also nicht nur ein Gerät wie in der Zeichnung sondern zwei. Kann das sein ??
Wäre in dem Falle dann leider mal wieder ein schönes Beispiel was in einem Forum passieren kann wenn man laienhaft den Begriff "Modem" und Router verwechselt und so ein technischer Sachverhalt ggf. falsch geschildert wird.
Wenn dem wirklich so ist, hättest du dann dort doppeltes NAT (Router Kaskade) und dann stimmt natürlich die WAN IP der FritzBox niemals mehr mit der öffentlichen IP des Vodafone NAT Routers davor überein, so das es zu dieser Fehlermeldung kommt.
Ob dem so ist und das Vodafone "Modem" in Wahrheit gar kein NUR Modem (Bridge) ist sondern auch ein NAT Router solltest du dringenst nochmal abklären. In dem Falle wäre nämlich die FritzBox ein völlig überflüssiger "Durchlauferhitzer" der nur Performance frisst und den man dann besser aus dem Design entsorgt und den Cisco dann direkt am Kabelrouter betreibt...?!
Wie gesagt...nur eine Vermutung aber vieles spricht dafür.

Allerdings kann ich die Tunnelendpunkte(10.0.0.26/192.168.178.254) und die LAN IP's(192.168.188.254) nicht anpingen.
Das kann gut möglich sein wenn das Windows Rechner sind. 2 mögliche Fehlerursachen:
Vielleicht sollte es dann funktionieren, wenn ich die Geräte im LAN habe und der Traffic initiiert wird?
Ja, das ist in der Tat so. Der Tunnel wird nur aufgebaut wenn relevanter Traffic dafür da ist. Du musst dazu logischerweise auf der pfSense immer im Menü Status -> IPsec den Connect Button klicken um das zwangsweise zu initiieren wenn du kein aktives Client Netz für den Tunnel traffic hast.
Oder auf dem Cisco Router CLI einen Ping ala
ping 10.0.0.26 source GigabitEthernet0/1
initiieren damit der Tunnel eröffnet wird.
Wäre ja jetzt oberpeinlich wenn es vielleicht nur daran gescheitert wäre...?! 🧐

(10.0.0.26 jetzt weil es oben stand und weil unbekannt ist welches Subnetz du auf der pfSense nutzt. Bei .26 als Hostadresse vermutlich 10.0.0.16/28 ?!
Auch hier noch ein Tip am Rande: Gateway Adressen sind niemals "mittendrin" um diese wichtigen IPs vor Überschneidungen zu schützen. Sinnigerweise nimmt der kundige Netzwerker immer einer der IPs "ganz oben" oder "ganz unten" im Hostbereich des Subnetzes. .17 oder .30 dann in deinem Falle sollte das .16/28er Netz richtig sein).

Bitte warten ..
Mitglied: aqui
05.01.2021, aktualisiert um 13:04 Uhr
Du kannst dir den ganzen Kasperkram über die IP basierte Peer Identifikation auch sparen wenn du das auf einen User/FQDN String umstellst. Das erleichtert das VPN Setup indem es dich von jeglicher Peer IP Adressierung unabhängig macht und ist bei dynamischen Provider IPs oder DS-Lite/CGN Anschlüssen so oder so immer die bessere Option !

Cisco Konfig anpassen:

!
crypto keyring PFSENSEAWS
pre-shared-key address 0.0.0.0 0.0.0.0 key geheim1234
!
crypto isakmp policy 5
encr aes 256
hash sha256
authentication pre-share
group 14
!
crypto isakmp policy 10
encr aes
authentication pre-share
group 2
!
crypto isakmp profile PFSENSE
description IPsec VPN pfSense
keyring PFSENSEAWS
self-identity user-fqdn cisco@intern
match identity user-fqdn pfsense@intern

!
crypto ipsec transform-set VPNSET esp-aes esp-sha-hmac
mode tunnel
crypto ipsec transform-set VPNSET2 esp-aes esp-sha256-hmac
mode tunnel
!
crypto dynamic-map PFSENSEDYN 10
set transform-set LABSET2
set isakmp-profile PFSENSE
match address vpnpfsense
!
crypto map PFSENSE 5 ipsec-isakmp dynamic PFSENSEDYN
!
interface GigabitEthernet0/0
description WAN Port zur FritzBox
ip address 192.168.178.254 255.255.255.0
crypto map PFSENSE
!
interface GigabitEthernet0/1
description Local LAN
ip address 192.168.188.254 255.255.255.0
!
ip access-list extended vpnpfsense
permit ip 192.168.188.0 0.0.0.255 10.0.0.16 0.0.0.15
!

(ACHTUNG: "10.0.0.16 0.0.0.15" in der ACL wenn dein lokales LAN an der pfSense 10.0.0.16/28 ist ! (pfSense IP 10.0.0.26 /28 (255.255.255.240). Ist geraten aus den o.a. Screenshots.)

pfSense Phase 1 anpassen:

cpf2 - Klicke auf das Bild, um es zu vergrößern

Auch das führt sofort zum Erfolg egal wieviel Router Kaskaden man dazwischen hat oder nicht:
cpf1 - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: aqui
05.01.2021, aktualisiert um 19:07 Uhr
Die Königsklasse im VPN sind natürlich virtuelle Tunnel Interfaces (VTI).
Sie bieten den großen Vorteil das sie aus Router oder Firewall Sicht wie ganz normale Interfaces behandelt werden und man dann mit dynamischen Routing Protokollen wie BGP, OSPF oder RIPv2 arbeiten kann. Ein zusätzlicher Pluspunkt ist der Multicast Routing (PIM) Support über diese Interfaces um so Medien wie Audio und Video via VPN zu streamen. Klassifizierungs ACLs usw. entfallen ebenso.
Ein weiterer Vorteil ist das andere IP Protokolle über diese Tunnel übertragen werden können. Z.B. IPv6 über einen reinen IPv4 Tunnel und umgekehrt was z.B. bei DS-Lite Anschlüssen von Vorteil sein kann.

Die 2 folgenden Foren Tutorials beschreiben solche VPN Setups mit VTIs mit Cisco Routern und pfSense Firewalls:
https://administrator.de/tutorial/cisco-mikrotik-pfsense-vpn-standort-ve ...
https://administrator.de/content/detail.php?id=630607&token=121#comm ...

Off Topic hier einmal wie so eine VTI Konfiguration auf deine VPN Konfiguration bezogen aussähe:

Cisco VPN Konfig mit VTI Tunnel Interface:

!
crypto keyring PFSENSEAWS
pre-shared-key address 0.0.0.0 0.0.0.0 key geheim1234
!
crypto isakmp policy 5
encr aes 256
hash sha256
authentication pre-share
group 14
!
crypto isakmp policy 10
encr aes
authentication pre-share
group 2
!
crypto isakmp profile PFSENSE
description IPsec VPN pfSense
keyring PFSENSEAWS
self-identity user-fqdn cisco@intern
match identity user-fqdn pfsense@intern
!
crypto ipsec transform-set VPNSET esp-aes esp-sha-hmac
mode tunnel
crypto ipsec transform-set VPNSET2 esp-aes esp-sha256-hmac
mode tunnel
!
crypto ipsec profile PFSENSEVTI
set transform-set LABSET2
set isakmp-profile PFSENSE
!
interface Tunnel0
ip address 172.27.99.1 255.255.255.252
tunnel source GigabitEthernet0/0
tunnel mode ipsec ipv4
tunnel destination dynamic
tunnel protection ipsec profile PFSENSEVTI

!
interface GigabitEthernet0/0
description WAN Port zur FritzBox
ip address 192.168.178.254 255.255.255.0
!
interface GigabitEthernet0/1
description Local LAN
ip address 192.168.188.254 255.255.255.0
!

pfSense VPN Konfig mit VTI Tunnel Interface:

Phase 1 bleibt bestehen, lediglich Phase 2 (General Settings) muss angepasst werden:
vti1a - Klicke auf das Bild, um es zu vergrößern
Dann erscheint automatisch ein neues virtuelles Interface was man in den "Assignments" der Firewall durch Klick auf "Add" hinzufügen muss:
vti1 - Klicke auf das Bild, um es zu vergrößern
Jetzt kann man entweder dynamisches Routing oder auch statisches Routing über dieses Interface laufen lassen. Bei statischen Routen muss natürlich das VTI Tunnel Interface auch noch als Gateway in der pfSense eingerichtet werden.
Bei Verwendung von dynamischen Routing Protokollen (OSPF, RIPv2 etc.) entfällt das natürlich.
vti2 - Klicke auf das Bild, um es zu vergrößern
Weitere Details dazu findest du in den obigen Tutorials.

Wenn's das denn nun war bleibt zum Schluß nur noch:
https://administrator.de/faq/32
Bitte warten ..
Mitglied: vickyys
08.01.2021 um 10:12 Uhr
Danke!! Ich werde es heute versuchen und die Ergebnisse hier posten.
Bitte warten ..
Mitglied: aqui
08.01.2021 um 12:47 Uhr
Wir sind gespannt... 😉
Bitte warten ..
Mitglied: vickyys
12.01.2021 um 12:29 Uhr
OK, da ich immer Probleme mit der Pfsense in der AWS-Cloud hatte. Ich habe es einfach entfernt. Also habe ich statt pfsense einen alten kleinen Dual-WAN-VPN-Router von Cisco RV042 verwendet. Hat nur 50 Euro gekostet. Und es hat mein Leben einfacher gemacht. Ich habe die statische IPV4 Konfiguration für den Cisco 2921-Router verwendet und dann den Gateway-to-Gateway-VPN-Tunnel auf dem RV042-Router konfiguriert und alles hat ohne Probleme funktioniert!!
Ich habe auch die Client-to-Gateway-Konfiguration auf dem RV042 für den Software-VPN-Client hinzugefügt und es funktioniert nahtlos und ohne Probleme.

Ich nehme also die Pfsense heraus und verwende stattdessen nur den Cisco RV042 dual WAN VPN router. Bei Bedarf kann ich die Konfiguration posten, damit sie für andere hilfreich ist.

Nochmals vielen Dank aqui, dass du bis zum Ende geblieben bist.
Ich habe hier viel gelernt!! :) face-smile
Bitte warten ..
Mitglied: aqui
12.01.2021 um 12:37 Uhr
Es gibt halt viele Wege nach Rom....oder zu einer Lösung. 😉
Ich habe hier viel gelernt!!
Das ist die Hauptsache !

Case closed ! Und bitte dann auch
https://administrator.de/faq/32
nicht vergessen !
Bitte warten ..
Heiß diskutierte Inhalte
Netzwerke
Heimnetzwerk für mobiles Arbeiten
Matthias182Vor 1 TagFrageNetzwerke14 Kommentare

Hallo zusammen, Die Corona Pandemie treibt viele Veränderungen, so auch bei uns. Seit Wochen arbeiten meine Frau und ich wieder von zu Hause. Und ...

Firewall
Pfsense plus für Geschäftskunden
Looser27Vor 21 StundenInformationFirewall13 Kommentare

Netgate wird in Zukunft die Open Source Firewall pfSense hauptsächlich als kommerzielle Version unter dem Namen pfSense Plus vermarkten. Die "Community Version" wird weiter ...

TK-Netze & Geräte
Hybrid-Telefon für Betrieb an ISDN- sowie VoIP-Anschluss
Datax87Vor 1 TagFrageTK-Netze & Geräte30 Kommentare

Hallo, ich habe eine Frage zu einer geplanten TK-Anlagen-Umstellung. An der betreffenden ISDN-TK-Anlage sind zurzeit 6 ISDN-Telefone angeschlossen. Der dazugehörige Telefon-/Internetanschluss ist zurzeit ein ...

Router & Routing
Wie DMZ ohne doppeltes NAT am VF-Kabel-Internetzugang realisieren?
OldermanVor 1 TagFrageRouter & Routing24 Kommentare

Hallo und guten Tag allerseits! Ich habe mich nach einiger Zeit des Lesens der aufschlussreichen und wertvollen Beiträge hier zum Thema echtes DMZ mit ...

Windows Systemdateien
Windows 10 Kernisolierung: Inkompatible Treiber entfernen
FrankVor 1 TagAnleitungWindows Systemdateien1 Kommentar

Hallo, Eigentlich wollte ich nur den Empfehlungen der Windows Sicherheit nachgehen und unter Einstellungen -> Windows Sicherheit -> Kernisolierung, die Speicher-Integrität einschalten. Die Kernisolierung ...

Vmware
ESXI 6.5 Fehlgeschlagen - Zugriff auf eine Datei nicht möglich, weil sie gesperrt ist
gelöst zeroblue2005Vor 1 TagFrageVmware5 Kommentare

Hallo Zusammen, da meint man es gut und dann geht es in die Hose Aber erst mal zum IST-Zustand: - ESXI 6.5 U1 (Standalone) ...

Batch & Shell
Benutzeranmeldung mit Einschränkung
gelöst FreeBSDVor 1 TagFrageBatch & Shell8 Kommentare

Hallo zusammen, ich habe da ein kleines Problemchen und zwar versuche ich mich im PowerShell einzulernen, habe da eine kleine Aufgabe bekommen, dennoch krieg ...

Webbrowser
Frage zu "Remote-Debugging"
neuundbesserVor 1 TagFrageWebbrowser4 Kommentare

Moin, ich bin seit ein Paar Monaten in einem Projekt indem ich einfache Themen in JS-Code erledigen muss. Habe mich mittlerweile etwas in das ...