IpSec Site to Site

Started by Mann-IT, January 25, 2017, 10:57:24 PM

Previous topic - Next topic
Hallo Miteinander,

ich teste gerade opnsense und probiere einiges aus.
Gerade bin ich ipSec Site to Site VPN.
Aber anscheinend bin ich zu doof, obwohl ich mich genau an die Anleitung halte.
Der Internetzugang erfolgt auf beiden Seiten per Fritzbox, opnsense hängt dahinter.
Exposed Host ist in der Fritzbox auf die Opnsense eingerichtet.
Wenn ich nun nach Anleitung von der Wiki Seite den Tunnel einrichte dann findet er die zweite Seite.
Aber er baut keine Verbindung auf, ich bekomme im Protokoll nur Fehlermeldungen die mir nix sagen.
Rechner hinter der Opnsense gehen ohne Probleme ins Internet.
Hier die Konfig:
Site A:Fritzbox 192.168.1.5
Opensense: WAN 192.168.1.202 LAN 192.168.2.250
Site B: Firtzbox 192.168.178.2
Opnsense: WAN 192.168.178.199 LAN 192.168.4.250
Die Phase sind auf beiden Seiten gleich.

Das kommt auf Site A
Jan 25 22:28:52   charon: 15[IKE] received AUTHENTICATION_FAILED notify error
Jan 25 22:28:52   charon: 15[ENC] parsed IKE_AUTH response 1 [ N(AUTH_FAILED) ]
Jan 25 22:28:52   charon: 15[NET] received packet: from xx.xxx.xxx.xx[4500] to 192.168.1.202[4500] (88 bytes)
Jan 25 22:28:52   charon: 15[NET] sending packet: from 192.168.1.202[4500] to xx.xxx.xxx.xx[4500] (912 bytes)
Jan 25 22:28:52   charon: 15[ENC] generating IKE_AUTH request 1 [ IDi N(INIT_CONTACT) IDr AUTH N(ESP_TFC_PAD_N) SA TSi TSr N(MOBIKE_SUP) N(ADD_4_ADDR) N(MULT_AUTH) N(EAP_ONLY) ]
Jan 25 22:28:52   charon: 15[IKE] establishing CHILD_SA con1
Jan 25 22:28:52   charon: 15[IKE] establishing CHILD_SA con1
Jan 25 22:28:52   charon: 15[IKE] authentication of '192.168.1.202' (myself) with pre-shared key
Jan 25 22:28:52   charon: 15[IKE] remote host is behind NAT
Jan 25 22:28:52   charon: 15[IKE] local host is behind NAT, sending keep alives
Jan 25 22:28:52   charon: 15[ENC] parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(MULT_AUTH) ]
Jan 25 22:28:52   charon: 15[NET] received packet: from xx.xxx.xxx.xx[500] to 192.168.1.202[500] (332 bytes)
Jan 25 22:28:52   charon: 06[NET] sending packet: from 192.168.1.202[500] to xx.xxx.xxx.xx[500] (332 bytes)
Jan 25 22:28:52   charon: 06[ENC] generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
Jan 25 22:28:52   charon: 06[IKE] initiating IKE_SA con1[12] to xx.xxx.xxx.xx
Jan 25 22:28:52   charon: 06[IKE] initiating IKE_SA con1[12] to xx.xxx.xxx.xx
Jan 25 22:28:52   charon: 07[CFG] received stroke: initiate 'con1'
Jan 25 22:02:48   charon: 12[CFG] received stroke: route 'con1'
Jan 25 22:02:48   charon: 07[CFG] added configuration 'con1'
Jan 25 22:02:48   charon: 07[CFG] received stroke: add connection 'con1'
Jan 25 22:02:48   charon: 12[CFG] deleted connection 'con1'
Jan 25 22:02:48   charon: 12[CFG] received stroke: delete connection 'con1'
Jan 25 22:02:48   charon: 07[CFG] received stroke: unroute 'con1'
Jan 25 22:02:48   charon: 09[CFG] rereading crls from '/usr/local/etc/ipsec.d/crls'
Jan 25 22:02:48   charon: 09[CFG] rereading attribute certificates from '/usr/local/etc/ipsec.d/acerts'
Jan 25 22:02:48   charon: 09[CFG] rereading ocsp signer certificates from '/usr/local/etc/ipsec.d/ocspcerts'
Jan 25 22:02:48   charon: 09[CFG] rereading aa certificates from '/usr/local/etc/ipsec.d/aacerts'
Jan 25 22:02:48   charon: 09[CFG] rereading ca certificates from '/usr/local/etc/ipsec.d/cacerts'
Jan 25 22:02:48   charon: 09[CFG] loaded IKE secret for xx.xxx.xxx.xx
Jan 25 22:02:48   charon: 09[CFG] loading secrets from '/usr/local/etc/ipsec.secrets'
Jan 25 22:02:48   charon: 09[CFG] rereading secrets
Jan 25 22:01:41   charon: 14[CFG] received stroke: route 'con1'
Jan 25 22:01:41   charon: 09[CFG] added configuration 'con1'
Jan 25 22:01:41   charon: 09[CFG] received stroke: add connection 'con1'
Jan 25 22:01:41   charon: 14[CFG] deleted connection 'con1'
Jan 25 22:01:41   charon: 14[CFG] received stroke: delete connection 'con1'
Jan 25 22:01:41   charon: 09[CFG] received stroke: unroute 'con1'
Jan 25 22:01:41   charon: 14[CFG] rereading crls from '/usr/local/etc/ipsec.d/crls'
Jan 25 22:01:41   charon: 14[CFG] rereading attribute certificates from '/usr/local/etc/ipsec.d/acerts'
Jan 25 22:01:41   charon: 14[CFG] rereading ocsp signer certificates from '/usr/local/etc/ipsec.d/ocspcerts'
Jan 25 22:01:41   charon: 14[CFG] rereading aa certificates from '/usr/local/etc/ipsec.d/aacerts'
Jan 25 22:01:41   charon: 14[CFG] rereading ca certificates from '/usr/local/etc/ipsec.d/cacerts'
Jan 25 22:01:41   charon: 14[CFG] loaded IKE secret for xx.xxx.xxx.xx
Jan 25 22:01:41   charon: 14[CFG] loading secrets from '/usr/local/etc/ipsec.secrets'
Jan 25 22:01:41   charon: 14[CFG] rereading secrets

