IPsec Site-Site Tunnel zwischen OPNsense und Fritzbox bricht ab

Started by chriscom, July 23, 2019, 11:56:42 PM

Previous topic - Next topic
Hallo ihr lieben,

ich habe mal wieder ein kleines Problem mit der sense...
Ich versuche derzeit einen stabilen IPsec-Tunnel zwischen der OPNsense und einer Fritzbox 6490 hin zu bekommen. Der Tunnel steht ein mal für 7 Minuten, dann mal wieder nur 2 Minuten. In dieser Zeit kann ich von der OPNsense aus alles im Netz hinter der Fritzbox erreichen und auch anders herum. Sowohl Fritze als auch die OPNsense nutzen DynDNS.

Die Verbindung geht mit folgender Meldung down:
Quote
charon: 16[IKE] <con1|3> received INVALID_ID_INFORMATION error notify
charon: 16[ENC] <con1|3> parsed INFORMATIONAL_V1 request 934488822 [ HASH N(INVAL_ID) ]

Die Konfig der Fritze sieht wie folgt aus:

vpncfg {
connections {
  enabled = yes;
  conn_type = conntype_lan;
  name = "Site-Site-VPN";
  always_renew = yes;
  reject_not_encrypted = no;
  dont_filter_netbios = yes;
  localip = 0.0.0.0;
  local_virtualip = 0.0.0.0;
  remoteip = 0.0.0.0;
  remote_virtualip = 0.0.0.0;
  remotehostname = "/////DYNDNS DER OPNSENSE/////";
  localid {
    fqdn = "/////DYNDNS DER FRITZE/////";
    }
  remoteid {
    fqdn = "/////DYNDNS DER OPNSENSE/////";
    }
  mode = phase1_mode_idp;
  phase1ss = "dh14/aes/sha";
  keytype = connkeytype_pre_shared;
  key = "/////32-STELLIGER-KEY/////";
  cert_do_server_auth = no;
  use_nat_t = yes;
  use_xauth = no;
  use_cfgmode = no;
  phase2localid {
    ipnet {
      ipaddr = /////PRIVATES NETZ HINTER FRITZE/////;
      mask = 255.255.255.0;
      }
    }
  phase2remoteid {
    ipnet {
      ipaddr = /////PRIVATES NETZ HINTER OPNSENSE/////;
      mask = 255.255.255.0;
      }
    }
  phase2ss = "esp-aes256-3des-sha/ah-no/comp-lzs-no/pfs";
  accesslist = "permit ip any /////PRIVATES NETZ HINTER OPNSENSE///// 255.255.255.0";
  }
  ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500",
                      "udp 0.0.0.0:4500 0.0.0.0:4500";
}


In der OPNsense habe ich folgendes konfiguriert:

Anschlussart: standard
Schlüsselaustauschversion:          V1
Internetprotokoll: IPv4
Schnittstelle: WAN
Ferner Gateway: ///DynDNS der Fritzbox///
Dynamic gateway: aktiv
Beschreibung: Site-Site-VPN

Phase 1
Authentifizierungsmethode:         Mutual PSK
Bestimmungsmodus: Main
Meine Kennung: Meine IP-Adresse
Peer-Identifizierer:         Bedeutender Name + ///DynDNS der Fritzbox///
Pre-Shared-Schlüssel:         ///PSK///
Verschlüsselungsalgorythmus:            AES 256
Hashalgorythmus: SHA1
DH Schlüsselgruppe: 14
Lebenszeit: 28800
Install policy: aktiv
ReKey deaktivieren: inaktiv
Reauth deaktivieren:         inaktiv
Tunnelisolation: inaktiv
NAT Traversal: Aktivieren
MOBIKE deaktivieren:         inaktiv
Dead Peer Detection:         aktiv - 10 - 5

Phase 2
Modus: Tunnel IPv4
Typ lokales Netzwerk:          Privat Subnetz
Typ entferntes Netzwerk:          ///NETZ HINTER FRITZBOX///
Protokoll: ESP
Verschlüsselungsalgorythmen:             AES 256
Hashalgorythmus: SHA1
PFS Schlüsselgruppe:          14
Lebenszeit: 28800


