I have a strange issue. My VPN (L2TP + IPSec) is refusing to connect.
This same setup was functional a couple of weeks ago. Since then I have been installing Slowroll updates, but wasn’t specifically messing with anything network-related to expect things to break.
Another computer on the same network (connected to the same dumb switch even) connects to that VPN server without a problem. So it isn’t a network issue.
This computer in question cannot connect to VPN when I share mobile internet to it.
I tried copying VPN setup from the other computer, where it works, to the one in question — no change.
I don’t see anything interesting in the logs. It just refuses to connect:
For the strongswan NO_PROPOSAL_CHOSEN error, it means no algorithms proposed by the client matched what was proposed by the VPN server, so no proposal was chosen.
I’m not familiar with OpenSUSE Kalpa, but did you install any strongswan sub-packages that affects the strongswan algorithms that get installed?
In order not to miss any logging, especially proposals, I would recommend issuing the following:
Leap has only 2 packages installed, but one of them (strongswan-libs0) seems to be unavailable on Slowroll. Could this be the cause of the issue?
I am attaching logs captured with the command you suggested journalctl --no-hostname _COMM=nm-l2tp-service _COMM=ipsec _COMM=charon _COMM=xl2tpd _COMM=pppd
(I am dropping lines in the beginning, which are nearly identical in all cases)
OpenSuse Micro Tumbleweed (virtual machine; does not connect to VPN)
nm-l2tp-service[6783]: Check port 1701
…
charon[6826]: 06[ENC] generating ID_PROT request 0 [ ID HASH ]
charon[6826]: 06[NET] sending packet: from …[4500] to …[4500] (76 bytes)
charon[6826]: 07[NET] received packet: from …[4500] to …[4500] (92 bytes)
charon[6826]: 07[ENC] invalid HASH_V1 payload length, decryption failed?
charon[6826]: 07[ENC] could not decrypt payloads
charon[6826]: 07[IKE] message parsing failed
charon[6826]: 07[IKE] ignore malformed INFORMATIONAL request
charon[6826]: 07[IKE] INFORMATIONAL_V1 request with message ID 3336773376 processing failed
charon[6826]: 08[NET] received packet: from …[4500] to …[4500] (76 bytes)
charon[6826]: 08[ENC] parsed ID_PROT response 0 [ ID HASH ]
charon[6826]: 08[IKE] IKE_SA b4e6e9e8-28a0-4316-8c1c-4c92762d5b4d[1] established between …[…]…[…]
charon[6826]: 08[IKE] IKE_SA b4e6e9e8-28a0-4316-8c1c-4c92762d5b4d[1] established between …[…]…[…]
charon[6826]: 08[IKE] scheduling reauthentication in 10025s
charon[6826]: 08[IKE] maximum IKE_SA lifetime 10565s
charon[6826]: 08[ENC] generating QUICK_MODE request 1516882269 [ HASH SA No KE ID ID NAT-OA NAT-OA ]
charon[6826]: 08[NET] sending packet: from …[4500] to …[4500] (300 bytes)
charon[6826]: 09[NET] received packet: from …[4500] to …[4500] (76 bytes)
charon[6826]: 09[ENC] parsed INFORMATIONAL_V1 request 3243266910 [ HASH N(NO_PROP) ]
charon[6826]: 09[IKE] received NO_PROPOSAL_CHOSEN error notify
NetworkManager[6868]: Stopping strongSwan IPsec…
charon[6826]: 00[DMN] SIGINT received, shutting down
nm-l2tp-service[2810]: Check port 1701
…
charon[2862]: 07[ENC] generating ID_PROT request 0 [ ID HASH ]
charon[2862]: 07[NET] sending packet: from …[4500] to …[4500] (76 bytes)
charon[2862]: 08[NET] received packet: from …[4500] to …[4500] (92 bytes)
charon[2862]: 08[ENC] invalid HASH_V1 payload length, decryption failed?
charon[2862]: 08[ENC] could not decrypt payloads
charon[2862]: 08[IKE] message parsing failed
charon[2862]: 08[IKE] ignore malformed INFORMATIONAL request
charon[2862]: 08[IKE] INFORMATIONAL_V1 request with message ID 2968423712 processing failed
charon[2862]: 09[NET] received packet: from …[4500] to …[4500] (76 bytes)
charon[2862]: 09[ENC] parsed ID_PROT response 0 [ ID HASH ]
charon[2862]: 09[IKE] IKE_SA 625774a2-3efa-4be2-afc9-f0cf51aaadf3[1] established between …[…]…[…]
charon[2862]: 09[IKE] IKE_SA 625774a2-3efa-4be2-afc9-f0cf51aaadf3[1] established between …[…]…[…]
charon[2862]: 09[IKE] scheduling reauthentication in 9899s
charon[2862]: 09[IKE] maximum IKE_SA lifetime 10439s
charon[2862]: 09[ENC] generating QUICK_MODE request 1215692362 [ HASH SA No ID ID NAT-OA NAT-OA ]
charon[2862]: 09[NET] sending packet: from …[4500] to …[4500] (252 bytes)
charon[2862]: 11[NET] received packet: from …[4500] to …[4500] (188 bytes)
charon[2862]: 11[ENC] parsed QUICK_MODE response 1215692362 [ HASH SA No ID ID NAT-OA NAT-OA ]
charon[2862]: 11[CFG] selected proposal: ESP:AES_CBC_256/HMAC_SHA1_96/NO_EXT_SEQ
charon[2862]: 11[IKE] CHILD_SA 625774a2-3efa-4be2-afc9-f0cf51aaadf3{1} established with SPIs c44d6a90_i 0691f88b_o and TS …/32[udp/l2f] === …/32[udp/l2f]
charon[2862]: 11[IKE] CHILD_SA 625774a2-3efa-4be2-afc9-f0cf51aaadf3{1} established with SPIs c44d6a90_i 0691f88b_o and TS …/32[udp/l2f] === …/32[udp/l2f]
charon[2862]: 11[ENC] generating QUICK_MODE request 1215692362 [ HASH ]
charon[2862]: 11[NET] sending packet: from …[4500] to …[4500] (60 bytes)
nm-l2tp-service[2810]: xl2tpd started with pid 3081
OpenSuse Leap 15.6 (host; connects successfully)
nm-l2tp-service[13636]: Check port 1701
…
charon[13661]: 07[ENC] generating ID_PROT request 0 [ ID HASH ]
charon[13661]: 07[NET] sending packet: from …[4500] to …[4500] (76 bytes)
charon[13661]: 08[NET] received packet: from …[4500] to …[4500] (76 bytes)
charon[13661]: 08[ENC] parsed ID_PROT response 0 [ ID HASH ]
charon[13661]: 08[IKE] IKE_SA ef8a0891-602f-4de6-bd66-95f7cda07ac0[1] established between …[…]…[…]
charon[13661]: 08[IKE] IKE_SA ef8a0891-602f-4de6-bd66-95f7cda07ac0[1] established between …[…]…[…]
charon[13661]: 08[IKE] scheduling reauthentication in 9832s
charon[13661]: 08[IKE] maximum IKE_SA lifetime 10372s
charon[13661]: 08[ENC] generating QUICK_MODE request 40883106 [ HASH SA No ID ID NAT-OA NAT-OA ]
charon[13661]: 08[NET] sending packet: from …[4500] to …[4500] (252 bytes)
charon[13661]: 09[NET] received packet: from …[4500] to …[4500] (92 bytes)
charon[13661]: 09[ENC] parsed INFORMATIONAL_V1 request 2853990496 [ HASH N(INITIAL_CONTACT) ]
charon[13661]: 11[NET] received packet: from …[4500] to …[4500] (188 bytes)
charon[13661]: 11[ENC] parsed QUICK_MODE response 40883106 [ HASH SA No ID ID NAT-OA NAT-OA ]
charon[13661]: 11[CFG] selected proposal: ESP:AES_CBC_256/HMAC_SHA1_96/NO_EXT_SEQ
charon[13661]: 11[IKE] CHILD_SA ef8a0891-602f-4de6-bd66-95f7cda07ac0{1} established with SPIs c36fa328_i 0b728cb5_o and TS …/32[udp/l2f] === …/32[udp/l2f]
charon[13661]: 11[IKE] CHILD_SA ef8a0891-602f-4de6-bd66-95f7cda07ac0{1} established with SPIs c36fa328_i 0b728cb5_o and TS …/32[udp/l2f] === …/32[udp/l2f]
charon[13661]: 11[ENC] generating QUICK_MODE request 40883106 [ HASH ]
charon[13661]: 11[NET] sending packet: from …[4500] to …[4500] (60 bytes)
nm-l2tp-service[13636]: xl2tpd started with pid 14045
Both virtual machines seem to fail ID_PROT request 0 [ ID HASH ] request and complain about malformed INFORMATIONAL request. After that virtual Leap proceeds to negotiate a proposal and connects.
Host Leap is a few requests faster — parses original ID_PROT response 0 [ ID HASH ], then INFORMATIONAL_V1 request 2853990496 [ HASH N(INITIAL_CONTACT) ], selects proposal and authenticates.
Out of curiosity I have tried installing Tumbleweed in a virtual machine (directly, not via Micro) — but it keeps failing to start X and stubbornly logs into text console. I have poked around without much result and have given up for now. Will just try virtual Slowroll once.
From the strongswan charon daemon log output where the IPsec connection ultimately fails, Phase 1 (Main Mode) is successful, Phase 2 (Quick Mode) fails.
From a successful log output the selected proposals are:
Main Mode: AES_CBC_256/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024
Quick Mode: AES_CBC_256/HMAC_SHA1_96/NO_EXT_SEQ
Which I believe is equivalent to the following shorter syntax:
Phase 1: aes256-sha1-modp1024
Phase 2: aes256-sha1
NetworkManager-l2tp code offers the following 3 proposals for Phase 2 by default:
aes256-sha1,aes128-sha1,3des-sha1
From the successful logs, the strongest of the above 3 proposals seems to get selected, i.e. aes256-sha1.
As the PSK is used in Phase 2, there could be an issue with using a wrong PSK or some space or special character in the PSK not being processed properly.
You could try forcing Phase 2 to use the same proposal as Windows 11 in the IPSec GUI advanced settings:
Phase 2 algorithms: 3des-sha1!
Note the exclamation mark at the end which overrides existing proposals rather than appending to a list of existing proposals.
Which I believe is equivalent to the following shorter syntax…
Precisely. Those are the settings I was told to use while setting up the VPN connection.
You could try forcing Phase 2 to use the same proposal as Windows 11 in the IPSec GUI advanced settings:
Phase 2 algorithms: 3des-sha1!
Magic, that works! Both on (host) Leap 15.6 and the (virtual) Slowroll. The “Phase 2 aes256-sha1” still does not work on the Slowroll.
Although I still don’t understand why this suddenly broke in Tumbleweeds, as it used to work about a month ago.