Und das auf Site B
Jan 25 22:28:52   charon: 11[NET] sending packet: from 192.168.178.199[4500] to xx.xxx.x.xxx[4500] (88 bytes)
Jan 25 22:28:52   charon: 11[ENC] generating IKE_AUTH response 1 [ N(AUTH_FAILED) ]
Jan 25 22:28:52   charon: 11[IKE] peer supports MOBIKE
Jan 25 22:28:52   charon: 11[IKE] received ESP_TFC_PADDING_NOT_SUPPORTED, not using ESPv3 TFC padding
Jan 25 22:28:52   charon: 11[CFG] no matching peer config found
Jan 25 22:28:52   charon: 11[CFG] looking for peer configs matching 192.168.178.199[87.139.223.73]...xx.xxx.x.xxx[192.168.1.202]
Jan 25 22:28:52   charon: 11[ENC] parsed IKE_AUTH request 1 [ IDi N(INIT_CONTACT) IDr AUTH N(ESP_TFC_PAD_N) SA TSi TSr N(MOBIKE_SUP) N(ADD_4_ADDR) N(MULT_AUTH) N(EAP_ONLY) ]
Jan 25 22:28:52   charon: 11[NET] received packet: from xx.xxx.x.xxx[4500] to 192.168.178.199[4500] (912 bytes)
Jan 25 22:28:52   charon: 08[NET] sending packet: from 192.168.178.199[500] to xx.xxx.x.xxx[500] (332 bytes)
Jan 25 22:28:52   charon: 08[ENC] generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(MULT_AUTH) ]
Jan 25 22:28:52   charon: 08[IKE] remote host is behind NAT
Jan 25 22:28:52   charon: 08[IKE] local host is behind NAT, sending keep alives
Jan 25 22:28:52   charon: 08[IKE] xx.xxx.x.xxx is initiating an IKE_SA
Jan 25 22:28:52   charon: 08[IKE] xx.xxx.x.xxx is initiating an IKE_SA
Jan 25 22:28:52   charon: 08[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
Jan 25 22:28:52   charon: 08[NET] received packet: from xx.xxx.x.xxx[500] to 192.168.178.199[500] (332 bytes)

Wer kann mich erleuchten? Was mache ich falsch.
Danke für jeden Hinweis.

Gruß Mario



Moinsen,

hab das nie selbst konfiguriert, aber wenn ich dein Log richtig lese dann:

Quote
Und das auf Site B
Jan 25 22:28:52   charon: 11[NET] sending packet: from 192.168.178.199[4500] to xx.xxx.x.xxx[4500] (88 bytes)
Jan 25 22:28:52   charon: 11[ENC] generating IKE_AUTH response 1 [ N(AUTH_FAILED) ]
Jan 25 22:28:52   charon: 11[IKE] peer supports MOBIKE
Jan 25 22:28:52   charon: 11[IKE] received ESP_TFC_PADDING_NOT_SUPPORTED, not using ESPv3 TFC padding
Jan 25 22:28:52   charon: 11[CFG] no matching peer config found

würde ich sagen dein Username/PW/Pin/Tan/PreSharedKey/whatever ist falsch.
Thats my best guess.
Danach muss ein anderer ran der mehr Plan davon hat, vielleicht mal mit dem User stefan21 in Kontakt treten, der hatte die Tage ein IPsec / Blackberry Problem, vielleicht hat er ein ähnliches Site to Site Setup.......

gruss,
Astronach

January 25, 2017, 11:42:20 PM #2 Last Edit: January 25, 2017, 11:46:29 PM by astronach
Moinsen,

hab das Tutorial https://docs.opnsense.org/manual/how-tos/ipsec-s2s.html gefunden.

Mir ist aufgefallen das Encryption Algorythm für Site A und Site B unterschiedlich sind. Kann es sein das die auf beiden Seiten gleich sein müssen? Oder ist das einfach nur ein wenig komisch geschrieben und er verwendet auf beiden Seiten AES256. Mir kommt es so vor als wenn er auf SiteA AES256 verwendet und auf SiteB AES, aber in der Description steht AES256.

gruss,
Astronach

Habe nochmal alles verglichen, wenn mich die GUI nicht anlügt.
Dann ist auf beiden Seiten alles gleich.

Das mit den verschiedenen Schlüssen ist schon richtig, da ja 2 Phasen aufgebaut werden und die dürfen verschieden sein. Nur zwischen den Sites müssen die gleich sein.


Gruß mario

Quote from: Mann-IT on January 25, 2017, 11:53:52 PM
Dann ist auf beiden Seiten alles gleich.

Das mit den verschiedenen Schlüssen ist schon richtig, da ja 2 Phasen aufgebaut werden und die dürfen verschieden sein. Nur zwischen den Sites müssen die gleich sein.

Wichtig ist hier, das die Schlüssel in der jeweiligen Phase zusammen passen und die Krypto zusammen passt. Es kann auch zu Problemen kommen, wenn die IKE-Version nicht übereinstimmt - würde hier IKEv2 verwenden. Bitte auch den Digest-Algorithmus prüfen.

HI,

nur in der Phase 1 gibt es ein Kennwort. 1234 sollte nicht zu schwer sein :-)
Yes die Krypto passen auch zusammen sind auf beiden Seiten identisch.
Auch wurde IKE2 verwendet.
Sag ja so schwer ist das eigentlich nicht.
Mag opensense vielleicht nicht das es hinter einer Fritzbox ist? Und so nur die 2 Geige spielt.