Die Fritzbox ist auf Firmwarestand 7.10 und die OPNsense auf 19.7

Hat jemand eine Idee, wo das Problem liegen könnte? Mich wundert es eben, dass der Tunnel erst zu Stande kommt, aber nicht lange gehalten werden kann....

Vielen Dank!

moin, ich habe mir deine konfig angeschaut.
ich habe es mit aes noch nie stabil zum laufen bekommen.
bei mir laufen die mit: def/3des/sha
Internet: Willy.tel Down: 1Gbit/s, UP: 250Mbit/s Glasfaser  |
Router/Firewall: pfSense+ 23.09  |
Hardware: Netgate 6100

Quote from: micneu on July 24, 2019, 02:46:27 PM
ich habe es mit aes noch nie stabil zum laufen bekommen.
bei mir laufen die mit: def/3des/sha


des und sha1 gelten als unsicher, sollte man nicht mehr nehmen. Für privat eventuell ausreichend, besser hinter der Fritze einen VPN-Server/Clienten nutzen wenn möglich, welcher die aktuellen Cypher Suiten unterstützt.

Hier noch ein älterer Artikel der BSI:
https://www.bsi.bund.de/DE/Themen/ITGrundschutz/ITGrundschutzKataloge/Inhalt/_content/g/g04/g04035.html
DTAG VDSL 50/10
Modem: DrayTek Vigor 130,
APU1D4 with OpnSense 19.1,
Supermicro A2SDi-4C-HLN4F with pfSense 2.4.5

Darum mit ein Grund, warum man mit Fritzboxen und Co überhaupt nicht mehr mit VPN anfangen sollte. Solange die 2019 immer noch nicht aus dem Knick kommen und ordentliche Cipher unterstützen sind das Sicherheitsrisiken, keine VPNs :/
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

@chriscom

Falls es die Fritze sein muss, hier mal eine alte Config von uns zum Vergleich die lief. Wie du siehst, hat sich jemand schon vor uns eine Kopf gemacht. :)

vpncfg {
connections {
  enabled = yes;
  conn_type = conntype_lan;
  name = "VPN2"; // NAME der Verbindung
  always_renew = yes; // Verbindung immer herstellen
  reject_not_encrypted = no;
  dont_filter_netbios = yes;
  localip = 0.0.0.0;
  local_virtualip = 0.0.0.0; 
  remoteip = 0.0.0.0;
  remotehostname = "sense.dyndns.com"; // dyndns name der pfSense Firewall
  remote_virtualip = 0.0.0.0;
  localid {
    fqdn = "fritz.box.dyndns.com"; // dyndns name der FritzBox
    }
  remoteid {
    fqdn = "sense.dyndns.com"; // dyndns name der pfSense Firewall
    }
  mode = phase1_mode_aggressive;
  // mode = phase1_mode_idp;
  phase1ss = "def/3des/sha";
  keytype = connkeytype_pre_shared;
  key = "xxxxxxxxxxxxxxxxxxx";
  cert_do_server_auth = no;
  use_nat_t = no;
  use_xauth = no;
  use_cfgmode = no;
  phase2localid {
    ipnet {
      ipaddr = 192.168.178.0;
      mask = 255.255.255.0;
      }
    }
  phase2remoteid {
    ipnet {
      ipaddr = 192.168.2.0; // Das interne Netzwerk LAN hinter der pfSense
      mask = 255.255.255.0; // inklusive Subnetmask
      }
    }
  phase2ss = "esp-3des-sha/ah-no/comp-no/pfs"; // wichtig, da sonst kein Datenaustausch
  accesslist = "permit ip any 192.168.2.0 255.255.255.0"; // Firewall Einstellungen für pfSense Subnetz
  }
  ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500",
                      "udp 0.0.0.0:4500 0.0.0.0:4500";
}


In der Hoffnung, es löst das Problem.
DTAG VDSL 50/10
Modem: DrayTek Vigor 130,
APU1D4 with OpnSense 19.1,
Supermicro A2SDi-4C-HLN4F with pfSense 2.4.5