Strongsswan Client - Verbindung aus ipsec.conf läuft, swanctl.conf läuft nicht

beni_fs

Lt. Commander
Registriert
Feb. 2020
Beiträge
1.148
Guten Abend liebes Forum,

ich poste mal in Linux, weil ich glaube das hier vlt. eher jemand Ahnung hat zu diesem sehr spezifischen Problem als bei Netzwerken.

Es geht um Strongswan. Hintergrund ist folgender: Es gibt eine Fortigate als VPN-Server und eine Konfigurationsdatei für die VPN-Clients für die hauseigene FortiClient VPN Software. Unter Windows funktioniert der Client, unter iOS funktioniert es auch. Nur der FortiClient VPN für Linux will nicht. Die Ergebnisse von Dr. Google sagen das kann schon vorkommen und empfiehlt dann verschiedene Programmversionen durchzuprobieren, was ich irgendwann entnerft aufgegeben habe. Also habe ich geguckt ob es mit Strongswan geht. Und da gibt es ja zwei Varianten, man trägt seine Verbindung in der ipsec.conf ein oder in der swanctl.conf, wobei die ipsec.conf der alte Weg ist und der Umstieg auf die swanctl.conf empfohlen wird. Auf dem alten Weg funktioniert es, auf dem neuen Weg nicht. Und ich verstehe nicht wieso. Unter den Konfigurationsbeispielen habe ich meinen Fall so nicht gefunden und ChatGPT (von dem ich nicht viel halte, aber in der Not, Teufel und Fliegen und so n Zeugs) meint ich habe alles richtig.

So sieht die ipsec.conf aus und es funktioniert:
Code:
conn VERBINDUNGSNAME1
        keyexchange=ikev2
        ike=aes256-sha256-modp4096
        esp=aes256-sha256-modp4096
        leftauth=eap-mschapv2
        rightauth=psk
        leftid=ALLENUTZER
        eap_identity=EINZELNUTZER
        left=%defaultroute
        right=IPADRESSE
        leftsourceip=%config
        auto=start
        leftsubnet=0.0.0.0/0
        rightsubnet=0.0.0.0/0
Code:
EINZELNUTZER : EAP "PRIVATESPASSWORT"
ALLENUTZER : PSK "ALLGEMEINESPASSWORT"

So sieht die swanctl.conf aus:
Code:
connections {

    VERBINDUNGSNAME2 {
        version = 2
        remote_addrs = IPADRESSE
        local {
                auth = eap-mschapv2
                eap_id = EINZELNUTZER
                id = ALLENUTZER
        }

        remote {
                auth = psk
        }

        proposals = aes256-sha256-modp4096
        rekey_time = 86400s

        children {
                net {
                        local_ts = 0.0.0.0/0
                        remote_ts = 0.0.0.0/0
                        esp_proposals = aes256-sha256-modp4096
                        rekey_time = 43200s
                        start_action = start
                        close_action = none
            }
        }

   }
}

secrets {
   eap-user {
        id = EINZELNUTZER
        secret = "PRIVATESPASSWORT"
   }
   ike-psk {
        id = ALLENUTZER
        secret = "ALLGEMEINESPASSWORT"
   }
}