Gruß Mario

Die Fritten sind berühmt berüchtigt in alten Tagen schonmal IPSEC weggefrühstückt zu haben. Warum - weil sies selbst können und bedienen wollen. Trotz exposed Host also vielleicht mal versuchen, das Protokoll GRE und UDP 500 sowie 4500 manuell nochmals an die pfSense hinter der FB weiterzureichen via explizitem Port Forwarding.

Grüße
"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.

Ne hat auch nix geholfen.
Da ja in beiden Logs was steht, hätte mich das auch gewundert.
Feature oder doch Bug?

Beides weitergeleitet? Auch GRE? GRE ist erst in Phase 2 interessant, deshalb heißt das nicht, dass - nur weil etwas im Log steht - es das nicht ist. Wenn später kein GRE Traffic an der Sense ankommt, kommst du auch nicht weiter :)
"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.

Quote from: JeGr on January 26, 2017, 03:42:56 PM
Beides weitergeleitet? Auch GRE? GRE ist erst in Phase 2 interessant, deshalb heißt das nicht, dass - nur weil etwas im Log steht - es das nicht ist. Wenn später kein GRE Traffic an der Sense ankommt, kommst du auch nicht weiter :)

Wieso GRE - wenn schon, dann doch ESP, oder?

ESP habe ich noch vergessen, das ist korrekt, aber je nach Tunnel-Konfiguration käme auch GRE zum Einsatz :)
"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.

Habe es lösen können, man muss unter meine Kennung die IP Adresse eintragen die wirklich von Internet kommt.
Bzw. die dyn Adresse bei wechselten Nummer. Jetzt läuft auch der Tunnel in beiden Phasen.
Aber was ich nicht verstehe, ich komme nicht auf die Rechner der anderen Seite.
Man soll nach Anleitung in der Firewall unter IpSec eine Regel eintragen die als Ziel das Lan Netzwerk haben.
Wenn ich nun statt Ziel Lan Netzwerk jeglich nehme geht es dann.
Aber warum?
Stimmt die Anleitung?

Gruß Mario