VPN-Tunnel zwischen OpenBSD-Systemen funktioniert nicht (Phase 2)

suados_forum

Active Member
Mahlzeit,

irgendwie komme ich nicht weiter. Um zu prüfen, ob die Verbindung funktioniert, habe ich schon mit psk eine Verbindung erfolgreich etabliert.

Ich habe mir nach dem nachfolgenden Schema auf einem Ubuntu eine CA sowie die Clientzertifikate erstellt:

ipsec pki --gen --type rsa --size 4096 --outform pem > strongswanKey.pem
ipsec pki --self --ca --lifetime 3650 --in strongswanKey.pem --type rsa --dn "C=CH, O=strongSwan, CN=RootCA" --outform pem > strongswanCert.pem

ipsec pki --gen --type rsa --size 2048 --outform pem > client1Key.pem
chmod 600 client1Key.pem
ipsec pki --pub --in client1Key.pem --type rsa | ipsec pki --issue --lifetime 730 --cacert strongswanCert.pem --cakey strongswanKey.pem --dn "C=CH, O=strongSwan, CN=device1" --san device1 --flag serverAuth --flag ikeIntermediate --outform pem > client1Cert.pem

ipsec pki --gen --type rsa --size 2048 --outform pem > client2Key.pem
chmod 600 client2Key.pem
ipsec pki --pub --in client2Key.pem --type rsa | ipsec pki --issue --lifetime 730 --cacert strongswanCert.pem --cakey strongswanKey.pem --dn "C=CH, O=strongSwan, CN=device2" --san device2 --flag serverAuth --flag ikeIntermediate --outform pem > client2Cert.pem

Die CA, Certs und PrivateKeys habe ich auf den entsprechenden Systemen ausgerollt!


Beim Testen bekomme ich jetzt aber die folgenden Fehlermeldungen:

OpenBSD:
spi=0x83704873c29fa92d: ikev2_handle_notifies: issuer: /C=CH/O=strongSwan/CN=RootCA
spi=0x83704873c29fa92d: ikev2_handle_notifies: serial: 1849A20120D20986
spi=0x83704873c29fa92d: ikev2_handle_notifies: subject: /C=CH/O=strongSwan/CN=device2
spi=0x83704873c29fa92d: ikev2_handle_notifies: altname: FQDN/device2
ca_x509_subjectaltname_do: did not find subjectAltName in certificate
spi=0x83704873c29fa92d: sa_state: ESTABLISHED -> CLOSED from x.x.x.x:4500 to x.x.x.x:4500 policy 'initiator <-> responder'
ikev2_recv: closing SA
spi=0x83704873c29fa92d: sa_free: authentication failed notification from peer
config_free_proposals: free 0xde27a6ab900
config_free_proposals: free 0xde30e5ad400
config_free_childsas: free 0xde3043db700
config_free_childsas: free 0xde3043db300
sa_free_flows: free 0xde30e44f800
sa_free_flows: free 0xde30e44fc00

Ubuntu:
received end entity cert "C=CH, O=strongSwan, CN=device1"
using certificate "C=CH, O=strongSwan, CN=device1"
using trusted ca certificate "C=CH, O=strongSwan, CN=RootCA"
checking certificate status of "C=CH, O=strongSwan, CN=device1"
certificate status is not available
reached self-signed root ca with a path length of 0
signature validation failed, looking for another key
using certificate "C=CH, O=strongSwan, CN=device1"
using trusted ca certificate "C=CH, O=strongSwan, CN=RootCA"
checking certificate status of "C=CH, O=strongSwan, CN=device1"
certificate status is not available
reached self-signed root ca with a path length of 0
signature validation failed, looking for another key
generating INFORMATIONAL request 2 [ N(AUTH_FAILED) ]
sending packet: from x.x.x.x[4500] to x.x.x.x[4500] (65 bytes)

Auch der Versuch mit anderen Zertifikaten brachte immer die Meldung mit dem "ca_x509_subjectaltname_do: did not find subjectAltName in certificate", selbst beim Test mit dem Hostname bzw. der IP im SAN-Feld!

Warum? Welche Werte muss in der iked.conf bzw. ipsec.conf mitgeben und wie?

Ziel soll am Ende sein zwei OpenBSD zu verbinden!
 
Ich kann dir zwar nicht mit deinem Problem helfen, habe aber zwei OpenBSD ganz easy mit WireGuard verbunden. 1x eine APU als Router in der Firma und dann mehrere Rechner der Aussendienstler als Clients (Road Warrior Setup mit OpenBSD, Linux und Windows als Clients). Evtl. waere das ja eine Alternative fuer dich?
 
Stimmt. Wenn man es selbst in der Hand hat, sollte man entweder WireGuard nehmen oder OpenVPN.
IPSec ist von der Konfiguration her doch etwas ähm ... herausfordernd. :-)
 
hi

das kernproblem ist "ca_x509_subjectaltname_do: did not find subjectAltName in certificate"

d.h. bei dem erstellen der verwendeten certifikate wurde SubectAltName nicht mit angegeben.

wikipedia

ergo certifikate neu erstellen , alternativen namen mit angeben.

Holger
 
Wieder was gelernt...dann werde ich mich da auch Mal einlesen...kann ich mit wireguard auch einzelne Verbindungen trennen, wenn ich mehrere vpn Verbindungen habe
 
Zurück
Oben