Wenn ich die Verbindung über swanctl.conf herstelle wird das PSK sauber ausgetauscht und bei der EAP-Anmeldung kommt keine Rückmeldung. Hier das Log dazu:
Code:
[IKE] initiating IKE_SA VERBINDUNGSNAME2[3] to IPADRESSE
[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) ]
[NET] sending packet: from 192.168.1.149[500] to IPADRESSE[500] (720 bytes)
[NET] received packet: from IPADRESSE[500] to 192.168.1.149[500] (680 bytes)
[ENC] parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) ]
[CFG] selected proposal: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_4096
[IKE] local host is behind NAT, sending keep alives
[IKE] establishing CHILD_SA net{3}
[ENC] generating IKE_AUTH request 1 [ IDi SA TSi TSr N(MOBIKE_SUP) N(ADD_6_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ]
[NET] sending packet: from 192.168.1.149[4500] to IPADRESSE[4500] (304 bytes)
[NET] received packet: from IPADRESSE[4500] to 192.168.1.149[4500] (128 bytes)
[ENC] parsed IKE_AUTH response 1 [ IDr AUTH EAP/REQ/ID ]
[IKE] authentication of 'IPADRESSE' with pre-shared key successful
[IKE] server requested EAP_IDENTITY (id 0x1D), sending 'EINZELNUTZER'
[ENC] generating IKE_AUTH request 2 [ EAP/RES/ID ]
[NET] sending packet: from 192.168.1.149[4500] to IPADRESSE[4500] (96 bytes)
[NET] received packet: from IPADRESSE[4500] to 192.168.1.149[4500] (112 bytes)
[ENC] parsed IKE_AUTH response 2 [ EAP/REQ/MSCHAPV2 ]
[IKE] server requested EAP_MSCHAPV2 authentication (id 0x1E)
[ENC] generating IKE_AUTH request 3 [ EAP/RES/MSCHAPV2 ]
[NET] sending packet: from 192.168.1.149[4500] to IPADRESSE[4500] (144 bytes)
[NET] received packet: from IPADRESSE[4500] to 192.168.1.149[4500] (128 bytes)
[ENC] parsed IKE_AUTH response 3 [ EAP/REQ/MSCHAPV2 ]
[IKE] EAP-MS-CHAPv2 succeeded: '(null)'
[ENC] generating IKE_AUTH request 4 [ EAP/RES/MSCHAPV2 ]
[NET] sending packet: from 192.168.1.149[4500] to IPADRESSE[4500] (80 bytes)
[NET] received packet: from IPADRESSE[4500] to 192.168.1.149[4500] (80 bytes)
[ENC] parsed IKE_AUTH response 4 [ EAP/SUCC ]
[IKE] EAP method EAP_MSCHAPV2 succeeded, MSK established
[IKE] authentication of 'ALLENUTZER' (myself) with EAP
[ENC] generating IKE_AUTH request 5 [ AUTH ]
[NET] sending packet: from 192.168.1.149[4500] to IPADRESSE[4500] (112 bytes)
[IKE] retransmit 1 of request with message ID 5
[NET] sending packet: from 192.168.1.149[4500] to IPADRESSE[4500] (112 bytes)
[IKE] retransmit 2 of request with message ID 5
[NET] sending packet: from 192.168.1.149[4500] to IPADRESSE[4500] (112 bytes)
[IKE] retransmit 3 of request with message ID 5
[NET] sending packet: from 192.168.1.149[4500] to IPADRESSE[4500] (112 bytes)
[NET] received packet: from IPADRESSE[4500] to 192.168.1.149[4500] (80 bytes)
[ENC] parsed INFORMATIONAL request 0 [ D ]
[IKE] ignoring INFORMATIONAL in IKE_SA state CONNECTING
[IKE] sending keep alive to IPADRESSE[4500]
[IKE] retransmit 4 of request with message ID 5
[NET] sending packet: from 192.168.1.149[4500] to IPADRESSE[4500] (112 bytes)
[IKE] sending keep alive to IPADRESSE[4500]
[IKE] sending keep alive to IPADRESSE[4500]
[IKE] retransmit 5 of request with message ID 5
[NET] sending packet: from 192.168.1.149[4500] to IPADRESSE[4500] (112 bytes)
[IKE] sending keep alive to IPADRESSE[4500]
[IKE] sending keep alive to IPADRESSE[4500]
[IKE] sending keep alive to IPADRESSE[4500]
[IKE] giving up after 5 retransmits
[IKE] establishing IKE_SA failed, peer not responding
initiate failed: establishing CHILD_SA 'net' failed

Ich meine es funktioniert ja, aber ich frage mich halt was ich in der swanctl.conf falsch mache. Die Doku zur ipsec.conf finde ich viel schöner, mag aber auch an meiner fehlenden Fähigkeit liege Google mit den richtigen Suchworten zu füttern bzw. die richtigen Beispiele in der Strongswan Doku zu finden.

Ich vermute ja, dass das Problem in dieser Logzeile resulitert:
[IKE] authentication of 'ALLENUTZER' (myself) with EAP
Und das dort EINZELNUTZER stehen müsste. Nehme ich die id aus local raus heißt es im Log
[CFG] no IDi configured, default to IP address 192.168.1.149
und der Authentifizierungsversuch mit PSK wird nicht beantwortet.

Über Tipps und Hinweise würde ich mich freuen. Schönen Sonntag noch!

beni_fs
 
heaton schrieb:
Welche Linux Dist hast du installiert?
Einmal Mint, einmal Manjaro

heaton schrieb:
Nutzt du den Network Manager?
Nein, ich bin direkt über die .conf Dateien gegangen, da ich in der Eingabemaske des Network Manager keine passende Auswahlmöglichkeit gesehen habe. Die Kombination aus PSK und EAP scheint in den verschiedenen Profilvorschlägen nicht vorgesehen zu sein (außer bei der libreswan Eingabemaske, was nicht geht, weil es nicht installiert ist und strongswan runterschmeißen wollte).

heaton schrieb:
Danke, ich werde es mir heute Abend mal durchlesen.
 
Zurück
Oben