IPSec unstable since upgrade to 2.2
-
Yes. Both sides need IKEv2 obviously. And make sure to stop and start IPsec on both sides, or better reboot.
-
It's a solution if the other side can change to IKEv2. That particular circumstance with multiple P2s and IKEv1 is exactly the one noted in the upgrade guide for which you shouldn't upgrade. IKEv2 has no such issues though.
-
Thanks Doc and cmb. Have put in a request to change to IKEv2. Will update the thread once it is done.
-
Can you also try this change.
On /var/etc/ipsec/strongswan.conf
change this value
threads = 16to
threads = 1and see if that stabilizes it.
-
Changed to 1 thread and restarted ipsec. Will monitor. Version still IKEv1. Waiting for our provider to change to confirm if they support v2 and if they can change.
-
Changed to 1 thread and restarted ipsec. Will monitor. Version still IKEv1. Waiting for our provider to change to confirm if they support v2 and if they can change.
Consider that the config file is generated automatically when the service is restarted through the GUI, make sure that the change you made is really applied
-
Hi Georgeman
So the config reverted back to 16. How do I restart it without the config being rebuilt?
-
So the config reverted back to 16. How do I restart it without the config being rebuilt?
You can edit /etc/inc/vpn.inc to change the source that generates that config file.
I'm not sure that'll do much if anything for you, that's something I'll test out in a known-problematic circumstance and see if it helps. If you can get the other end to switch to IKEv2, that's preferable in general (even if v1 wasn't problematic), so that's still the best option if it can be done.
-
Changing to IKEv2 does not help. I am still able to only have 1 Phase 2 route working at the same time. Which one depends on which gets traffic first.
I think the only solution is to fall back to 2.1.5 for now. IPSec seems quite broken for now.
-
Changing to IKEv2 does not help. I am still able to only have 1 Phase 2 route working at the same time. Which one depends on which gets traffic first.
One caveat that may be causing you issues in this circumstance, if you hit the + to the right of a P2 in 2.2 to create a new one based on an existing, it wrongly uses a duplicate ID, which might create problems along those lines. If you still have it up, delete all your P2s, and add them back one by one without duplicating any of them.
Outside of that circumstance, what you're describing isn't possible with IKEv2 as it doesn't have multiple child SAs, if one is up they're all up.
-
Hi cmb
I did use the + originally so I removed everything and redefined it again. The same problem persists. Attached are screen shots of the config and status. IKEv2 is configured on both ends. 2 Phase 2 entries and only 1 will work at a time. Which one depends on which send traffic first.
![IPSec CFG-V2.png](/public/imported_attachments/1/IPSec CFG-V2.png)
![IPSec Status - V2.png](/public/imported_attachments/1/IPSec Status - V2.png)
![IPSec CFG-V2.png_thumb](/public/imported_attachments/1/IPSec CFG-V2.png_thumb)
![IPSec Status - V2.png_thumb](/public/imported_attachments/1/IPSec Status - V2.png_thumb) -
Can you show your /var/etc/ipsec/ipsec.conf?
-
Sent you a PM with the details ermal.
-
All firewall rules are correct?
If yes than can you please execute from diagnostic->command sysctl net.inet.ipsec.debug=0xffffffEstablish the vpn send traffic on the not working path and see if anything comes out on dmesg -a command?
-
Hi @All
i have a similar problem after upgrade to 2.1.5 to 2.2 in one of my pfs boxes.
Previous ipsec tunnel between these 2 boxes (with P1 both aggressive mode) works perfectly
Please note that both PFSs are BEHIND a firewallAfter upgrade, old confs do not work anymore. No connection, P1 never established. Only this error on PFS 2.1.5 -> "ERROR: phase1 negotiation failed due to time up"
After a lot of attemps, I finally found a working configuration.
My actual confs, BOLD main changes after upgrade in OfficeB's PFS
Office A - pfs 2.1.5
P1
Mutual PSK
Main Mode (was aggressive)
My Identifier -> My IP Address
Peer Identifier -> Peer IP Address
Enc Alg AES 256Bit
Hash Alg SHA1
DH KeyGroup 2 (1024bit)
Lifetime 28800Nat-T DISABLE <- leave to ENABLE do not work, P1 established, P2 maybe (sorry, I don't remember)
DPD Enabled (10 Secs,5 retries)(two P2 phases)
P2 Protocol ESP
P2 Transforms 3DES
P2 Auth Methods MD5,SHA1
PFS key group OFF
Lifetime 3600Office B - pfs 2.2
P1
Key Exchange Version -> V1
Mutual PSK
Main Mode (was aggressive)
My Identifier -> My IP Address
Peer Identifier -> IP Address -> 192.168.46.10 <– this is WAN IP address of OfficeA PFS
Enc Alg AES 256Bit
Hash Alg SHA1
DH KeyGroup 2 (1024bit)
Lifetime 28800Nat-T AUTO
DPD Enabled (10 Secs,5 retries)(two P2 phases)
P2 Protocol ESP
P2 Transforms 3DES
P2 Auth Methods MD5,SHA1
PFS key group OFF
Lifetime 3600This was a message on PFS 2.2 box that give me an hint:
charon: 15[IKE] IDir '192.168.46.10' does not match to 'XX.XXX.XX.XXX'
XX.XXX.XX.XXX is public IP address of officeA ( Remote Gateway in OfficeB conf)
I hope this can be helpful for someone else
Simone
-
Or on pfSense 2.2 you have to set the proper identifier by choosing ip address and setting the private ip address of pfSense on the remote end.
your example is a clear id mismatch problem on configuration.
-
Adding this from another thread since it's been the root cause of a few issues and seemingly the ones in this thread as well.
One relevant change in behavior we've seen is racoon didn't seem to care whether the ID it was sent matched if it had a match for the IP where the traffic was actually being originated. So for instance if you have the remote end behind NAT set to use "My IP Address" for its identifier, it puts the private WAN IP in there as its identifier. racoon would still find it by matching the public IP where the request was initiated (probably technically incorrect). But strongswan has to find a match to the ID being sent by the other side, it won't fall back to "eh, you're coming from X IP and I have a match there, so that's good enough."
-
All firewall rules are correct?
I am fairly sure they are since either Phase 2 will work without me changing anything just depending on which one I initiate traffic over first. Send a ping via Phase 2 No1 and it is active and working and No2 is not. Only shows Bytes In and No Bytes Out. Send a ping via Phase 2 No2 first and it works with No1 failing and showing Bytes In and no Bytes Out.
sysctl net.inet.ipsec.debug=0xffffff and dmesg -a
This produced no difference in the output before or after trying to send traffic on the failed route or after restarting ipsec.
-
Ok the last thing to verify is if you see the packets with tcpdump/packet capture on enc0 interface on both cases be it receiving a reply or not.
If you can see both ping requests through enc when sending traffic but not receive reply would mean some issues with phase2 to be looked at. -
Thanks everyone for all the help but in the end I am going to have to go back to 2.1.5. 2.2 is just not ready. I have 3 show stoppers that I see no resolution for:
Unable to boot with Error Code = 19 although I am able to format and install it just fails to boot. (This is a new SuperMicro D525 so should work)
More than 1 Phase 2 in a IPSec Site to Site will not work on either IKEv1 or IKEv2.
IPSec traffic regularly stops and the only solution is to bounce the connection.